728x90
728x90
Kubespray 로 쿠버네티스 설치하기 프로덕션 레벨에서 배포 가능한 쿠버네티스이다. ansible 플레이북을 사용해서 쉽게 관리할 수 있다. Kubespray 공식 문서: https://kubespray.io/#/ Kubespray 깃허브: https://github.com/kubernetes-sigs/kubespray Kubernetes 공식 문서: https://kubernetes.io/ko/docs/setup/production-environment/tools/kubespray/ (1/5) 아래의 요건 충족하기 언더레이(underlay) 요건을 만족하는 프로비전 한다. Ansible의 명령어를 실행하기 위해 Ansible v 2.9와 Python netaddr 라이브러리가 머신에 설치되어 있어야..
클러스터 버전 업그레이드 1.22.8 → 1.22.9 버전으로 업그레이드 한다. Control Plane 의 kubeadm 업그레이드 Control Plane 의 kubeadm 으로 api, cm, sched 업그레이드 Control Plane 의 kubelet, kubectl 업그레이드 Worker Node 의 kubeadm 업그레이드 Worker Node 의 kubeadm 으로 업그레이드 Worker Node 의 kubelet, kubectl 업그레이드 Control Plane sudo apt-mark unhold kubeadm sudo apt update sudo apt upgrade kubeadm=1.22.9-00 -y sudo apt-mark hold kubeadm sudo kubeadm upg..
버전 차이(skew) 정책 공식 문서: https://kubernetes.io/ko/releases/version-skew-policy/ kubelet 을 제외하고 쿠버네티스 모든 구성 요소들은 컨테이너로 구성되어 있고 버전을 업그레이드 할 때 이미지를 교체하는 것이기 때문에 모든 컨테이너를 종료하고 교체한 이미지로 컨테이너를 띄우기 때문에 쿠버네티스에 다운 타임이 발생한다. 그러면 무중단 시스템을 위해 버전을 업그레이드하기 위해서는 어떻게 해야하는지가 이 문서에 나와 있다. 지원되는 버전 쿠버네티스 버전은 x.y.z 로 표현되는데, 여기서 x 는 메이저 버전, y 는 마이너 버전, z 는 패치 버전을 의미 쿠버네티스 프로젝트는 최근 세 개의 마이너 릴리스 (1.24, 1.23, 1.22) 에 대한 릴리..
고가용성을 위한 Topology 구성 공식 문서: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ha-topology/ Stacked etcd topology 고가용성 구성이란 컨트롤 플레인을 여러 대 두는 것이다. 노드가 api-server 와 통신할 수 있어야 한다. 컨트롤 플레인이 3대라서 api-server 도 3대이다. 로드 밸런서가 없다면 워커 노드에 조인할 때 api-server 의 아이피 주소를 적는데 워커 노드는 해당 api-server 에만 접속이 가능하다. 해당 api-server 가 고장날 경우 해당 노드를 사용하지 못하는 것이다. 그래서 조인을 할 때 api-server 주소를 잡아주는 것이 아니라 lo..
Kubeadm 설치 공식 문서: https://kubernetes.io/ko/docs/setup/ kubeadm 설치 스크립트 sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list apt-cache madison kubeadm ..
Kubernetes 공식 문서: https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/ 쿠버네티스를 사용하는 이유 서비스 디스커버리와 로드 밸런싱 쿠버네티스는 DNS 이름을 사용하거나 자체 IP 주소를 사용하여 컨테이너를 노출할 수 있다. 컨테이너에 대한 트래픽이 많으면, 쿠버네티스는 네트워크 트래픽을 로드밸런싱하고 배포하여 배포가 안정적으로 이루어질 수 있다. 스토리지 오케스트레이션 쿠버네티스를 사용하면 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 자동으로 탑재 할 수 있다. 자동화된 롤아웃과 롤백 쿠버네티스를 사용하여 배포된 컨테이너의 원하는 상태를 서술할 수 있으며 현재 상태를 원하는 상태로 설정한 속도에 따..