Net Eng

[CKA] - Static Pod 생성하기 본문

Cloud/Kubernetes

[CKA] - Static Pod 생성하기

欲心 2024. 1. 18. 09:24

Static Pod 란?

- kubernetes 클러스터에 직접 정의된 Pod, 일반적으로 API 서버에 의해 생성되지 않는다.

- kubelet에 의해 관리되는 Pod

- 지정된 노드에 관리용으로 생성되어야 하는 파드를 기동할 때 사용한다.

 

Manifest 파일

정적 Pod을 정의하기 위해서는 해당 Pod의 구성을 담은 manifest 파일이 필요합니다. 이 파일은 보통 YAML 또는 JSON 형식으로 작성되며, Pod의 메타데이터, 컨테이너, 볼륨 및 기타 설정을 정의합니다.

 

kubelet의 디렉토리 

정적 Pod을 실행하려면 kubelet이 정적 manifest 파일을 읽을 수 있는 디렉토리를 설정해야 합니다. 이 디렉토리는 일반적으로 kubelet의 구성 파일에 정의되어 있습니다.

 

/var/lib/kubelet/config.yaml 파일

Static Pod의 경로(ex: staticPodPath: /etc/kubernetes/manifests)

 


 

[문제]

Q. Configure kubelet hosting to start a pod on the node

TASK:

- Node: node01

- Pod Name: web

- Image: nginx


 

[풀이]

kubectl get nodes

현재 node 확인

kubectl run web --image=nginx --dry-run=client -o yaml

* dry-run으로 yaml 파일을 추출

 

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: web
  name: web
spec:
  containers:
  - image: nginx
    name: web
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

 

ssh node01

* node01에 접속

 

sudo -i

* 관리자 권한

 

cat /var/lib/kubelet/config.yaml

* config.yaml 파일 확인

 

staticPodPath: /etc/kubernetes/manifests

* staticPodPath 확인

 

cd /etc/kubernetes/manifests

* 해당 위치로 이동

 

cat > web-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: web
spec:
  containers:
  - image: nginx
    name: web

 

생성된 Pod 확인

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

[CKA] - Deployment & Pod Scale  (0) 2024.01.19
[CKA] - Side-car Container Pod 생성하기  (0) 2024.01.19
[CKA] - Multi-Container Pod 생성하기  (0) 2024.01.19
[CKA] - Pod 생성하기  (0) 2024.01.18
[CKA] - etcd Backup & Restore  (0) 2024.01.18