-
Kubernetes) KubeAdm 으로 Kubernetes 구성해보기 1편Cloud/Kubernetes 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
'Cloud > Kubernetes' 카테고리의 다른 글
Kubernetes) Kubernetes cluster 이해 (0) 2022.10.11 Kubernetes) KubeAdm 으로 Kubernetes 구성해보기 2편 (0) 2022.10.08 Kubernetes) CNI 란? (0) 2022.10.07 Kubernetes) CRI-O 란? (0) 2022.10.07 Kubernetes) Kubernetes 환경구성 (0) 2022.10.07