본문 바로가기
요즘공부

[도커&쿠버네티스] 교육 4일차_ 쿠버네티스 pod 생성

by 게으른 피글렛 2025. 4. 13.
반응형

서버는 kubeadm 으로 생성했던 서버를 사용할 예정

master : 192.168.90.10

worker1 : 192.168.90.20

worker2 : 192.168.90.30

 

 

1. 쿠버네티스 계정 생성

vagrant 계정에 sudo 수정 권한 > 계정생성

#home폴더에 파일 생성
[vagrant@master ~]$ mkdir -p $HOME/.kube

#파일 복사
[vagrant@master ~]$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cp: overwrite '/home/vagrant/.kube/config'?
[vagrant@master ~]$ ls /home/vagrant/.kube/config
/home/vagrant/.kube/config

 

#권한 확인
[vagrant@master ~]$ ls /home/vagrant/.kube/config -l
-rw-------. 1 vagrant vagrant 5657 Mar 30 17:20 /home/vagrant/.kube/config

#권한이 vagrant가 아닐경우 아래 명령어로 소유자를 변경
[vagrant@master ~]$ sudo chown vagrant:vagrant  /home/vagrant/.kube/config
[vagrant@master ~]$ ls /home/vagrant/.kube/config -l
-rw-------. 1 vagrant vagrant 5657 Mar 30 17:20 /home/vagrant/.kube/config

#계정생성
[vagrant@master ~]$ kubectl create serviceaccount myuser
serviceaccount/myuser created
[vagrant@master ~]$ kubectl get sa
NAME      SECRETS   AGE
default   0         6d20h
myuser    0         7s

 

 

2. 쿠버네티스 pod 생성

 

생성

상세 정보를 확인해보면 ip 정보 및 이서버가 어디에 생성이 되었는지 확인 할 수 있음

이 서버의 ip : 10.244.2.2

node는 worker2 

#쿠버네티스에 아파치파드 생성
[vagrant@master ~]$ kubectl run apache --image httpd
pod/apache created

#생성된 파드 확인
[vagrant@master ~]$ kubectl get pods
NAME     READY   STATUS              RESTARTS   AGE
apache   0/1     ContainerCreating   0          17s

#생성된 파드 상세 확인
[vagrant@master ~]$ kubectl get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE    IP           NODE      NOMINATED NODE   READINESS GATES
apache   1/1     Running   0          2m8s   10.244.2.2   worker2   <none>           <none>

#구동 확인
[vagrant@master ~]$ curl 10.244.2.2
<html><body><h1>It works!</h1></body></html>

 

 

여러개의 파드 생성

생성된 파드가 worker1,2 에 분포해있음

#여러개의 파드를 생성
[vagrant@master ~]$ kubectl run apache2 --image httpd
pod/apache2 created
[vagrant@master ~]$ kubectl run apache3 --image httpd
pod/apache3 created
[vagrant@master ~]$ kubectl run apache4 --image httpd
pod/apache4 created
[vagrant@master ~]$ kubectl run apache5 --image httpd
pod/apache5 created

#서버의 위치가 worker1,2 에 고르게 분포되어있음
[vagrant@master ~]$ kubectl get pods -o wide
NAME      READY   STATUS    RESTARTS   AGE     IP           NODE      NOMINATED NODE   READINESS GATES
apache    1/1     Running   0          7m42s   10.244.2.2   worker2   <none>           <none>
apache2   1/1     Running   0          31s     10.244.1.2   worker1   <none>           <none>
apache3   1/1     Running   0          25s     10.244.1.3   worker1   <none>           <none>
apache4   1/1     Running   0          20s     10.244.2.3   worker2   <none>           <none>
apache5   1/1     Running   0          14s     10.244.2.4   worker2   <none>           <none>

 

각 node의 용량 확인

[vagrant@master ~]$ ssh 192.168.90.20 'free -h'
               total        used        free      shared  buff/cache   available
Mem:           3.6Gi       738Mi       1.7Gi        82Mi       1.5Gi       2.9Gi
Swap:             0B          0B          0B
[vagrant@master ~]$ ssh 192.168.90.30 'free -h'
               total        used        free      shared  buff/cache   available
Mem:           3.6Gi       751Mi       1.7Gi        83Mi       1.5Gi       2.8Gi
Swap:             0B          0B          0B

 

worker1에 접속 > 상태 확인

#접속
[vagrant@master ~]$ ssh 192.168.90.20

[vagrant@worker1 ~]$ sudo systemctl status containerd
● containerd.service - containerd container runtime
     Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; prese>
     Active: active (running) since Sun 2025-03-30 17:11:20 KST; 6 days ago
       Docs: https://containerd.io
   Main PID: 6121 (containerd)
      Tasks: 59
     Memory: 530.2M
        CPU: 14min 27.462s
     CGroup: /system.slice/containerd.service
             ├─  6121 /usr/bin/containerd
             ├─  6848 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id c9>
             ├─  6851 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 23>
             ├─355528 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id a4>
             └─355763 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id f3>

Apr 06 15:13:11 worker1 containerd[6121]: {"cniVersion":"0.3.1","hairpinMode":t>
Apr 06 15:13:11 worker1 containerd[6121]: time="2025-04-06T15:13:11.538775221+0>
Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.265378994+0>
Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.278429749+0>
Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.287049715+0>
Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.287283343+0>
Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.301807946+0>
Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.400846559+0>
lines 1-23

 

 

 

#컨테이너 멈춤
[vagrant@worker1 ~]$ sudo systemctl stop containerd

#상태
[vagrant@worker1 ~]$ sudo systemctl status containerd
○ containerd.service - containerd container runtime
     Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; prese>
     Active: inactive (dead) since Sun 2025-04-06 15:21:45 KST; 56s ago
   Duration: 6d 22h 10min 24.376s
       Docs: https://containerd.io
    Process: 6121 ExecStart=/usr/bin/containerd (code=exited, status=0/SUCCESS)
   Main PID: 6121 (code=exited, status=0/SUCCESS)
      Tasks: 50
     Memory: 487.8M
        CPU: 14min 28.839s
     CGroup: /system.slice/containerd.service
             ├─  6848 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id c9>
             ├─  6851 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 23>
             ├─355528 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id a4>
             └─355763 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id f3>

Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.588617223+0>
Apr 06 15:21:45 worker1 systemd[1]: Stopping containerd container runtime...
Apr 06 15:21:45 worker1 containerd[6121]: time="2025-04-06T15:21:45.386308236+0>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Deactivated successfull>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Unit process 6848 (cont>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Unit process 6851 (cont>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Unit process 355528 (co>

 

 

 

[vagrant@worker1 ~]$ sudo systemctl restart kubelet
[vagrant@worker1 ~]$ sudo systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
     Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; preset: >
    Drop-In: /usr/lib/systemd/system/kubelet.service.d
             └─10-kubeadm.conf
     Active: activating (auto-restart) (Result: exit-code) since Sun 2025-04-06>
       Docs: https://kubernetes.io/docs/
    Process: 359072 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELE>
   Main PID: 359072 (code=exited, status=1/FAILURE)
        CPU: 526ms

Apr 06 15:25:37 worker1 systemd[1]: kubelet.service: Main process exited, code=>
Apr 06 15:25:37 worker1 systemd[1]: kubelet.service: Failed with result 'exit-c>
lines 1-12/12 (END)
● kubelet.service - kubelet: The Kubernetes Node Agent
     Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; preset: >
    Drop-In: /usr/lib/systemd/system/kubelet.service.d
             └─10-kubeadm.conf
     Active: activating (auto-restart) (Result: exit-code) since Sun 2025-04-06>
       Docs: https://kubernetes.io/docs/
    Process: 359072 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELE>
   Main PID: 359072 (code=exited, status=1/FAILURE)
        CPU: 526ms

Apr 06 15:25:37 worker1 systemd[1]: kubelet.service: Main process exited, code=>
Apr 06 15:25:37 worker1 systemd[1]: kubelet.service: Failed with result 'exit-c>

[vagrant@worker1 ~]$ sudo systemctl status containerd
○ containerd.service - containerd container runtime
     Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; prese>
     Active: inactive (dead) since Sun 2025-04-06 15:21:45 KST; 4min 44s ago
   Duration: 6d 22h 10min 24.376s
       Docs: https://containerd.io
    Process: 6121 ExecStart=/usr/bin/containerd (code=exited, status=0/SUCCESS)
   Main PID: 6121 (code=exited, status=0/SUCCESS)
      Tasks: 50
     Memory: 487.9M
        CPU: 14min 30.572s
     CGroup: /system.slice/containerd.service
             ├─  6848 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id c9>
             ├─  6851 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 23>
             ├─355528 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id a4>
             └─355763 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id f3>

Apr 06 15:13:14 worker1 containerd[6121]: time="2025-04-06T15:13:14.588617223+0>
Apr 06 15:21:45 worker1 systemd[1]: Stopping containerd container runtime...
Apr 06 15:21:45 worker1 containerd[6121]: time="2025-04-06T15:21:45.386308236+0>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Deactivated successfull>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Unit process 6848 (cont>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Unit process 6851 (cont>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Unit process 355528 (co>
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Unit process 355763 (co>
Apr 06 15:21:45 worker1 systemd[1]: Stopped containerd container runtime.
Apr 06 15:21:45 worker1 systemd[1]: containerd.service: Consumed 14min 28.398s >

 

worker2에 접속 > 상태 확인

#접속
[vagrant@master ~]$ ssh 192.168.90.20

#worker2
[vagrant@worker2 ~]$ sudo systemctl status containerd
● containerd.service - containerd container runtime
     Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; prese>
     Active: active (running) since Sun 2025-03-30 17:15:22 KST; 6 days ago
       Docs: https://containerd.io
   Main PID: 6104 (containerd)
      Tasks: 71
     Memory: 531.0M
        CPU: 11min 37.200s
     CGroup: /system.slice/containerd.service
             ├─  6104 /usr/bin/containerd
             ├─  6707 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 82>
             ├─  6710 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 7b>
             ├─355866 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 6b>
             ├─356100 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 93>
             └─356313 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id a1>

Apr 06 15:13:22 worker2 containerd[6104]: {"cniVersion":"0.3.1","hairpinMode":t>
Apr 06 15:13:22 worker2 containerd[6104]: time="2025-04-06T15:13:22.148663967+0>
Apr 06 15:13:25 worker2 containerd[6104]: time="2025-04-06T15:13:25.333572776+0>
Apr 06 15:13:25 worker2 containerd[6104]: time="2025-04-06T15:13:25.343047150+0>
Apr 06 15:13:25 worker2 containerd[6104]: time="2025-04-06T15:13:25.350672451+0>
Apr 06 15:13:25 worker2 containerd[6104]: time="2025-04-06T15:13:25.350889785+0>
lines 1-22

 

 

 

 

삭제

[vagrant@master ~]$ kubectl delete pod --all
pod "apache" deleted
pod "apache2" deleted
pod "apache3" deleted
pod "apache4" deleted
pod "apache5" deleted

 

 

 

반응형