-
Kubernetes Serviceskubernetes 2021. 12. 25. 00:10
Service 종류
- ClusterIP
- spec.type 을 명시 하지 않았을때 default 로 적용됨
- 클러스터 내부(node, pod) 에서만 접근 가능(클러스터 외부에서는 접근 불가능)
- NodePort
- 클러스터 내부/외부에서 접근 가능
- pod 이 node1 에만 실행중인 상태에서, node2:nodePort 로도 pod 에 접근 가능 (node2 에는 pod 이 실행중인 상태가 아니더라도)
- LoadBalancer
- ...
NodePort, Port, TargetPort
https://www.bogotobogo.com/DevOps/Docker/Docker_Kubernetes_Pods_Services_Yaml.php
Service 정의하기
service.yml 파일을 작성한다.
Kubernetes Deployment 의 deployment.yml 과 연결될 수 있도록 작성한다.
apiVersion: v1 kind: Service metadata: name: myapp spec: type: NodePort ports: - port: 80 targetPort: 80 nodePort: 30004 selector: app: nginx
Service 생성하기
kubectl apply 로 service.yml 실행
kubectl apply -f service.yml # kubectl create -f service.yml
Service 확인하기
kubectl get all # kubectl get services # kubectl describe services myapp
Service 접속해 보기
minikube service list # minikube service myapp --url
http://192.168.49.2:30004 에 접속해 보면 nginx 화면을 확인할 수 있다.
(30004 port 는 service.yml 에서 nodePort 로 지정된 값)
wsl2 를 이용한다면 아래와 같이 확인한다.
curl http://192.168.49.2:30004
'kubernetes' 카테고리의 다른 글
Kubernetes 실습 - Voting App (0) 2021.12.27 Kubernetes Deployment (0) 2021.12.20 Kubernetes ReplicaSet 생성, 확인, 수정, 삭제하기 (0) 2021.12.20 Kubernetes Pod 생성, 확인, 수정, 삭제하기 (0) 2021.12.11 - ClusterIP