리눅스(Linux)/Ubuntu

우분투 Kubernetes 설정하기 - 1

숙련된 조교 2025. 12. 13. 13:17
728x90
반응형
우분투 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편에서 ===

728x90
반응형

'리눅스(Linux) > Ubuntu' 카테고리의 다른 글

우분투 네트워크 설정  (1) 2024.11.10
우분투 버전 확인하기  (0) 2024.11.09