VMWare에 바닐라 쿠버네티스 실습 환경 구축하기 #3

ssongkim·2022년 6월 22일
0

쿠버네티스

목록 보기
3/3
post-thumbnail

Overview

이전까지 모든 노드들에게 공통 사항으로 적용될 작업을 해주어 템플릿을 만들고 해당 템플릿으로 마스터노드1개, 워커노드 2개로 노드들을 생성해 고정 아이피와 hostname을 지정해주는 작업까지 진행해주었습니다.

이번 시간에는 해당 노드들로 쿠버네티스 클러스터를 구성해보겠습니다.

1. 마스터노드

마스터노드를 설정하다 다시 처음으로 리셋시키고 싶다면 모든 노드에 kubeadm reset 명령어를 수행하면 됩니다. 수행 전에 모든 노드에 $HOME/.kube 디렉토리를 전부 삭제해주고 진행해주세요.
(이 명령어는 CNI 설정까지 초기화해주지는 않습니다.)

1-1 kubeadm init

sudo kubeadm init

이 명령어를 이용해 마스터노드를 세팅합니다. kubeadm init은 마스터노드에서만 해야합니다 !

만약 이와 같은 에러가 뜬다면 스왑off 설정이 제대로 이루어지지 않은 것이므로 확인해야합니다.

그럼에도 이와같은 에러가 뜬다면 다음 아래의 명령어를 차례대로 수행합니다.

sudo rm /etc/containerd/config.toml
sudo systemctl restart containerd
sudo kubeadm init

성공할경우 다음과 같이 뜨게 됩니다. 다음 작업을 수행해달라고 안내하고 있습니다.

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

또한 각각의 워커노드에서 다음을 실행해달라고 하네요. join 명령어로 클러스터에 합류하는 명령어입니다. 아래의 명령어는 마스터노드에서 하는 게 아니고 워커노드에서 실행해야합니다.

kubeadm join 192.168.2.128:6443 --token 0rn4ne.9kqi16tyu246vf6m \
        --discovery-token-ca-cert-hash sha256:6adfe80c64d48b4da3f172dcdb0e772db77935fc3a2d044fadb936e499975fc3

2. 워커노드

sudo kubeadm join 192.168.2.128:6443 --token 0rn4ne.9kqi16tyu246vf6m \
        --discovery-token-ca-cert-hash sha256:6adfe80c64d48b4da3f172dcdb0e772db77935fc3a2d044fadb936e499975fc3

마스터 노드에서 init 시 안내됐던 join 명령어를 복사해서 워커노드들에서 실행합니다.


이게 뜬다면 아래의 명령어를 수행 후 작업합니다.

sudo rm /etc/containerd/config.toml
sudo systemctl restart containerd


join에 성공하면 다음과 같은 메시지가 뜹니다. 마스터노드에서 해당 명령어를 쳐서 노드가 정상적으로 조인됐는지 확인해봅시다.

Join 확인

kubectl get nodes

마스터노드에서 다음과 같은 명령어를 쳤더니 아래와 같이 노드가 잘 확인되는 것을 알 수 있습니다.

하지만 STATUS가 NotReady입니다. 왜냐하면 Pod network 구성이 이루어지지 않았기 때문입니다.

마스터노드에서 init할 때 뜨는 메시지를 보니 클러스터에 링크로 제공된 사이트에서 리스트를 확인해서 알맞는 pod network를 deploy 해야한다고 떴었네요.

3. deploy pod network

마스터노드 init 시 제공됐던 링크 https://kubernetes.io/docs/concepts/cluster-administration/addons/ 로 들어가서 여러 플러그인 중 weave net을 사용해보겠습니다.

클릭합니다.

복사해서 마스터노드에 붙여넣기해서 deploy합니다.

쿠버네티스 클러스터 구성 완료

다음과 같이 모든 노드의 상태가 Ready로 바뀌며 정상적으로 클러스터 구성이 된 것을 확인할 수 있습니다.



nginx를 띄워보고 브라우저로 접속까지 확인하였습니다.

참고자료

인프런 - 데브옵스(DevOps)를 위한 쿠버네티스 마스터

profile
鈍筆勝聰✍️

5개의 댓글

comment-user-thumbnail
2023년 2월 21일

성공 할 경우 수행 하는 작업은 일반 계정으로 하면 되나요?

1개의 답글
comment-user-thumbnail
2023년 2월 21일

kubeadm join 192.168.100.11:6443
이 명령어를 다시 실행하려고 하는데
재등록하는 방법 있을까요?
워커노드 3번 등록하는데 호스트 네임변경을 안하고 등록했네요;;;

1개의 답글
comment-user-thumbnail
2023년 3월 4일

감사합니다. 여러 에러 상황에 대해 자세히 설명이 되어있어서 쉽게 따라할 수 있었습니다.

답글 달기