CKA 공부 14일차

Kubernetes Software Versions

  • kubectl get nodes를 입력하면 k8s의 버전을 확인할 수 있다.

  • 쿠버네티스의 버전은 v.1.2.3은 MAJOR - MINOR - PATCH 버전으로 나뉜다.

  • 마이너 릴리즈를 통해 계속 업데이트를 해나가고, 첫 메이저 버전 1.0은 2015년 7월

  • kube-apiserver, controller-manager 등의 컴포넌트들은 k8s 버전과 같은 버전을 가지지 않을 수도 있다.

  • 그 예로 ETCD CLUSTERCoreDNS는 독자적인 버전 체계를 갖는다.

Cluster Upgrade Process

  • 이번 시간에는 클러스터 업그레이드 프로세스에 대해 알아보자.

  • 쿠버네티스는 최소 하위 2버전까지 지원해준다.

  • 이 말은 즉슨 현재 버전이 v1.10버전이라면 이 버전은 v1.13이 나오는 순간 v1.10을 지원하지 않게 된다는 뜻이기도 하다.

  • 이 때 우리는 쿠버네티스 버전을 업그레이드 해주기 좋은 때이다.

  • 쿠버네티스에서는 v1.10 -> v1.13으로 바로 가기 보다는 마이너버전을 하나씩 점진적으로 올리기를 권장한다.

  • 그러면 어떻게 버전 업데이트를 할 수 있을까?

  • 우선 마스터 노드를 먼저 업데이트해야한다. 이 시간 동안 유저는 서비스르 정상적으로 사용할 수 있지만 kube-api-server에서 파드를 생성-업데이트-삭제 하는 등의 작업은 불가능하다.

  • 워커노드를 업데이트 하는 가장 쉬운 첫 번째 전략은 모든 노드를 동시에 업데이트 하는 것이다. 이렇게 하면 유저는 업데이트 시간 동안 접근할 수 없게 된다.

  • 두 번째 전략은 하나씩 업데이트하는 것이다. 업그레이드 동안 해당 노드의 파드는 다른 노드에서 배치되어 서비스될 것이다.

  • 세 번째 전략은 새로운 노드를 추가하는 것이다. 새롭게 만든 노드는 최신 버전일 것 이며(마스터 노드와 동일) 그리고 해당 노드로 파드를 옮기고 예전 버전의 노드를 지워버리는 방법도 있다.

  • kubeadm을 사용해 클러스터를 업그레이드해보자.

  • kubeadm 명령어를 사용해 업그레이드를 해볼 수 있다.





© 2022. by minkuk

Powered by minkuk