ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.