개요
본 post는 인프런의 "쿠버네티스-쉽게시작"을 기반으로 작성 되었습니다.
배포 방식
master-node에서 kubectl을 이용하여 Pod형태로 worker-node에 배포하는 방식
Pod 정의
1. 정의
- 특정한 일을 하기위해 필요한 것을 모아서 묶어 놓은 단위 입니다.
Ex) Webserver를 구성하기 위해서 pod를 구성한다고하면, tomcat container + mysql container로 구성할 수 있습니다.
2. 구성
1) container
- pod안에는 다수의 container가 존재 할 수 있습니다.
2) 볼륨
- 데이터를 저장하는 곳
Pod 배포
1. pod 배포 명령어
#kubectl run "pod이름" --image="pod 생성에 사용할 image"
Ex) #kubectl run nginx --image=nginx
배포된 Pod 확인
1. 배포된 pod 확인
#kubectl get pod -o wide
Pod 외부 접속
1. nodeport
- service(SVC)의 nodeport를 이용하여 외부에서 pod의 접근을 할 수 있게 해줍니다.
- 물리 Node(VM, 혹은 Baremetal)의 특정 Port를 이용하여 내부 POD와 통신하는 방법을 의미합니다
- 서비스에서 NodePort를 사용하기 위해서는 spec.type 부문을 NodePort로 변경하면 됩니다.
- 명령어 예제)
#kubectl expose pod nginx --type=NodePort --port=80 #kubectl get service
2. LoadBalancer
- service(SVC)의 LoadBalancer 이용하여 외부에서 pod의 접근을 할 수 있게 해줍니다.
- 외부에서 들어오는 Traffic 등을 별도의 외부 Object를 통하여 Traffic을 분산시키는 것을 LoadBalancer라고 합니다.
3. ingresss
- Ingress는 실제로 서비스 유형이 아닙니다. 대신 여러 서비스 앞에 위치하며 클러스터에 대한 "스마트 라우터" 또는 진입점 역할을 합니다.
참조
'Cloud > k8s' 카테고리의 다른 글
[kubernetes] kubernetes의 Object (0) | 2022.08.08 |
---|---|
[kubernetes] service, deployment, pod, Loadbalancer 삭제 (0) | 2022.05.24 |
[kubernetes] Deployment외부 노출 방법 NodePort, LoadBalancer (0) | 2022.05.23 |
[kubernetes] pod와 deployment 차이 (0) | 2022.05.23 |
[kubernetes] 동작 환경 구축 (0) | 2022.05.17 |