kubernetes 클러스터를 단계별로 설치

5273 단어 dockerkubernetescloud
이 게시물은 원래 게시되었습니다here.

머리말



성공하지 못한 채 공식 문서를 따르는 동안 Kubernetes 클러스터를 설치하려고 했습니다. 공식 문서에 몇 가지 중요한 단계가 누락된 것으로 나타났습니다(또는 찾을 수 없는 곳에 누락된 단계를 넣었습니다). 어쨌든 Kubernetes를 시작하고 실행하는 데 어려움을 겪고 있다면 이 단계별 자습서가 적합합니다.

마스터 노드 1개와 작업자 노드 1개로 k8s 클러스터를 설정하겠습니다. 마스터 노드를 시작하고 실행하면 하나 이상의 작업자 노드를 추가하는 데 추가 전문 지식이 필요하지 않습니다.

또한 두 개의 동일한 Ubuntu 18.04 VM을 실행하는 VirtualBox를 사용합니다. 최신 Ubuntu 버전이 제대로 작동할 것 같습니다(테스트하지 않음).

kubernetes 클러스터를 단계별로 설치



다음은 모든 노드에서 실행해야 하는 단계입니다.

1단계: 스왑 비활성화



스왑을 비활성화하려면/etc/fstab에서 swap이 포함된 라인을 제거하면 됩니다.

sudo vim /etc/fstab


스왑으로 줄을 주석 처리하십시오.

2단계: 도커 런타임 설치



 sudo apt-get update
 sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 sudo apt-get update
 sudo apt-get install docker-ce docker-ce-cli containerd.io


3단계: cgroup 구성



루트로 전환하고 실행

cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

systemctl restart docker



4단계: kubeadm, kubelet, kubectl 설치




sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl



이제 모든 노드에서 실행하는 데 필요한 모든 공통 명령입니다. 다음은 마스터 노드에서만 실행하는 명령입니다.

5단계: 마스터 노드 시작




kubeadm init


몇 분 후에 비슷한 메시지가 표시됩니다.



나중에 작업자 노드에서 실행하려면 kubeadm join... 명령을 복사하십시오.

마지막으로 마스터 노드용 네트워크 플러그인을 설치해야 합니다(아주 중요합니다!).

sudo kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(sudo kubectl version | base64 | tr -d '\n')"


마스터 노드가 준비될 때까지 몇 분 동안 기다립니다. 다음을 실행할 수 있습니다.

kubectl cluster-info


마스터 노드의 상태가 Ready가 될 때까지 기다립니다.

6단계: 작업자 노드에서 클러스터 가입



그런 다음 작업자 노드로 전환하고 조인 명령을 실행합니다(kubeadm init 다음에 얻은 명령)

kubeadm join 192.168.1.98:6443 --token 0mfz2s.4xt0waiyfnpxiyt9 \
        --discovery-token-ca-cert-hash sha256:12e48d3bbfb435536618fc293a77950c13ac975fbea934c49c39abe4b7335ce1


마스터 노드로 돌아가서 실행

watch kubectl get nodes


클러스터를 감시하고 몇 분 후에 모든 노드가 준비되었는지 확인해야 합니다.


축하합니다! kubernetes 클러스터를 성공적으로 설정했습니다.

좋은 웹페이지 즐겨찾기