728x90
반응형

마스터 노드를 설정했으니 이제 워커 노드를 설정해주어야 한다.

 

쿠버네티스 워커 노드 설정 요약 정리

1. 쿠버네티스 실행

systemctl enable --now kubelet

 

2. kubeadm 마스터 노드 연결

kubeadm join 10.0.2.10:6443 --token [token] \
         --discovery-token-ca-cert-hash [sha256 hash]

 

3. 마스터 노드에서 연결된 워커 노드 확인

kubectl get nodes

 

1. 쿠버네티스 실행

마스터 노드와 마찬가지로 쿠버네티스를 실행시켜줘야 한다.

[root@k8s-worker1 ~]# systemctl enable --now kubelet
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.

 

워커 노드도 마찬가지로 kubelet 서비스가 작동하지 않는다.

[root@k8s-worker1 ~]# systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: activating (auto-restart) (Result: exit-code) since 일 2021-08-29 03:17:49 KST; 4s ago
     Docs: https://kubernetes.io/docs/
  Process: 1657 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=1/FAILURE)
 Main PID: 1657 (code=exited, status=1/FAILURE)

 8월 29 03:17:49 k8s-worker1 systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
 8월 29 03:17:49 k8s-worker1 systemd[1]: Unit kubelet.service entered failed state.
 8월 29 03:17:49 k8s-worker1 systemd[1]: kubelet.service failed.

따라서, kubeadm join 을 통해 워커 노드를 마스터 노드에 연결해준다.

 

2. kubeadm 마스터 노드 연결

join 은 마스터 노드에서 init 하고나서 마지막에 알려주는 명령어를 실행하면 된다.

[root@k8s-worker1 ~]# kubeadm join 10.0.2.10:6443 --token n93a9u.gt377l7fuxiaeiri \
>         --discovery-token-ca-cert-hash sha256:d5952e815ffe5c7a23dbf147d35b45b4dc0a06a4220c746f1868018d3a4450d9
[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...

This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

 

3. 마스터 노드에서 워커 노드 연결 확인

join이 끝나고 나서 마지막에 kubectl get nodes 라는 명령어를 실행시켜보라고 한다.
그래서 마스터 노드에서 실행시켜봤다.

[root@k8s-master ~]# kubectl get nodes
NAME          STATUS     ROLES                  AGE   VERSION
k8s-master    NotReady   control-plane,master   21m   v1.22.1
k8s-worker1   NotReady   <none>                 75s   v1.22.1
k8s-worker2   NotReady   <none>                 51s   v1.22.1

 

워커노드 2개가 잘 연결된 것을 확인할 수 있었다.

 

이제 마지막으로 쿠버네티스 클러스터 네트워크 플러그인 Calico 를 설치해보려고 한다.

728x90
반응형
복사했습니다!