2023. 6. 26. 15:26ㆍ기술 창고/Kubernetes
쿠버네티스로 서비스들을 관리하는 기법 중 하나인 Pod 는 간단하게 사용되고 버려지는 용도로 주로 사용됩니다.
따라서 수명도 짧다고 볼 수 있습니다.
또한 외부 브라우저에서 Pod 에 접근할 수 없습니다.
Service는 Pod 보다 더욱 긴 수명을 가지고 있고, Service 는 ip 와 함께 안정되고 고정된 포트를 가지고 있습니다.
이 Service를 Pod 처럼 단독적으로 사용할 수도 있지만 Pod에 부착해서 사용할 수도 있습니다.
Service를 이용하게 되면 Pod를 사용했을 때 외부 브라우저에서 호출했을 당시 접속이 안되던 문제를 브라우저와 Pod 사이에 위치시킴으로서 연결될 수 있게끔 할 수 있습니다.
Pod는 label 이라고 하는 구분값을 가지고 있을 수 있습니다.
일련의 키:값 한 쌍을 만들어서 구분값으로 가지고 있습니다.
위의 예시 이미지를 보게 되면 Pod는 App 이라는 Label에 webapp이라는 값을 가지도록 되어있습니다.
그리고 Service에는 Selector 라는 것을 가지고 있습니다.
Selector 또한 Label 과 같이 일련의 키:값 구조를 이루는 쌍입니다.
쿠버네티스 클러스터가 시실행되는 동안 Service 는 Pod에 있는 키:값 중 자신과 어울리는 것을 찾아냅니다.
즉, 해당 Pod 를 선택해서 연결하는 것입니다.
Service 작성 테스트
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/
우선 문서 사이트에 가서 정보를 확인해봅니다.
Service v1 core 내용을 확인해줍시다.
내용을 확인해보면,
- kind: Service
용도는 Service 임을 명시합니다.
- apiVersion: v1
지원 api 버전은 v1 인 것을 명시합니다.
- metadata:
name: service-example
Service이름은 service-example.
- spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: nginx
type: LoadBalancer
스펙 중 포트는 80번 포트, 연결할 Pod 혹은 container 의 포트는 80, 이름은 http로 지정.
Service의 selector label 은 app 그리고 값은 nginx 이라고 지정.
타입은 로드밸런서로 지정.
이러한 양식으로 Service는 yml 파일로 작성될 것입니다.
이 내용들을 제가 설정할 값들로 변경해서 넣어주면 됩니다.
'기술 창고 > Kubernetes' 카테고리의 다른 글
[Kubernetes] Pod Label 을 활용한 가동 중지 시간 없이 간단하게 배포하는 방법 (0) | 2023.06.26 |
---|---|
[Kubernetes] Service 작성 (0) | 2023.06.26 |
[Kubernetes] Pod 생성 및 실행 (0) | 2023.06.26 |
[Kubernetes] Pods (파드) (0) | 2023.06.26 |
[Kubernetes] docker 와 minikube container 실행 (0) | 2023.06.26 |