VM에 Docker, Kubernates 설치 (2023.01.18)

최시열·2023년 1월 18일
1

쿠버네티스 환경 설정하기


  • 모든창에서 실행
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

  • cni 설치
~ 에서 시작, 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
이후 토큰 값 입력
profile
최시열

0개의 댓글