참고링크:
https://ssup2.github.io/record/Kubernetes_%EC%84%A4%EC%B9%98_kubeadm_Ubuntu_18.04_Jetson_Nano_Cluster/
https://yoonchang.tistory.com/58
1.1 Worker Node 설정(Jetson)
# apt-get remove docker docker.io containerd runc nvidia-docker2
# apt-get update
# apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# apt-get update
1.2 도커 설치가능한 버전 확인(Jetson)
# apt-cache madison docker-ce
1.3 도커 엔진 설치(Jetson)
<VERSION_STRING> 자리에 해당 버전을 적어주면 된다. ex) 5:19.03.15~3-0~ubuntu-focal
# sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
2.1 master 노드의 kubeadm, kubectl, kubelet 버전 확인(worker 노드도 동일하게 설치)
[root@k8s-master ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"19", ...
[root@k8s-master ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"19", ...
[root@k8s-master ~]# kubelet --version
Kubernetes v1.19.0
2.2 kubelet, kubeadm, kubectl 설치 및 활성화(Jetson)
# apt-get update && apt-get install -y apt-transport-https curl
# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
# echo deb http://apt.kubernetes.io/ kubernetes-xenial main > /etc/apt/sources.list.d/kubernetes.list
# apt-get update
# apt-get install -y kubelet=1.19.0-00 kubeadm=1.19.0-00 kubectl=1.19.0-00
# systemctl enable kubelet && systemctl start kubelet
2.3 자동 업데이트 방지(Jetson)
# sudo apt-mark hold kubelet kubeadm kubectl
2.4 설치 완료 버전 확인(Jetson)
# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"19", ...
# kubelet --version
Kubernetes v1.19.0
# kubectl version
Client Version: version.Info{Major:"1", Minor:"19", ..
The connection to the server localhost:8080 was refused - did you specify the right host or port?
# swapoff -a
# rm /etc/systemd/nvzramconfig.sh
4.1 Master Node에서 token 출력
[root@k8s-master kubernetes]# cat ~/join.sh
kubeadm join 192.168.56.30:6443 --token 4hpwrb.vl0ht2z8byapmuo1 --discovery-token-ca-cert-hash sha256:05273776eba41eab7da6c7c85127217fc951db22ad75d8f3e4a55a9863e3b6c5
4.2 Worker Node(Jetson)
# kubeadm join 192.168.56.30:6443 --token 4hpwrb.vl0ht2z8byapmuo1 --discovery-token-ca-cert-hash sha256:05273776eba41eab7da6c7c85127217fc951db22ad75d8f3e4a55a9863e3b6c5
4.3 검증(Master)
# kubectl get nodes