나그네소

kubernetes Pod - static Pod 본문

Cloud/Kubernetes

kubernetes Pod - static Pod

나그네소티 2022. 11. 17. 21:32

Static Pod Kubernets API에게 요청 하지 않고 Node에 바로 생성 요청 한다.

 

1. Pod static Pod 정의

kubernetes API 거치지 않고 POD 생성.
node 특정 디렉토리에 yaml 파일을 두면 해당 Node kuberlet이 yaml파일을 읽어 POD 생성 한다.
  • static pod는 api에게 pod 생성 요청을 하지 않고 바로 node에게 요청을 한다. 
  • static pod는 pod 요청 하면 node로 가고 각각의 노드에는 kubelet이 있는데 해당 node에는 
    지정된 디렉토리가(/dir) 있어 해당 디렉토리에 yaml을 생성 후 pod 생성하고 delete시 해당
    yaml을 삭제하면 알아서 pod가 알아서 삭제하게 된다. 

 

2. static container

  • API 서버 없이 특정  노드에 있는 kubelet 데몬에 의해 직접 관리.
  • /etc/kubernetes/mainfests/디렉토리에 k8s yaml 파일을 저장 시 적용 됨 //node에 있는 디렉토리
    해당 디렉토리에 내가 생성 하고 싶은 yaml 파일을 놓으면 해당 node에 알아서 pod가 생성되고
    삭제 하면 알아서 pod가 삭제 된다. 
  • static pod 디렉토리 구성
#vi /var/lib/kubelet/config.yaml
...
staticPodPath: /etc/kubernetes/mainfests

디렉토리 수정 시 kubelet 데몬 재실행
# systemctl restart kubelet

 

3. static pod 생성 예제

*  node 1 이동
* /var/lib/kubelet/config.yaml // staticPodPath확인
kuber-node1:/home/son_kube] cd /etc/kubernetes/manifests

kuber-node1:/etc/kubernetes/manifests] cat > nginx.yaml
apiVersion: v1
kind: Pod
metadata:
  name: my-nginx
spec:
  containers:
    - name: my-nginx
      image: nginx
      ports:
      - containerPort: 80
      
* pod 관련 내용 확인
kuber-master:/home/son_kube] k get pods -o wide --watch
my-nginx-kuber-node1               0/1     Pending   0             0s    <none>         kuber-node1   <none>           <none>
my-nginx-kuber-node1               0/1     ContainerCreating   0             14s   <none>         kuber-node1   <none>           <none>
my-nginx-kuber-node1               0/1     Terminating         0             14s   <none>         kuber-node1   <none>           <none>
my-nginx-kuber-node1               0/1     Terminating         0             14s   <none>         kuber-node1   <none>           <none>
my-nginx-kuber-node1               0/1     Pending             0             0s    <none>         kuber-node1   <none>           <none>
my-nginx-kuber-node1               1/1     Running             0             3s    10.244.1.240   kuber-node1   <none>           <none>
my-nginx-kuber-node1               0/1     Completed           0             101s   10.244.1.240   kuber-node1   <none>           <none>
my-nginx-kuber-node1               0/1     Terminating         0             102s   10.244.1.240   kuber-node1   <none>           <none>
my-nginx-kuber-node1               0/1     Terminating         0             102s   10.244.1.240   kuber-node1   <none>           <none>

 

'Cloud > Kubernetes' 카테고리의 다른 글

Kubernetes POD 환경 변수 설정 하기  (0) 2022.11.18
kubernetes Pod Resource 조절 하기  (0) 2022.11.17
kubernetes init container pod  (0) 2022.11.09
kubernetes livenessProbe  (0) 2022.11.09
kubernetes POD 동작 Flow  (0) 2022.11.09