이세개발
article thumbnail

 

1. containerd 설치 (Container Runtimes)

인스턴스 3개 전부

<bash />
sudo apt-get install containerd -y sudo mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml sudo systemctl stop containerd sudo apt install curl curl -LO https://github.com/containerd/containerd/releases/download/v1.7.0/containerd-1.7.0-linux-arm64.tar.gz curl -LO https://github.com/containerd/containerd/releases/download/v1.7.0/containerd-1.7.0-linux-amd64.tar.gz tar xvf containerd-1.7.0-linux-arm64.tar.gz tar xvf containerd-1.7.0-linux-amd64.tar.gz rm containerd-1.7.0-linux-arm64.tar.gz rm containerd-1.7.0-linux-amd64.tar.gz sudo cp bin/* /usr/bin/ sudo systemctl start containerd rm -rf bin sudo systemctl status containerd --lines 1

 

2. 네트워크 설정

인스턴스 3개 전부

<bash />
sudo modprobe br_netfilter cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf br_netfilter EOF cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF #echo 'net.bridge.bridge-nf-call-iptables = 1' | sudo tee -a /etc/sysctl.conf SOURCE_FILE="/etc/sysctl.conf" LINE_INPUT="net.bridge.bridge-nf-call-iptables = 1" grep -qF "$LINE_INPUT" "$SOURCE_FILE" || echo "$LINE_INPUT" | sudo tee -a "$SOURCE_FILE" sudo echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward sudo sysctl --system

 

 

3. KUBEADM, kubelet, kubectl 설치

3개 인스턴스 전부설치 control_plane 이 아닌 나머지 노드들은 kubectl 은 설치 안해도 됨

<bash />
# k8s 설치시작 sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg 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 sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl

 

4. control_plane 에서 설치

<bash />
kubeadm config images list kubeadm config images pull ## cidr은 편한대로 겹치지 않도록 sudo kubeadm init --pod-network-cidr=10.244.0.0/16 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ## 노드 출력 kubectl get nodes ## 만약 오류가 난다면 재시작후 해보기 reboot

kubeadm init 한 후에 나오는 토큰은 저장해 둔다

5.  

6. worker_node 에서 설치

<bash />
kubeadm join @@@:6443 --token @@@ \ --discovery-token-ca-cert-hash sha256:@@@

위에 저장해놓은것을 worker_node 연결할 인스턴스 ssh로 접속해서 입력한다.

 

SCP 를 사용하여 권한 전송한다

<python />
scp $HOME/.kube/config user@{ip}:/home/user/.kube
profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!