작성
·
51
0
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다.
다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다!
[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://www.inflearn.com/blogs/1719)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
5. vagrant up
에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다.
(https://inf.run/Ljaer)
[질문 하기]
k apply -f ./w1-affinity-leader.yaml
k apply -f ./deployment-podAffinity.yaml
k get po -o wide # w1에만 배포 확인
k apply -f ./w3-affinity-leader.yaml
안녕하세요
현재 위와 같이 실습 중 w3-affinity-leader 가
계속 pending 상태인데 어떻게 해결해야 할지 몰라 질문드립니다.
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# cat w3-affinity-leader.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
run: sleepy
affinity: leader
name: w3-affinity-leader
spec:
containers:
- image: sysnet4admin/sleepy
name: sleepy
nodeSelector:
kubernetes.io/hostname: w3-k8s
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k describe po w3-affinity-leader
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 12s (x2 over 5m29s) default-scheduler 0/4 nodes are available: 1 node(s) had untolerated taint {DB: customer-info}, 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }, 2 node(s) didn't match Pod's node affinity/selector. preemption: 0/4 nodes are available: 4 Preemption is not helpful for scheduling.
답변 5
0
다시 처음부터 설치를 진행해보았는데요
컴퓨터 사양 때문인지 w3만 NotReady 상태에서 머무느라(sleep 10분 초과) 다른 설정이 제대로 되지 않은거 같습니다.
w2까지 설치 후 w3 노드 만 재설치 하니 정상 작동 되네요
혹시 metallb 설정이 영향을 미쳤을지 질문드립니다.
0
w3-k8s가 현재 비정상적인게 맞는거 같네요
다른 deployment 예재로 replicas를 12개 까지 늘려도 w3-k8s에만 배포가 안되고 있어서요
현재 다시 시작을 해보아도 w3-k8s에는 똑같은 문제가 발생하는데
VirtualBox 재시동과 w3-k8s에서 systemctl restart kubelet
두 방법 시도해보았습니다.
음 w3-k8s를 다시 시작해도 문제가 해결되지 않는다면
복잡할 것 같은데...어떤 작업이 w3-k8s에서 이루어졌는지 확인하기 어려워서요.
만약 그렇다면 다시 배포하는 것이 가장 좋은 해결책일 것 같습니다.
(w3-k8s만 다시 배포해도 괜찮습니다.)
0
추가로 알려주신 내용 확인 및 공유 드립니다.
w1-k8s, w2-k8s 모두 적용이 잘되는데 이상하게 w3-k8s만 적용이 안되네요...
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get node --show-labels
NAME STATUS ROLES AGE VERSION LABELS
cp-k8s Ready control-plane 9d v1.30.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=cp-k8s,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
w1-k8s Ready <none> 9d v1.30.1 accelerator=tesla-a100,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,gpupool=nvidia,kubernetes.io/arch=amd64,kubernetes.io/hostname=w1-k8s,kubernetes.io/os=linux,topology.kubernetes.io/region=ap-northeast-2,topology.kubernetes.io/zone=ap-northeast-2a
w2-k8s Ready <none> 9d v1.30.1 accelerator=tesla-v100,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,gpupool=nvidia,kubernetes.io/arch=amd64,kubernetes.io/hostname=w2-k8s,kubernetes.io/os=linux,topology.kubernetes.io/region=ap-northeast-2,topology.kubernetes.io/zone=ap-northeast-2a
w3-k8s Ready <none> 9d v1.30.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,diskint=nvme,inmemory=redis,kubernetes.io/arch=amd64,kubernetes.io/hostname=w3-k8s,kubernetes.io/os=linux,topology.kubernetes.io/region=ap-northeast-2,topology.kubernetes.io/zone=ap-northeast-2b
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get deployments.apps --show-labels
NAME READY UP-TO-DATE AVAILABLE AGE LABELS
deploy-podaffinity 4/4 4 4 90s app=deploy-podaffinity
nfs-provisioner-nfs-subdir-external-provisioner 1/1 1 1 8m5s app.kubernetes.io/managed-by=Helm,app=nfs-subdir-external-provisioner,chart=nfs-subdir-external-provisioner-4.0.2,heritage=Helm,release=nfs-provisioner
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get po --show-labels
NAME READY STATUS RESTARTS AGE LABELS
deploy-podaffinity-b694cd868-2ks7v 1/1 Running 0 99s app=deploy-podaffinity,pod-template-hash=b694cd868
deploy-podaffinity-b694cd868-fd8rg 1/1 Running 0 99s app=deploy-podaffinity,pod-template-hash=b694cd868
deploy-podaffinity-b694cd868-vdqvb 1/1 Running 0 99s app=deploy-podaffinity,pod-template-hash=b694cd868
deploy-podaffinity-b694cd868-zljbl 1/1 Running 0 99s app=deploy-podaffinity,pod-template-hash=b694cd868
net 1/1 Running 1 (135m ago) 2d18h <none>
nfs-provisioner-nfs-subdir-external-provisioner-bcb4c56bc-5776g 1/1 Running 0 8m14s app=nfs-subdir-external-provisioner,pod-template-hash=bcb4c56bc,release=nfs-provisioner
w1-affinity-leader 1/1 Running 0 104s affinity=leader,run=sleepy
w3-affinity-leader 0/1 Pending 0 88s affinity=leader,run=sleepy
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get node --show-labels
NAME STATUS ROLES AGE VERSION LABELS
cp-k8s Ready control-plane 9d v1.30.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=cp-k8s,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
w1-k8s Ready <none> 9d v1.30.1 accelerator=tesla-a100,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,gpupool=nvidia,kubernetes.io/arch=amd64,kubernetes.io/hostname=w1-k8s,kubernetes.io/os=linux,topology.kubernetes.io/region=ap-northeast-2,topology.kubernetes.io/zone=ap-northeast-2a
w2-k8s Ready <none> 9d v1.30.1 accelerator=tesla-v100,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,gpupool=nvidia,kubernetes.io/arch=amd64,kubernetes.io/hostname=w2-k8s,kubernetes.io/os=linux,topology.kubernetes.io/region=ap-northeast-2,topology.kubernetes.io/zone=ap-northeast-2a
w3-k8s Ready <none> 9d v1.30.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,diskint=nvme,inmemory=redis,kubernetes.io/arch=amd64,kubernetes.io/hostname=w3-k8s,kubernetes.io/os=linux,topology.kubernetes.io/region=ap-northeast-2,topology.kubernetes.io/zone=ap-northeast-2b
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get po
NAME READY STATUS RESTARTS AGE
deploy-podaffinity-b694cd868-2ks7v 1/1 Running 0 2m10s
deploy-podaffinity-b694cd868-fd8rg 1/1 Running 0 2m10s
deploy-podaffinity-b694cd868-vdqvb 1/1 Running 0 2m10s
deploy-podaffinity-b694cd868-zljbl 1/1 Running 0 2m10s
net 1/1 Running 1 (136m ago) 2d18h
nfs-provisioner-nfs-subdir-external-provisioner-bcb4c56bc-5776g 1/1 Running 0 8m45s
w1-affinity-leader 1/1 Running 0 2m15s
w3-affinity-leader 0/1 Pending 0 119s
느낌오브 느낌으로는 w3-k8s가 어느한 이유로 비정상적일꺼 같은데요.
k get po -o wide로 w3-k8s에 배포된 파드가 있는지 확인하고 없다면
가장 쉬운 해결책은 w3-k8s를 다시 시작해 보시는거 추천드립니다.
해보고 말씀 부탁드려도 될까요?
0
안녕하세요
우선 확인해 보면 좋을 내용이
k get node
k get po,svc -A
일 것 같습니다.
제 생각 혹은 예상에는 w3-k8s가 정상처럼 보이지만, calico-node 이슈가 아닐까 생각이 되긴 합니다. (이거 때문에 지금 고민이..)
위의 것대로 실행하셨다면
kubectl rollout restart ds calico-node -n kube-system
를 실행해 보시겠어요? CNI에 대해서는 좀 고민이 있습니다. ㅠ
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get node
NAME STATUS ROLES AGE VERSION
cp-k8s Ready control-plane 6d23h v1.30.1
w1-k8s Ready <none> 6d23h v1.30.1
w2-k8s Ready <none> 6d23h v1.30.1
w3-k8s Ready <none> 6d23h v1.30.1
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get po,svc -A
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod/deploy-podaffinity-b694cd868-8rggg 1/1 Running 0 3m5s
default pod/deploy-podaffinity-b694cd868-h7nsq 1/1 Running 0 3m5s
default pod/deploy-podaffinity-b694cd868-hzxrw 1/1 Running 0 3m5s
default pod/deploy-podaffinity-b694cd868-s6vwv 1/1 Running 0 3m5s
default pod/net 1/1 Running 3 (21m ago) 6d22h
default pod/nfs-client-provisioner-6957dcc4d9-bs6zz 1/1 Running 2 (21m ago) 4d1h
default pod/w1-affinity-leader 1/1 Running 0 3m13s
default pod/w3-affinity-leader 0/1 Pending 0 2m52s
kube-system pod/calico-kube-controllers-546f76d588-rbgrs 1/1 Running 3 (21m ago) 6d23h
kube-system pod/calico-node-4w8g4 1/1 Running 3 (21m ago) 6d23h
kube-system pod/calico-node-gkkx2 1/1 Running 3 (21m ago) 6d23h
kube-system pod/calico-node-slrwv 1/1 Running 3 (21m ago) 6d23h
kube-system pod/calico-node-vfmqc 1/1 Running 3 (21m ago) 6d23h
kube-system pod/coredns-7db6d8ff4d-nfnvw 1/1 Running 3 (21m ago) 6d23h
kube-system pod/coredns-7db6d8ff4d-snf5m 1/1 Running 3 (21m ago) 6d23h
kube-system pod/etcd-cp-k8s 1/1 Running 4 (21m ago) 6d23h
kube-system pod/kube-apiserver-cp-k8s 1/1 Running 4 (21m ago) 6d23h
kube-system pod/kube-controller-manager-cp-k8s 1/1 Running 4 (21m ago) 6d23h
kube-system pod/kube-proxy-5qmxr 1/1 Running 3 (21m ago) 6d23h
kube-system pod/kube-proxy-c5jpx 1/1 Running 3 (21m ago) 6d23h
kube-system pod/kube-proxy-m5wtx 1/1 Running 3 (21m ago) 6d23h
kube-system pod/kube-proxy-xsdts 1/1 Running 3 (21m ago) 6d23h
kube-system pod/kube-scheduler-cp-k8s 1/1 Running 4 (21m ago) 6d23h
metallb-system pod/controller-57cf8fbb89-8ctv5 1/1 Running 3 (21m ago) 6d23h
metallb-system pod/speaker-n97pz 1/1 Running 6 (20m ago) 6d23h
metallb-system pod/speaker-t278g 1/1 Running 6 (20m ago) 6d23h
metallb-system pod/speaker-t7wgf 1/1 Running 6 (20m ago) 6d23h
metallb-system pod/speaker-xvqdk 1/1 Running 6 (20m ago) 6d23h
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# kubectl rollout restart ds calico-node -n kube-system
daemonset.apps/calico-node restarted
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k describe po w3-affinity-leader
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 103s default-scheduler 0/4 nodes are available: 1 node(s) had untolerated taint {DB: customer-info}, 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }, 2 node(s) didn't match Pod's node affinity/selector. preemption: 0/4 nodes are available: 4 Preemption is not helpful for scheduling.
안녕하세요
현재 제공해주신 명령어를 실행해보아도 똑같은 오류가 발생하고있습니다.
혹시 궁금해서 그런데 calico-node, CNI 관련해서 어떤 문제인지 답변 괜찮으실까요?
CNI 관련은 간헐적으로 발생하는 문제라 아직 조사 중이고요. calico 간의 인증 같은데 해당 문제가 발생하면 CNI가 동작하지 않으므로 image pull이 되지 않습니다.
그리고 어제 저녁에 확인해 봤는데 다음과 같이 잘 동작합니다.
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
deploy-podaffinity-7ff5d86cd9-9rcn7 1/1 Running 0 2m9s 172.16.221.141 w1-k8s <none> <none>
deploy-podaffinity-7ff5d86cd9-fshf9 1/1 Running 0 2m9s 172.16.221.142 w1-k8s <none> <none>
deploy-podaffinity-7ff5d86cd9-gds4l 1/1 Running 0 2m9s 172.16.221.135 w1-k8s <none> <none>
deploy-podaffinity-7ff5d86cd9-q4gcx 1/1 Running 0 2m9s 172.16.221.144 w1-k8s <none> <none>
w1-affinity-leader 1/1 Running 0 2m32s 172.16.221.140 w1-k8s <none> <none>
w3-affinity-leader 1/1 Running 0 72s 172.16.132.55 w3-k8s <none> <none>
다음과 같이 레이블이 적용되었는지 확인 가능하실까요?
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get node --show-labels
NAME STATUS ROLES AGE VERSION LABELS
cp-k8s Ready control-plane 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=cp-k8s,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
w1-k8s Ready <none> 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=w1-k8s,kubernetes.io/os=linux
w2-k8s Ready <none> 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=w2-k8s,kubernetes.io/os=linux
w3-k8s Ready <none> 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=w3-k8s,kubernetes.io/os=linux
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get deployments.apps --show-labels
NAME READY UP-TO-DATE AVAILABLE AGE LABELS
deploy-podaffinity 4/4 4 4 4m27s app=deploy-podaffinity
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get po --show-labels
NAME READY STATUS RESTARTS AGE LABELS
deploy-podaffinity-7ff5d86cd9-9rcn7 1/1 Running 0 4m33s app=deploy-podaffinity,pod-template-hash=7ff5d86cd9
deploy-podaffinity-7ff5d86cd9-fshf9 1/1 Running 0 4m33s app=deploy-podaffinity,pod-template-hash=7ff5d86cd9
deploy-podaffinity-7ff5d86cd9-gds4l 1/1 Running 0 4m33s app=deploy-podaffinity,pod-template-hash=7ff5d86cd9
deploy-podaffinity-7ff5d86cd9-q4gcx 1/1 Running 0 4m33s app=deploy-podaffinity,pod-template-hash=7ff5d86cd9
w1-affinity-leader 1/1 Running 0 4m56s affinity=leader,run=sleepy
w3-affinity-leader 1/1 Running 0 3m36s affinity=leader,run=sleepy
혹시나 해서 다음의 노드 레이블도 확인이 함께 필요할 것 같습니다.
root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k get node --show-labels
NAME STATUS ROLES AGE VERSION LABELS
cp-k8s Ready control-plane 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=cp-k8s,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
w1-k8s Ready <none> 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=w1-k8s,kubernetes.io/os=linux
w2-k8s Ready <none> 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=w2-k8s,kubernetes.io/os=linux
w3-k8s Ready <none> 20h v1.32.2 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=w3-k8s,kubernetes.io/os=linux
0
안녕하세요, 인프런 AI 인턴입니다. 보르코님께서 겪고 계신 w3-affinity-leader
Pod의 Pending 문제에 대해 도움을 드리겠습니다.
Pod가 Pending 상태로 남아있고, FailedScheduling
이벤트가 발생한 경우는 주로 노드 스케줄링 관련 설정에 문제가 있을 때 발생합니다. 제공해 주신 로그에 따르면 w3-k8s
에 태인트(Taint)가 적용되어 있어서 노드가 스케줄링되지 않고 있는 것으로 보입니다. 해결 방법은 노드의 태인트를 확인하고, 해당 Pod에 적절한 톨러레이션(Toleration)을 추가하여 태인트를 허용해야 합니다.
노드의 태인트 확인:
kubectl describe node w3-k8s
이 명령어를 통해 w3-k8s
노드에 설정된 태인트를 확인하세요. 현재 메시지에 따르면 {DB: customer-info}
라는 태인트가 설정되어 있는 것을 확인할 수 있습니다.
톨러레이션(Toleration)을 Pod에 추가:
w3-affinity-leader.yaml
파일을 편집하여 톨러레이션을 추가합니다. 예를 들어, 태인트 {DB: customer-info}
가 있다면 다음과 같이 설정할 수 있습니다:
”`yaml
spec:
tolerations:
”`
이렇게 하면 Pod는 해당 태인트를 가진 노드에도 스케줄링될 수 있습니다.
Pod 적용 및 상태 확인:
kubectl apply -f w3-affinity-leader.yaml
kubectl get pods -o wide
관련하여 기존 답변이 포함된 질문 게시물을 확인하실 수 있습니다:
- 7.8 실습문의 - Taints와 Tolerations 관리에 대한 유용한 정보들이 담겨 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
음....
k get node 로 노드가 정상적으로 보였다면 (5분이지만 10분 이상 기다려서)
노드 자체에 추후에 배포되는 데몬셋들이 배포되는 것에는 문제가 없었을 것 같습니다.
다만 최악의 경우에 metallb-controller가 w3-k8s에 배포되는 것을 기다리고 있는 경우인데...
이 경우라고 해도 w3에 배포하는 것과는 무관하기 때문에 그것도 원인이 아닌거 같습니다.
성능에 이슈가 있다는 부분이 현재 어디까지 영향을 줄지는 좀 예측하기가 어려운 면이 있네요 ㅠㅠ