3일 차 1장 Container Platform 클러스터 구축

jhin·2025년 3월 12일
0

K-PaaS

목록 보기
9/16

💡 3일 차 학습목표
1. K-PaaS 컨테이너 플랫폼 클러스터 배포과정을 이해한다.
2. K-PaaS 컨테이너 플랫폼 포털 서비스의 배포과정과 주요 기능을 이해한다.
3. K-PaaS 컨테이너 플랫폼 파이프라인 서비스, 소스 컨트롤 서비스의 배포과정과 주요 기능을 이해한다.


Container Platform 설치 개요

K-PaaS 가이드 문서
컨테이너 플랫폼(CP) 설치 가이드
컨테이너 플랫폼(CP) 사용 가이드

클러스터 설치 준비

인스턴스 종류인스턴스 개수비고
Install1개Install 인스턴스 구성을 권장 / Control Plane 인스턴스로 대체 가능
Control Plane1개 이상테스트 환경에서는 1개, 실제 운영 환경에서는 3개 이상 권장
Worker1~3개 이상NFS 스토리지 사용 시 1개 이상, Rook-Ceph 스토리지 사용 시 3개 이상
Storage1개NFS 스토리지 사용 시 필요
Load Balancer1~2개HA Control Plane 구성 시 필요

✅ 머신 당 deb / rpm 호환 Linux OS (Ubuntu 22.04)가 설치되어야 함
✅ 머신 당 16G 이상의 RAM (최소사양 8G)
✅ 머신 당 4개 이상의 CPU (최소사양 2개)
✅ 클러스터의 모든 시스템 간의 완전한 네트워크 연결 (인터넷 환경 양호)

방화벽 정보 (필수 설정)

Control Plane 노드

프로토콜포트비고
TCP111NFS Portmapper
TCP2049NFS
TCP2379-2380etcd server client API
TCP6443Kubernetes API Server
TCP10250Kubelet API
TCP10251kube-scheduler
TCP10252kube-controller-manager
TCP10255Read-Only Kubelet API
TCP4789Calico networking VXLAN

Worker 노드

프로토콜포트비고
TCP111NFS Portmapper
TCP2049NFS
TCP10250Kubelet API
TCP10255Read-Only Kubelet API
TCP30000-32767NodePort Services
TCP4789Calico networking VXLAN

K-PaaS 지원 스토리지 정보 (필수 설정)

  • K-PaaS 컨테이너 플랫폼 클러스터 설치 전 스토리지를 선택
    • ✅ NFS
      • NFS Server 설치 가이드 제공
      • 클러스터 설치 전에 신규 인스턴스 생성하여 NFS Server 설치 필요
    • ✅ ceph
      • ROOK을 통한 배포 단순화
      • 기존 인스턴스에 볼륨 추가

쿠버네티스 서비스 External IP 설정 (필수 설정)

  • ✅ K-PaaS 컨테이너 플랫폼 서비스 구성을 위해 특정 서비스에 External IP 설정 필요

로드밸런서 (HA Control Plane 구성 시 필수 설정)

  • ✅ HA Control Plane 구성이 아닐 경우 로드밸런서 구성 과정은 생략하고 다음 과정을 진행

클러스터 설치

클러스터 설치 과정

  • 환경구성 > NFS 서버설치 > SSH key 생성 및 배포 > Deployment 다운로드 > 환경변수 입력 > 쉘스크립트 배포 > 설치 확인

SSH 생성 및 배포

  • 클러스터 설치를 위해 인벤토리의 모든 서버들에 SSH Key 복사, 붙여넣기
  • ✅ RSA 공개키를 이용하여 SSH 접속 설정
  • SSH Key 생성 및 배포 이후의 모든 설치과정은 Control Plane 노드에서 진행
  1. Control Plane 노드에서 RSA 공개키 생성
    ssh-keygen -t rsa -m PEM -N '' -f $HOME/.ssh/id_rsa
  2. RSA 공개키 출력 및 복사
    cat ~/.ssh/id_rsa.pub
  3. Control Plane, Worker 노드의 authorized_keys 파일 본문의 마지막 줄 하단에 공개키 붙여넣기 (🔔 Control plane 수 + Worker 노드 수만큼 반복)
    vi .ssh/authorized_keys

Deployment 다운로드

  • 클러스터 설치에 필요한 Deployment를 다운로드 후 설치 작업 경로로 이동하여 설치
  • ✅ 이 단계부터는 Control Plane 노드에서만 진행
  1. 클러스터 Deployment를 다운로드하여 설치 작업경로에 위치
    Kubespray Download URL
  2. git clone 명령을 통해 다음 경로에서 클러스터 Deployment 다운로드 진행 가능
    git clone https://github.com/K-PaaS/cp-deployment.git 0b branch_v1.5.x

환경변수 정의

  • 클러스터 설치에 필요한 환경변수를 사전 정의 후 쉘 스크립트를 통해 설치 진행
  1. 클러스터 설치경로로 이동
    cd ~/cp-deployment/single
  2. 클러스터 설치에 필요한 환경변수 정보를 입력
    vi cp-cluster-vars.sh

쉘스크립트 배포

  • 쉘 스크립트를 통해 필요 패키지 설치, 클러스터 설치 환경변수 설정, Ansible playbook을 통한 컨테이너 플랫폼 클러스터 설치를 순차적으로 진행
  1. 쉘 스크립트를 통해 설치 진행
    source deploy-cp-cluster.sh

클러스터 정상 설치 확인

  • 노드 및 kube-system 네임스페이스의 Pod를 확인하여 클러스터 설치 확인
  1. Kubernetes Node 확인
    kubectl get nodes
  2. kube-system Namespace의 Pod 확인
    kubectl get pods -n kube-system

0개의 댓글