Kubernetes docs: Creating a cluster with kubeadm
- 전처리
- Swap Disable (필수)
1 2 3
su swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab exit
- Swap Disable (필수)
Control Plane(Master Node) 설정
런타임 설정: 도커 엔진
1
2
3
4
5
# Default: Containerd 런타임
sudo kubeadm init
# 도커엔진 런타임
sudo kubeadm init --cri-socket /var/run/cri-dockerd.sock
- 하단의 Token 및 CertKey 저장
1 2 3
cat > token.txt ... ^C
- 상단의 regular user의 명령어 실행
1 2 3
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
- kubectl을 통해 nodes 확인
- Status: NotReady 식별 -> CNI 설정
1
kubectl get nodes
- Status: NotReady 식별 -> CNI 설정
Container Network Interface(CNI) 설정
WeaveNet
1
kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml
- Status Ready로 변경 식별
1
kubectl get nodes
Worker Node 설정
- Master node의 token.txt를 통해 토큰 및 certkey추출
1
2
3
4
5
6
7
# Default: Containerd 런타임
kubeadm join [ip:6443] --token [token]\
--discovery-token-ca-cert-bash sha256:[hash]
# 도커엔진 런타임
kubeadm join [ip:6443] --token [token]\
--discovery-token-ca-cert-bash sha256:[hash] --cri-socket /var/run/cri-dockerd.sock
완료 확인
- Get Nodes 시 Status: Ready 및 환경 설정이 제대로 이루어졌는지 확인
1
kubectl get nodes -o wide