UTM 활용하여 가상환경 세팅
1. Ubuntu 22.04 설치
Ubuntu Server for ARM를 다운로드한다.
Ubuntu Desktop 다운로드가 아니다!!
2. UTM 설치
•
https://github.com/utmapp/UTM/releases 에 접속하여 설치 진행
•
해당 링크 참고하여 설치 진행하였음
•
네트워크 설정 - 2가지 설정을 해줘야 한다 (공유 네트워크, 브릿지)
•
ssh 통신을 하기 위해 고정 ip를 할당한다.
◦
sudo vi /etc/netplan/00-installer-config.yaml 명령어를 입력하여 설정 정보를 작성해준다.
◦
자신의 맥 터미널에서 ifconfig | grep inet으로 확인했을 때 나오는 ip를 사용해야 인터넷 연결이 된다.
•
sudo vi /etc/netplan/00-installer-config.yaml 입력하여 다음과 같이 작성한다.
•
추후 세팅할 2개의 가상환경에서 뒤의 숫자만 변경하여 등록해준다.
◦
master: 100
◦
work-node1: 101
◦
work-node2: 102
•
작성 완료 후 sudo netplan apply 명령어를 입력한 다음, 로컬 터미널에서 ssh 이용하여 원격접속을 해본다. 아래 문구들을 확인했다면 정상적으로 진행된 것이다.
쿠버네티스 설치 (Master, Worknode1, Worknode2 공통 진행)
root 권한에서 실행 -> sudo su
◆◆◆◆◆◆마스터, 워커 동일 작업◆◆◆◆◆◆
◆ip_forward 값을 1로 설정
sudo sysctl -w net.ipv4.ip_forward=1
◆설정을 영구적으로 유지하기 위해 config 파일에도 추가
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
◆변경 사항 적용
sudo sysctl -p
◆가상 메모리 해제
swapon && cat /etc/fstab
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab
◆SELinux 와 방화벽을 해제
setenforce 0
ufw disable
systemctl stop firewalld
systemctl disable firewalld
◆pod와 pod끼리 통싱하기위한 작업 확인 (통신 브릿지 상태 확인)
lsmod | grep br_netfilter
modprobe br_netfilter
lsmod | grep br_netfilter
-----------(아래처럼 나오면 정상)
br_netfilter 24576 0
bridge 155648 1 br_netfilter
-----------
◆모듈과 네트워크 파라미터가 영구적으로 적재되도록 파일에 편집
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
◆
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
◆네트워크 파라미터 정보 변경 사항 확인
sysctl net.bridge.bridge-nf-call-iptables
-----------(아래처럼 나오면 정상)
-> net.bridge.bridge-nf-call-iptables = 1
-----------
sysctl net.bridge.bridge-nf-call-ip6tables
-----------(아래처럼 나오면 정상)
-> net.bridge.bridge-nf-call-ip6tables = 1
-----------
◆모듈 및 패키지 설치 & 다운로드(kubeadm, kubelet, kubectl)
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
◆컨테이너 런타임 containerd 설치
---containerd 설치
sudo apt install -y containerd
---containerd 설정 파일 생성
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
---Systemd Cgroup 활성화
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
---containerd 재시작 및 활성화
sudo systemctl restart containerd
sudo systemctl enable containerd
◆레포지토리 등록 (apt 저장소) - 변경될 수도 있음
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
◆패키지 저장소 공개 키 다운로드 - 변경될 수도 있음
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
◆쿠버네티스 설치 (여기서 특정 버전을 지정해서 설치)
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl kubernetes-cni
Shell
복사