
우분투 22.04.5 Kubernetes 환경 설정하기

테스트 환경 : Virtual Box
OS : Ubuntu 22.04.5

/etc/hosts 파일을 편집하여 위 내용을 추가한다
내 환경의 경우 192.168.56.50 test123 을 마스터 노드 / 192.168.56.51 node1 을 워커 노드로 설정했다
추가 노드가 필요할 경우 아래에 추가하면 된다

현재 활성화된 swap 메모리 off 설정
/etc/fstab 파일의 맨 아래 항목 주석 처리
# 커널 모듈 로드 설정
----------------------------------------------------------------------------
tee /etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter
----------------------------------------------------------------------------
tee /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
----------------------------------------------------------------------------
# 변경사항 적용
sysctl --system

# 컨테이너 런타임 설치
- 의존성 패키지 설치
apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates
- docker repository enable 설정
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- Containerd가 systemd를 cgroup으로 사용하여 시작할 수 있도록 구성
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
- Containerd 서비스를 재시작 하고 자동 실행 등록을 해 준다.
systemctl restart containerd
systemctl enable containerd
# Kubernetes용 APT 리포지터리 추가 및 Kubelet, Kubeadm, Kubectl 설치
- Kubernetes용 APT 리포지터리를 추가
mkdir -p /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
- Kubelet, Kubeadm, Kubectl 설치
apt update
apt install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl # 자동 업그레이드 방지 (권장)

버전 확인 kubectl version
# 설정이 완료되면 VM 복제 진행




VM 복제 완료
복제한 워커 노드 설정

hostname 변경, 변경 후 재로그인 하면 변경된 hostname 확인 가능
그리고 복제한 VM이기 때문에 IP도 변경해준다

복제한 노드에서 /etc/hosts 도 변경
# Kubeadm을 통한 Kubernetes 클러스터 구성
- 마스터 노드와 워커 노드 구분하여 설정
- 마스터 노드

kubeadm init --apiserver-advertise-address=192.168.56.50 해당 명령어를 사용하여 진행하는데 위와 같이 에러가 나오는 경우가 있다
이 때는 conntrack 툴의 설치가 필요, 우분투 기본 설치본에는 없음
apt install conntrack -y

설치 확인 conntrack --version

이후 정상 설치 진행

마지막은 이렇게 표시가 되는데 위 3줄의 명령어를 입력해서 일반 사용자 권한으로도 kubernetes를 사용할 수 있도록 해줌
아래 kubeadm join 으로 시작하는 부분은 각 워커 노드에서 입력해주며 따로 기록해준다
이렇게 마스터와 워커 노드의 kubernetes 클러스터를 구성
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 명령어로 확인하면 Status 가 NotReady로 확인된다
이는 CNI(Container Network Interface)가 구성되지 않았기에 추가 설치가 필요하다

=== 2편에서 ===

'리눅스(Linux) > Ubuntu' 카테고리의 다른 글
| 우분투 네트워크 설정 (1) | 2024.11.10 |
|---|---|
| 우분투 버전 확인하기 (0) | 2024.11.09 |