쿠버네티스를 공부하다 보면 실습할 환경 구성하는게 생각보다는 번거롭습니다.
개인 로컬PC에 VM 으로 이것저것 설치하다 보면 여러가지 오류와 씨름다하다 시간이 많이 소요됩니다.
그래서 간단히 무료 쿠버네티스를 실습할 수 있는 환경을 소개 합니다.
https://labs.play-with-k8s.com/
Docker 나 Github ID 가 필요하며, 4시간 동안 자유롭게 추가하여 사용할 수 있는 Instance (node) 를 제공합니다.
가운데 Login 버튼을 누르면 Docker 나 Github 아이디로 로그인이 가능합니다.
[참고]
- Docker : https://hub.docker.com/
- Github : https://github.com/
로그인 이후 Start 버튼을 누르면 짠 아래 처럼 아주 직관적인 UI 의 화면이 나옵니다.
좌측 메뉴에서 ADD NEW INSTANCE 를 누르면 Instance(node) 가 실행 됩니다.
-- Instance Spec --
- CPU : 8 Core
- Memory : 4GB
- OS : CentOS Linux 7
교육 실습용으로 딱 적당합니다.
Shell 은 root 로 실행 됩니다.
첫번째 노드를 마스터 노드로 생각하고
가이드에 나오는 대로 입력하면 됩니다.
⭐ 복사 붙여 넣기 할때는 일반적인 Ctrl + C / Ctrl + V 가 동작하지 않기 때문에 아래 단축키를 참고하세요.
단축키
- 복사 : Ctrl + Insert
- 붙여넣기 : Shift + Insert
기본적인 Kubernetes 환경 설정은 다음의 순서대로 하면 됩니다.
- 첫번째 노드에서 kubeadm init
kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16
- 위에서 설치 마지막 쯤에 join 할 수 있는 명령어가 나옵니다.
나중에 워커 인스턴스 생성 후 복붙을 위해 잘 복사해 놓습니다. (코드 예시는 임의로 xxxx 로 넣은것입니다)
kubeadm join 192.168.0.8:6443 --token xxxxxxxx \
--discovery-token-ca-cert-hash sha256:xxxxxxxx
- config 설정 입력
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
- network 관련 설치
kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml
ADD NEW INSTANCE 버튼 클릭 후
Worker1 노드 생성
위에서 복사 해놓은 join 스크립트 복붙 실행
kubeadm join 192.168.0.8:6443 --token xxxxxxxx \
--discovery-token-ca-cert-hash sha256:xxxxxxxx
또 ADD NEW INSTANCE 버튼 클릭 후
Worker2 노드 생성 후 join 스크립투 복붙
kubeadm join 192.168.0.8:6443 --token xxxxxxxx \
--discovery-token-ca-cert-hash sha256:xxxxxxxx
이렇게 하면
마스터 노드 1개와 워커노드 2개의 쿠버네티스 환경이 구성되었습니다.
정말 금방 구성이 완료됩니다.
4시간 동안 여러가지 실습해보시면 되겠습니다.
댓글