Master node : 1개
Worker node : 2개
인터넷과 통신이 가능할 때 Repository를 사용해 설치하는 방법입니다.
=> 도커 공식 사이트 참고
도커를 설치하기 위해 요구하는 패키지를 모두 설치합니다.
sudo apt-get update
sudo apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
도커를 사용하기 위한 공식 GPG 키(인증서) 를 저장합니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
도커의 우분투 리포지토리 URL을 등록합니다.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
앞서 리포지토리 URL
을 등록해 주었기 때문에 반드시 업데이트를 해야 합니다.
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
도커 엔진이 잘 설치되었는지 테스트를 진행합니다.
sudo docker version
아래의 k8s
공식 문서를 참조하여 설치 방법이 작성 되었습니다.
=> https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
스왑
을 비활성화 합니다.kubelet
이 제대로 작동하게 하려면 반드시 스왑을 사용하지 않아야 합니다.swapoff -a && sed -i '/swap/s/&/#/' /etc/fstab
br_netfilter
모듈이 로드 되었는지 확인합니다.cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
iptables
가 bridged network
를 허용하도록 합니다.cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
방화벽
을 비활성화합니다.k8s
는 보통 내부망으로 방화벽 없이 통신하고,sudo ufw disable
apt
리포지터리를 사용하는 데 필요한 패키지를 설치합니다.sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
공개 서명 키
를 다운로드 합니다.sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
k8s
리포지토리를 추가합니다.echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
kubelet
, kubeadm
, kubectl
을 설치하고 해당 버전을 고정합니다.sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl