Udemy CKA course 11. Kubeadm으로 쿠버네티스 클러스터 구성하기

jihyelee·2024년 2월 6일
0

kubernetes

목록 보기
13/15

Certified Kubernetes Administrator (CKA) with Practice Tests (강의 링크, 레퍼런스 노트)

  • 평소 강의 할인도 많이 하고, 연습문제도 풀어볼 수 있으니 실제 강의 수강을 추천
  • 아래는 강의 내용 번역 및 정리본 (문제 시 댓글로 알려주세요)

Kubeadm 배포 단계

  • kubeadm은 멀티 노드 클러스터 구성을 가능케 함
    1. 프로비져닝된 여러 개의 시스템 혹은 VM 필요 (노드)
    1. 마스터 노드와 워커 노드로 분리
    1. 모든 노드의 호스트에 컨테이너 런타임 설치
    1. 모든 노드에 kubeadm 도구 설치
    1. 마스터 노드 초기화 및 설정
    1. 마스터 노드와 워커 노드 전반에 걸친 POD 네트워크 설정
    1. 워커 노드를 마스터 노드에 조인시킴

Vagrant로 VM 프로비져닝

  • git clone https://github.com/kodekloudhub/certified-kubernetes-administrator-course
  • vagrant up
    • Vagrant file에 나와있는 설정대로 VM들을 프로비져닝
  • vagrant status
    • VM의 상태 확인 가능
  • vagrant ssh [노드명]
    • 노드 접속
  • logout

Kubeadm으로 배포 (데모)

  • 전체 과정 참고 링크
  • 컨테이너 런타임 설치
    • 해당 링크에서 Forward IPv4 and letting iptables see bridged traffic 부분을 모든 노드에서 실행
    • 해당 링크 참고하여 모든 노드에 containerd 설치
    • 해당 링크 참고하여 모든 노드에 cgroup driver 설치
      • 컨테이너 런타임과 kubelet은 동일한 cgroup driver를 사용해야 함
      • cgroupfs driver (기본), systemd cgroup driver
      • ps -p 1 활용해 어떤 드라이버 사용해야 하는지 알 수 있음
      • containerd의 경우 systemd 사용하기 때문에 /etc/containerd/config.toml에서 기본 내용들 모두 지우고 링크 내 내용을 붙여넣기 및 재시작
  • kubeadm, kubelet, kubectl 설치
    • 링크 참고하여 모든 노드에 필요 사양들 설치
    • 해당 링크의 Initializing your control-plane node 참고
      • sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=[ip add로 확인한 ip]
  • 클러스터 시작
    • mkdir -p $HOME/.kube
    • sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    • sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • Pod 네트워크 설정
    • 해당 링크 참고
    • 예를 들어 weavenet 사용 시, 마스터 노드에 설치 명령어 실행
      • kubectl get daemonset(ds) -A && kubectl edit ds [ds명] -n kube-system
      • IPALLOC_RANGE 등 환경설정 맞춰줘야 함 (yaml 파일 수정 필요)
  • 워커 노드 조인시키기
    • kubeadm init 명령어 사용했을 때 나왔던 kubeadm join ~ 명령어를 워커 노드에서 실행
profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher at LG CNS AI Lab

0개의 댓글