반응형
서버는 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
반응형
'요즘공부' 카테고리의 다른 글
Visual Studio Code로 서버 ssh 접속방법 및 사용방법 (0) | 2025.04.04 |
---|---|
[도커&쿠버네티스] 교육 4일차_ 쿠버네티스 설치2 (0) | 2025.04.03 |
[도커&쿠버네티스] 교육 4일차_ 쿠버네티스 설치1 (0) | 2025.04.01 |
[도커&쿠버네티스] 교육 3일차_ Docker harbor, docker compose (0) | 2025.03.26 |
[도커&쿠버네티스] 교육 3일차_ Docker 서버 2개 운용 (0) | 2025.03.18 |