August 3, 2023

Virtual Box 구성

Virtual Box 구성

Config

ubuntu-20.04.6 (Skip Unattended Installation)

vRAM 2 GB | vCPU 2 core | Disk 25GB

Network

NAT : Guest들 모두 같은 IP로 외부 연결
(내부통신 불가)
어댑터에 브리지 : Host 공유기에 연결
내부 네트워크 : 내부끼리만 통신
호스트 전용 : 호스트-게스트 (외부x)
NAT 네트워크 : VirtualBox를 공유기처럼 연결

Virtual Box 설정

NAT Networks 생성 (Enable DHCP)
VM 네트워크 설정
어탭터 NAT 네트워크 연결

Docker 설치

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

Kubernetes 설치

sudo apt install apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt install kubeadm kubelet kubectl kubernetes-cni

apt-transport-https : 패키지 관리자가 https로 데이터 및 패키지 접근
curl : url로 데이터 다운로드

sudo swapoff -a
sudo nano /etc/fstab # /swapfile 주석처리

/swapfile 줄 앞에 #으로 주석처리하여 스왑 메모리 비활성화

Node 복사

구성한 노드를 Virtual Box에서 복사
(모든 네트워크 어댑터의 새 MAC 주소 생성)

호스트 이름 설정

# 마스터 노드에서
sudo hostnamectl set-hostname kubernetes-master
# 작업자 노드에서
sudo hostnamectl set-hostname kubernetes-worker1

호스트 이름으로 쿠버네티스에서 호스트 구분, 역할 식별

마스터 서버 초기화

# 마스터 노드에서
ubuntu@master:~$ sudo kubeadm init
ubuntu@master:~$ sudo mkdir -p $HOME/.kube
ubuntu@master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
ubuntu@master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

Pod 네트워크 배포

Flannel CNI 사용 (container network interface)

ubuntu@master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kube-flannel.yml에 rbac이 포함되어 업데이트 됌

ubuntu@master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kubeflannel-rbac.yml

Comments