sudo -i
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sysctl params required by setup, params persist across reboots
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
모든 시스템 리부트
sudo apt-get update
- 설치에 필요한 라이브러리
sudo apt-get install -y apt-transport-https ca-certificates curl
<쿠버 gpg>
sudo mkdir /etc/apt/keyrings
sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
- 레포지터리 만들기
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF | tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/kubernetes-xenial main
EOF
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
<도커 gpg>
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
- 도커 설치
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl status docker
sudo systemctl start docker
sudo systemctl enable docker
sudo apt-get install -y kubelet kubeadm kubectl
- 도장 찍기(패키지 고정으로 설정)
sudo apt-mark hold kubelet kubeadm kubectl
systemctl start kubelet
systemctl enable kubelet
여기까지 하면 각각의 머신에 ubuntu위에 kubelet이 깔렸음 이제 그 위에 cni(container network interface)라는 너희들은 하나라고 알려주는 것을 올릴것임 그리고 그 위에 docker가 올라감
kubelet: 쿠버네티스의 데몬
<master에서만 하자!>
- sudo rm /etc/containerd/config.toml
- sudo systemctl restart containerd
- kubeadm init
만약 init을 잘못 했다면 kubeadm reset 명령어 입력
마지막줄
(ex. kubeadm join 10.0.100.105:6443 --token h5glrm.x8se97pbgejn74gv \
--discovery-token-ca-cert-hash sha256:60419e6adb151f6408d6b2f950a461eb683c64031bca30d12f1d810694ce1f93)
/home/guru에 token.txt로 저장
호스트 이름 변경
sudo hostnamectl set-hostname node2
~ 에서 시작, master에서 진행하기
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml
kubectl get node로 확인
- node1, node2에서 진행
sudo rm /etc/containerd/config.toml
sudo systemctl restart containerd
이후 토큰 값 입력