Computing resource 준비하기
개발용 Linux 서버 3대와(k8s-master, k8s-slave01, k8s-slave02) 내 데스크탑 Linux 서버 1대(desktop)로 시작하였다.
모두 ubuntu 20.04로 초기화를 해주었다.
OS: Ubuntu 20.04
Rancher 설치 (desktop)
Rancher는 컨테이너 오케스트레이션 플랫폼이다. 다시 말해 Kubernetes나 다른 컨테이너 관리 시스템을 쉽게 배포하고 관리할 수 있게 도와주는 도구이다. Rancher를 활용하면 개발자와 운영팀은 복잡한 에플리케이션을 컨테이너화하고 배포하는 작업을 편하게 할 수 있다.
아래 사이트에 가면 Rancher를 쉽게 설치할 수 있다 :)
https://www.rancher.com/quick-start
파일 시스템 초기화 하기 (k8s-master, k8s-slave01, k8s-slave02)
파일 시스템...? 갑자기?
보통 쿠버네티스 환경을 이용하는 회사나 실무자들은 클라우드 환경에 익숙할 것이다. 하지만 내가 다니던 회사는 on-premise 환경에 쿠버네티스 환경을 구축하여야 했다.
나중에 다른 글에서 포스팅을 하겠지만 쿠버네티스위에서 PV 와 PVC를 생성할 때 storage class 가 매우 편리한 기능을 제공해준다.
지금은 간단히 말해서 storage class는 쿠버네티스 클러스터에서 동적 스토리지 프로비저닝과 관련된 복잡한 작업을 단순화시키고, 에플리케이션과 스토리지를 보다 효율적으로 관리할 수 있도록 도와준다고 알아두면 된다.
아무튼 이 storage class 를 만들 때 파일 시스템이 초기화 된 raw disk가 준비물이다!
초기화 하는 것은 생각보다 어렵지는 않다. fdisk 명렁어로 파티션을 없애고 wipefs로 포멧을 진행하였다.
방화벽 해제하기 (k8s-master, k8s-slave01, k8s-slave02)
sudo systemctl stop ufw
sudo systemctl disable ufw
Docker install (k8s-master, k8s-slave01, k8s-slave02)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker ${USER_NAME}
sudo systemctl enable docker
sudo systemctl start docker
Rancher 로그인하기 (desktop)
/bin/rancher login ${RANCHER_ENDPOINT} --token ${ACCESS_KEY}:${SECRET_KEY}
Rancher에 노드 등록하기 (k8s-master, k8s-slave01, k8s-slave02)
Rancher 로 마스터 등록하기 (k8s-master)
CLUSTER_NAME = "ampersandor"
/bin/rancher cluster add-node --etcd --worker --controlplane ${CLUSTER_NAME}
Rancher 에 워커 추가하기 (k8s-slave01, k8s-slave02)
CLUSTER_NAME="ampersandor"
/bin/rancher cluster add-node --worker --etcd ${CLUSTER_NAME}
.kube/config 가져오기
rancher UI 에서 kubernetes config를 가져올 수 있을 것이다. 해당 config를 desktop ~/.kube/config에 저장하자