인프런 커뮤니티 질문&답변

snatchluck님의 프로필 이미지

작성한 질문수

그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}

6.7.테인트(Taints)와 톨러레이션(Tolerations)

Tolerations 설정

작성

·

265

0

질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다.
다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다!

[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://www.inflearn.com/blogs/1719)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

[질문 하기]

안녕하십니까? 강사님. 한가지 궁금한 점이 있어서 이렇게 게시판에 글을 남기게 되었습니다.

강의 내용 : CH6/6.7 테인트와 톨러레이션 관련.

6.7 실습을 진행하던 중 daemonset-w-tolerations.yaml

를 수행을 했을때 저는 Master Node로 할당이 되지 않고 계속 worker Node로만 생겨서 4-5회 정도 delete -f

apply -f 를 연달아 진행을 했는데도 계속 worker Node로만 할당이 되었습니다.

그래서 k cordon으로 하나의 Worker Node를 막아 놓고 한번 돌려볼까 했는데 오히려 그 Worker Node로도 막히지 않고 pod가 생성이 되고 Master는 여전히 배포가 되지 않았습니다. 도무지 왜 그런지 찾기가 어려워서 뭔가 제 실습에 문제가 있었던 것인지 좀 궁금해서 게시판에 글을 올리게 되었습니다. 아래 상황 로그를 같이 첨부합니다.

정리하면

  1. k apply -f daemonset-w-tolerations.yaml

    master로는 할당이 되지 않음.

  2. worker Node 3번에 cordon 명령으로 하나를 막아두고 진행하였으나 여전히 master로 할당되지 않고 Worker Node 3번에도 여전히 할당됨.

    (cordon 테스트 시에는 잘 되었었는데 Toleratation Yaml 파일 실행시에는 이런 현상이 보임)

[root@m-k8s 6.7]# k get node

NAME STATUS ROLES AGE VERSION

m-k8s Ready control-plane 221d v1.25.1

w1-k8s Ready <none> 221d v1.25.1

w2-k8s Ready <none> 221d v1.25.1

w3-k8s Ready,SchedulingDisabled <none> 221d v1.25.1

[root@m-k8s 6.7]# ls -trl

total 20

-rwx------. 1 root root 409 Apr 18 18:22 init-taints.sh

-rw-r--r--. 1 root root 432 Apr 18 18:22 deployment-w-tolerations.yaml

-rw-r--r--. 1 root root 760 Apr 18 18:22 deployment-w-tolerations-nodeaffinity.yaml

-rw-r--r--. 1 root root 337 Apr 18 18:22 deploy-after-taints.yaml

-rw-r--r--. 1 root root 427 Apr 18 18:22 daemonset-w-tolerations.yaml

[root@m-k8s 6.7]# k apply -f daemonset-w-tolerations.yaml

daemonset.apps/daemonset-w-tolerations created

[root@m-k8s 6.7]#

[root@m-k8s 6.7]#

[root@m-k8s 6.7]# k get po -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

daemonset-w-tolerations-dhh6c 1/1 Running 0 6s 172.16.103.140 w2-k8s <none> <none>

daemonset-w-tolerations-ktvjb 1/1 Running 0 6s 172.16.132.21 w3-k8s <none> <none>

daemonset-w-tolerations-t48fx 1/1 Running 0 6s 172.16.221.144 w1-k8s <none> <none>

net 1/1 Running 0 4h7m 172.16.103.133 w2-k8s <none> <none>

nfs-client-provisioner-fdccb6545-6wgnw 1/1 Running 0 22h 172.16.221.137 w1-k8s <none>

답변 2

1

snatchluck님의 프로필 이미지
snatchluck
질문자

아 네 답변 감사드립니다. 보강 강의를 보면서 해결해 보도록 하겠습니다. 감사합니다.

0

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

안녕하세요

본 강의는 v1.22에 맞춰져 있습니다.

그래서 v1.25에는 동작하지 않는 부분들이 있습니다. 현재 동작하지 않는게 그러한 이유인데요
(이거 말고도 꽤 있을텐데....)

그래서 API 또는 쿠버네티스 버전은 호환성면에서 중요합니다.

우선 해결책은 알기 위해서는 이 보강 강의를 보시면 좋으실꺼 같고요.

https://www.inflearn.com/course/lecture?courseSlug=%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4&unitId=121771

요약하자면 master가 아니라 control-plane으로 지정해 주어야 합니다.

v1.25에서 하시려면 위의 내용을 참고하시어 진행해 보시길 바랍니다.