Cloud/Kubernetes

Kubernetes) KubeAdm 으로 Kubernetes 구성해보기 1편

Adım Kim 2022. 10. 7. 22:50
실습 환경 : AWS console (2022/10), Visual Studio Code
실습 목적 : kubeadm을 이용하여 Kubernetes 환경을 구성해본다.

KubeAdm을 이용하여 Kubernetes 환경구성하기


Master node(Control plane) 서버 생성


(1)  Master node 생생하기

  # 설정사항
  1. 이름 및 태그 - K8s-master
  2. 애플리케이션 및 OS 이미지 - Quick Start, Ubuntu 선택
  3. 인스턴스 유형 - t2.medium (2vCPU, 4GiB 메모리)
  4. 키페어 - 기존 사용중인 키페어 선택
  5. 네트워크 설정
      VPC - 기존에 사용중인 VPC 선택
      퍼블릭 IP 자동할당 - 활성화
      방화벽 - 기존 보안 그룹 선택 > ssh 관련 그룹(22번포트),
                     k8s 관련 그룹(10259,10250,6443,10257,2379-2380 포트)


필수개방 port번호 확인 : https://kubernetes.io/ko/docs/reference/ports-and-protocols/                  


(2)  Master node 접속 후 kubelet 사용을 위한 환경설정

  # kubelet을 제대로 작동시키려면 스왑을 비활성화 해야한다.

sudo swapoff -a


  # kernel 속성의 스왑을 비활성화한다. (root 사용자 전환 후, 수행한다.)

# 초기 인스턴스 생성시 root 사용자 비밀번호 설정
sudo passwd root
# root 사용자 전환
su -
echo 0 > /proc/sys/vm/swappiness

   # 스왑하는 파일시스템을 찾아 삭제한다.

sed -e '/swap/ s/^#*/#/' -i /etc/fstab


Master node  (Control plane) container runtime 환경 구성 (Docker)


1.  Ubuntu package 설치

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release


2.  Docker 공식 GPG key 설치 (공개키 설치)

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg


3.  Ubuntu용 docker repository 설정

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


4.  설치 설정 반영을 위한 update 수행

sudo apt-get update


5.  Docker 패키지 설치

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin


6. Docker 설치 확인

sudo docker version


7.  Docker daemon 설정

cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF


8.  부팅시 Docker 실행

sudo systemctl enable --now docker