서비스 노출

1. 서비스 노출

애플리케이션의 일부의 경우 외부 IP 주소에 서비스를 노출 할 수 있습니다. 쿠버네티스는 이를 수행하는 두 가지 방법 인 NodePortLoadBalancer를 지원 합니다.

kubectl -n my-nginx get svc my-nginx

다음과 같은 결과가 나옵니다.

현재 서비스에 외부 IP가 없으므로 my-nginx 서비스 유형을 ClusterIP 에서 LoadBalancer로 업데이트하여 클라우드 로드 밸런서를 사용하도록 서비스를 수정 해 보겠습니다.

kubectl -n my-nginx patch svc my-nginx -p '{"spec": {"type": "LoadBalancer"}}'

변경 사항을 확인할 수 있습니다.

kubectl -n my-nginx get svc my-nginx

다음과 같은 결과가 나옵니다.

Load Balancer가 DNS에서 사용 가능해 지는데 몇 분 정도 걸릴 수 있습니다.

이제 액세스 할 수 있는지 시도해 보겠습니다.

export loadbalancer=$(kubectl -n my-nginx get svc my-nginx -o jsonpath='{.status.loadBalancer.ingress[*].hostname}')

curl -k -s http://${loadbalancer} | grep title

다음과 같은 결과가 나옵니다.

로드 밸러서 이름이 너무 길어서 표준 kubectl get svc 출력에 맞지 않는 경우 이를 보려면 kubectl describe service my-nginx를 수행해야 합니다.

kubectl -n my-nginx describe service my-nginx | grep Ingress

다음과 같은 결과가 나옵니다.

Last updated