작성
·
29
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.
답변 2
0
안녕하세요
우선 확인해 보면 좋을 내용이
k get node
k get po,svc -A
일 것 같습니다.
제 생각 혹은 예상에는 w3-k8s가 정상처럼 보이지만, calico-node 이슈가 아닐까 생각이 되긴 합니다. (이거 때문에 지금 고민이..)
위의 것대로 실행하셨다면
kubectl rollout restart ds calico-node -n kube-system
를 실행해 보시겠어요? 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 관리에 대한 유용한 정보들이 담겨 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
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 관련해서 어떤 문제인지 답변 괜찮으실까요?