AWS Load Balancer controller를 클러스터에 추가하는 작업을 수행합니다. 먼저, 인증서 구성을 웹훅에 삽입할 수 있도록cert-manager를 설치합니다.Cert-manager는 쿠버네티스 클러스터 내에서 TLS인증서를 자동으로 프로비저닝 및 관리하는 오픈 소스입니다.
위의 yaml 파일에서--cluster-name=eks-demo로 값을 변경했는지 꼭! 다시 한번 체크해주세요.
AWS Load Balancer controller파일을 배포합니다.
kubectl apply -f v2_4_4_full.yaml
배포가 성공적으로 되고 컨트롤러가 실행되는지 아래의 명령어를 통해 확인합니다. 결과 값이 도출되면 정상임을 의미합니다.
kubectl get deployment -n kube-system aws-load-balancer-controller
또한, 아래의 명령어를 통해,service account가 생성된 것을 확인할 수 있습니다.
kubectl get sa aws-load-balancer-controller -n kube-system -o yaml
클러스터 내부에서 필요한 기능들을 위해 실행되는 파드들을애드온(Addon)이라고 합니다. 애드온에 사용되는 파드들은 디플로이먼트, 리플리케이션 컨트롤러 등에 의해 관리됩니다. 그리고 이 애드온이 사용하는 네임스페이스가kube-system입니다. Yaml 파일에서 네임스페이스를 kube-system으로 명시했기에 위의 명령어로 파드 이름이 도출되면 정상적으로 배포된 것입니다. 또한, 아래의 명령어로 관련 로그를 확인할 수 있습니다.
kubectl logs -n kube-system $(kubectl get po -n kube-system | egrep -o "aws-load-balancer[a-zA-Z0-9-]+")
아래의 명령어로 자세한 속성 값을 파악할 수 있습니다.
ALBPOD=$(kubectl get pod -n kube-system | egrep -o "aws-load-balancer[a-zA-Z0-9-]+")
kubectl describe pod -n kube-system ${ALBPOD}