Kubernates 테스트 환경 설치 가이드
Kubernates 테스트 환경 설치 가이드
Kubernates 테스트 환경 설치 가이드
쿠버네티스 설치 가이드
- Mac에서 UTM 가상머신을 통해 마스터 서버, 노드 서버 2개를 생성하여 쿠버네티스 테스트 환경을 구축하면서 정리한 문서입니다.
1. 네트워크 기본 설정
- 마스터 아이피 주소 : 192.168.64.100
- 노드 1 아이피 주소 : 192.168.64.101
- 노드 2 아이피 주소 : 192.168.64.102
네트워크 변경 명령어
- Netpaln 설정파일 열기
1
sudo vi /etc/netplan/50-cloud-init.yaml - yaml 파일 수정
1 2 3 4 5 6 7 8 9 10 11 12 13 14
network: version: 2 ethernets: enp0s1: addresses: - 192.168.64.100/24 routes: - to: default via: 192.168.64.1 nameservers: addresses: - 8.8.8.8 - 1.1.1.1 dhcp4: no
- 변경 사항 적용
1
sudo netplan apply
2. SSH 접근 허용
- SSH 서버 설치
1
sudo apt update && sudo apt install -y openssh-server
- SSH 서비스 시작 및 자동 실행
1
sudo systemctl enable --now ssh
- SSH 상태 확인
1
systemct status ssh
3. kubelet, kubectl, kubeadm 설치
- 설치 스크립트 작성 (install_kubernetes.sh)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash
set -e
echo "============================"
echo " 기존 Kubernetes 설정 초기화"
echo "============================"
sudo kubeadm reset -f || true
sudo systemctl stop kubelet
sudo rm -rf /etc/kubernetes /var/lib/kubelet /etc/cni /opt/cni
echo "============================"
echo " 스왑 비활성화"
echo "============================"
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
echo "============================"
echo " Containerd 설치 및 설정"
echo "============================"
sudo apt-get update
sudo apt-get install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable --now containerd
echo "============================"
echo " Kubernetes 저장소 설정"
echo "============================"
sudo rm -f /etc/apt/sources.list.d/kubernetes.list
sudo rm -f /etc/apt/keyrings/kubernetes-archive-keyring.gpg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
echo "============================"
echo " 패키지 목록 업데이트 및 Kubernetes 패키지 설치"
echo "============================"
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo systemctl enable --now kubelet
echo "============================"
echo " Kubernetes 마스터 초기화"
echo "============================"
# Calico 기본 pod 네트워크 CIDR(192.168.0.0/16) 사용
sudo kubeadm init --apiserver-advertise-address=192.168.64.100 --pod-network-cidr=192.168.0.0/16
echo "============================"
echo " kubeconfig 설정 (사용자 환경)"
echo "============================"
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
echo "============================"
echo " CNI 플러그인(Calico) 설치"
echo "============================"
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
echo "============================"
echo " Kubernetes 마스터 설치 완료!"
echo " 'kubectl get nodes' 명령어로 상태를 확인하세요."
- 스크립트 실행 권한 부여
1
chmod +x install_kubernetes.sh - 스크립트 실행
1
./install_kubernetes.sh
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.