-
[산대특] K8s 의 Pod, Labels, Deployment, Service[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정/Cloud 2024. 11. 12. 17:35
1112
Pod == 유사 VLAN == K8s 의 기본 단위 == 컨테이너를 실행하는 최소 단위
Pod 내의 Container 들은 Name space를 서로 공유하기 때문에 내부 주소로 연결 가능.
=> 외부에서 연결하고자 하면 ClusterIP 로 고정 IP를 주는 Service 를 이용해야 한다.
Pod 는 Service 와 연결 => Pod 의 IP는 유동적이여서
Pod 는 프로세스여서 일시적인 존재 => 이전 변경 은 남지 않는다.
Name space 가 같지 않으면 서로 다른 네트워크
Pod 상태 [ kubectl get pods -o wide ]
ContainerCreating 이미지를 다운 중이거나 컨테이너 생성 중
OR 컨피그 맵과 시크릿이 마운트 되지 않았을 수 있는 상태CrashLoopBackOff 파드 내의 컨테이너가 시작과 비정상 종료를 반복하는 상태,
오류가 가장 많이 보인다.Pending 파드 생성 요구를 받았지만
하나 이상의 컨테이너가 생성되지 않은 대기 상태Running 파드의 모든 컨테이너가 생성되어 실행 중인 상태 Terminating 컨테이너 종료 시그널을 보낸 뒤
컨테이너가 종료할 때까지 대기 중인 상태로 종료 중인 상태Succeeded 파드 내의 모든 컨테이너가 정상적으로 종료한 상태 Completed 파드 내의 컨테이너에서 첫 번째 컨테이너가 정상적으로 종료한 상태 Error 컨테이너가 이상 종료된 경우.
첫 번째 컨테이너가 이상 종료되면 표시됨Failed 파드 내에 적어도 하나의 컨테이너가 이상 종료한 상태 Unknown 파드의 상태를 알 수 없는 상태 kubectl delete pod 삭제하려는pod이름 => 기본 유예 30초
kubectl delete pod 삭제하려는pod이름 --grace-period=60 => 60초
kubectl get pods 하면 유예상태가 Terminating 으로 보인다.
Labels
부가적인 리소스 정보 표현, 오브제를 묶어 오브제끼리 이을 때 사용. like puzzle
여기서 labels 저렇게 사용
Deployment
Deployment 가 RS(ReplicaSet) 배포
RS가 Pod 를 배포
그래서 Deployment 는 RS 를 배포하고 관리하는 기능
Deployment -> RS -> Pod
Deployment 를 생성하면 RS 생성할 필요 X
Deployment 를 사용하는 이유
Apps 의 Rollback or 무중단 업데이트, 배포가 RS 보다 더 편리
Service
내부 Pod를 외부에 노출 및 연결해주는 기능.
외부서 Pod 로 연결하고 싶다면, Service로 고정 IP 주소 연결, Service yaml 에서 매칭되는 Label 로 연결 하면 된다.
Service 타입
ClusterIP 내부에서 파드에 접근할 때 사용. 외부로 파드를 노출 X NodePort 파드에 접근할 수 있는 포트를 모든 노드에게 동일하게 개방.
외부에서 파드에 접근 OLoadBalancer 로드밸런서를 동적으로 구성해서 파드에 연결.
AWS, GCP 등에서만 사용 가능'[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정 > Cloud' 카테고리의 다른 글
[산대특] OpenStack (0) 2024.11.14 [산대특] Pod 에 접속, ExternalName Service, Namespace, ConfigMap, Secret, Network Volume[NFS, PV] (0) 2024.11.13 [산대특] Vagrant kubectl, yaml, Core Process, Component, API (1) 2024.11.11 [산대특] Vagrant, Kubectl (0) 2024.11.11 [산대특] Docker Swarm type=volume/bind, Docker Compose, Kubernetes 이론 (2) 2024.11.08