반응형

먼저 사전에 다음의 패키지를 설치해야 합니다

sudo apt -y install apt-transport-https ca-certificates curl

그리고 swapoff를 해줘야 합니다

sudo swapoff -a

# 매번 재부팅하면 swapoff 명령어를 입력할 수 없으니 /etc/fstab에 자동으로 반영되도록 합니다
sudo sed -i.bak '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

 

kubernetes 설치는 다음의 명령어로 수행 됩니다 (ubuntu 기준)

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

# 설치 (=1.24.0-00을 하는 이유는 kubesphere 때문, 그게 아니라면 최신버전 설치 추천)
sudo apt update
sudo apt -y install kubelet=1.24.0-00 kubeadm=1.24.0-00 kubectl=1.24.0-00
sudo apt-mark hold kubelet kubeadm kubectl

네트워크 플러그인(CNI)를 설치합니다. 여기서는 calico를 추천합니다

curl https://docs.projectcalico.org/archive/v3.25/manifests/calico.yaml -O
kubectl apply -f calico.yaml

 

 

모든 과정이 정상 설치되었다면 다음과 같이 표시되야 합니다

$ kubectl get nodes
NAME        STATUS   ROLES           AGE     VERSION
vm-master   Ready    control-plane   2m28s   v1.24.0

$ kubectl get pod --all-namespaces
NAMESPACE     NAME                                       READY   STATUS    RESTARTS   AGE
kube-system   calico-kube-controllers-84c476996d-txcns   1/1     Running   0          91s
kube-system   calico-node-hdvwp                          1/1     Running   0          91s
kube-system   coredns-6d4b75cb6d-m4lw7                   1/1     Running   0          2m30s
kube-system   coredns-6d4b75cb6d-wsnh8                   1/1     Running   0          2m30s
kube-system   etcd-vm-master                             1/1     Running   0          2m33s
kube-system   kube-apiserver-vm-master                   1/1     Running   0          2m33s
kube-system   kube-controller-manager-vm-master          1/1     Running   0          2m33s
kube-system   kube-proxy-9t8hh                           1/1     Running   0          2m30s
kube-system   kube-scheduler-vm-master                   1/1     Running   0          2m33s

 

기본적으로 control-plane (master 노드)는 pod의 스케쥴링이 할당되지 않습니다

이를 해제합니다

kubectl taint nodes --all node-role.kubernetes.io/control-plane-
kubectl taint nodes --all node-role.kubernetes.io/master-

 

반응형

+ Recent posts