【Kubernetes】 pod에 외부에서 액세스하려면 Service를 사용합니다.
3066 단어 PODkubernetes

안녕하세요. 마유미입니다.
Kubernetes에 대한 기사를 시리즈로 작성
이전 기사에서는 Kubernetes를 사용하여 deployment 객체를 만드는 방법을 썼습니다.
그것에 의해, pod가 만들어져 pod 속에 있는 Container도 실행됩니다만, 지금의 단계에서는 외부로부터 Pod에 액세스 할 수 없습니다.
왜냐하면, pod에 디폴트로 부여되는 IP 주소는 internal IP 주소가 되기 때문입니다.

그렇다면 Cluster 외부에서 Pod에서 응용 프로그램에 액세스하는 방법은 무엇입니까?
이번 기사에서는 그 해결 방법을 쓰고 싶습니다.
(Cluster에 Pod를 만들고 있다는 전제로 이 기사를 쓰고 있습니다. 전회의 기사에서 Pod를 만들어 대시보드에서 Cluster의 상태를 확인하는 곳까지 했으므로, 이번은 그 계속이 됩니다)
그럼 바로 시작하겠네요.
kubectl expose 사용

인용 소스 : Kubernetes 문서
디폴트인 채로는, deployment 오브젝트는 외부로부터 액세스 할 수 없기 때문에
kubectl expose deployment <deployment名> --port=<ポート番号> --type=<タイプ>
그리고 명령을 치고 서비스 개체를 만듭니다.
'expose(공개/노출)'라는 말의 의미대로 expose를 사용하면 객체를 외부에서 액세스할 수 있도록 합니다.
--port 옵션은 컨테이너화된 앱에 열린 포트 번호를 씁니다.
--type=에 쓰는 <유형>은 다음과 같습니다.
--type=ClusterIP(디폴트 유형이며 클러스터 내부에서만 액세스할 수 있음)
--type=NodePort
--type=LoadBalancer
이번에는 위의 세 가지 유형 중 ClusterIP로 외부에서 액세스할 수 없습니다.
트래픽이 늘어나 Pod가 늘어났을 때를 생각해 이번은 LoadBalancer를 타입으로서 쓰려고 합니다.
이제 Service 개체를 만들었습니다.
Service 객체를 살펴 보겠습니다.
kubectl get services

kubectl get services 의 커멘드로 2 개의 오브젝트가 표시되고 있습니다만, 아래의 kubernetes 라고 쓰여지고 있는 것이, 디폴트로 자동적으로 만들어지는 것이 됩니다. 그리고 TYPE도 「ClusterIP」가 되어 있습니다
이전 프로세스에서 만든 service 객체 (여기서는 first-app라는 이름으로 표시됨)에 EXTERNAL-IP 열이 있지만 항상 상태가되어 있으며 extern-IP 주소 사용할 수 없습니다.
하지만 다음 명령으로 지금 만든 service 객체의 세부 사항을 볼 수 있으며 그 안에 외부에서 액세스 할 수있는 IP 주소 정보가 들어 있습니다.
minikube service <serviceオブジェクト名>

안전하게 액세스 할 수있었습니다.

요약
이번 기사는 여기에서 마무리해 주시네요.
다음 기사에서는 Cluster가 충돌했을 때 Kubernetes가 어떻게 대응할 것인가를 쓰려고 생각합니다.
잘 부탁드립니다 \(^o^)/
Reference
이 문제에 관하여(【Kubernetes】 pod에 외부에서 액세스하려면 Service를 사용합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Mayumi_Pythonista/items/7203effbb8b7d3748696
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
kubectl expose deployment <deployment名> --port=<ポート番号> --type=<タイプ>
kubectl get services
minikube service <serviceオブジェクト名>
이번 기사는 여기에서 마무리해 주시네요.
다음 기사에서는 Cluster가 충돌했을 때 Kubernetes가 어떻게 대응할 것인가를 쓰려고 생각합니다.
잘 부탁드립니다 \(^o^)/
Reference
이 문제에 관하여(【Kubernetes】 pod에 외부에서 액세스하려면 Service를 사용합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Mayumi_Pythonista/items/7203effbb8b7d3748696텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)