# NGINX 웹서버 배포 helm repo add bitnami https://charts.bitnami.com/bitnami # 사용 리전의 인증서 ARN 확인 CERT_ARN=$(aws acm list-certificates --query 'CertificateSummaryList[].CertificateArn[]' --output text) echo $CERT_ARN # 도메인 확인 echo $MyDomain 2 # 파라미터 파일 생성 cat < nginx-values.yaml service: type: NodePort ingress: enabled: true ingressClassName: alb hostname: nginx.$MyDomain path: /* annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]' alb.ingress.kubernetes.io/certificate-arn: $CERT_ARN alb.ingress.kubernetes.io/success-codes: 200-399 alb.ingress.kubernetes.io/load-balancer-name: $CLUSTER_NAME-ingress-alb alb.ingress.kubernetes.io/group.name: study alb.ingress.kubernetes.io/ssl-redirect: '443' EOT cat nginx-values.yaml | yh 설명 : alb.ingress.kubernetes.io/ssl-redirect: '443' 위 설정으로 자동으로 80도 들어간다. 콘솔에서 확인하자. 편리해짐. # 배포 helm install nginx bitnami/nginx --version 14.1.0 -f nginx-values.yaml 3 # 확인 kubectl get ingress,deploy,svc,ep nginx kubectl get targetgroupbindings # ALB TG 확인 4 # 접속 주소 확인 및 접속 echo -e "Nginx WebServer URL = https://nginx.$MyDomain" curl -s https://nginx.$MyDomain kubectl logs deploy/nginx -f 5 # 반복 접속 while true; do curl -s https://nginx.$MyDomain -I | head -n 1; date; sleep 1; done 6 # (참고) 삭제 시 helm uninstall nginx 7 사용자는 외부에서 kubectl logs 명령어로 애플리케이션 종류에 상관없이, 애플리케이션마다 로그 파일 위치에 상관없이, 단일 명령어로 조회 가능 ? 컨테이너 이미지 생성시 , 로그 출력이 가능하도록 설정을 했다. 원래는 파드에 들어가서 봐야 한다. 중요 로그를 심볼릭 링크로 걸어서 확인 하는 것이다. 8 표준으로 보내는 것을 권고 https://docs.docker.com/config/containers/logging/ 9 # 로그 모니터링 kubectl logs deploy/nginx -f 10 # nginx 웹 접속 시도 # 컨테이너 로그 파일 위치 확인 kubectl exec -it deploy/nginx -- ls -l /opt/bitnami/nginx/logs/ total 0 lrwxrwxrwx 1 root root 11 Feb 18 13:35 access.log -> /dev/stdout lrwxrwxrwx 1 root root 11 Feb 18 13:35 error.log -> /dev/stderr