Docker Playground (play-with-k8s.com)
에 들어가서 메뉴얼에 나와있는데로 한다.
1번 명렁어를 통해 쿠버네티스 마스터 노드를 초기화해준다.
kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16
$() = command substitution 이경우에는 host의 ip address
pod = one or more container, smallest units of computing taht we can create and manage in kubernetes.
1번 명렁어가 끝나면 이 명령어를 통해 worker node 를 join해줄 수 있다.
kubeadm join 192.168.201.130:6443 --token gg78li.keoo5uh3kgon3imr --discovery-token-ca-cert-hash sha256:3c231ce485add9432fb872479ae5ada09ca965ee5b965aa3c15b46076f56d897
네트워크 초기화도 해준다.
kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml
현재는 이러한 환경으로 구성이 완료되었다.
CNI는 종류가 많은데 모두 컨테이너끼리 소통하기위해 존재하는 인터페이스이다.
직접 깔아보자 우선 도커부터~
Install Docker Engine on Ubuntu | Docker Documentation
이제 쿠버네티스를 깔아보자 차례대로 하면된다. ufw disable 을 통해 방화벽을 꼭 끄도록하자
Installing kubeadm | Kubernetes
Creating a cluster with kubeadm | Kubernetes
237summit/k8s_core_labs (github.com)
https://kubernetes.io/ko/docs/setup/production-environment/container-runtimes/#%EB%8F%84%EC%BB%A4
컨테이너의 cgroup 관리에 systemd를 사용하도록 도커 데몬을 구성 : 1.22 버전부터는 설정해야 한다.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
이명령어들을 실행해야 지금의 user가 kubectl 명령어 사용가능
CDI를 설치하니 Status 가 Ready로 바뀌었다.
이제 Worker node와 연결해보자
kubadm join이나 init 할때 뭔가 자꾸 이미 존재한다 뜬다? kubadm reset 으로 초기화 해주자
연결 성공
쿠버네티스 삭제하는법
kubeadm reset
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /run/flannel
rm -rf /etc/cni/
rm -rf /etc/kubernetes
rm -rf /var/lib/etcd/
ip link delete cni0
ip link delete flannel.1
yum remove -y kubelet
yum remove -y kubectl
yum remove -y kubeadm
systemctl start docker
kubeadm join 192.168.201.130:6443 --token iio6kr.5r3dah0t3j764i2p --discovery-token-ca-cert-hash sha256:5d9c183312fe72fe60eb52062affbaef32ecca02c51e5b5f0f751d478f3c2506
나의 worker node 를 join하기 위한 명령어이다. token.txt에 저장해두겠다.
kubectl 명렁을 쓰기위해서는
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
명령어로 허가해준후 사용이 가능하다.
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
이 명령어를 통해 CDI종류중 하나인 weave 를 설치한다.
이제 worker node join 하자
join한 후에 바로 되지는 않는다. 아래에 보면 ContainerCreating 이라고 하는 것을 확인할 수 있다. 라고 생각했는데 오류였다. kubeadm reset 을 하고 systemctl stop kubelet 하고 start , enable을 해주자 worker node도 마찬가지다
worker node의 경우 status 가 activating인 것을 확인한후 join 하자
연결이 잘되어 worker node 도 active로 바뀌고 Status 도 무사히 Ready로바뀌었다......
'Cloud > Kubernetes' 카테고리의 다른 글
[따배쿠] livenessProbe(Self healing Pod), init container ,infra container , static Pod , pod에 resource 할당하기 , pod 환경변수 설정 (0) | 2022.01.31 |
---|---|
[따배쿠] pod,Container 정리와 Single / Multi Container Pod 생성 , pod 동작 flow (0) | 2022.01.28 |
[따배쿠 youtube] 쿠버네티스 아키텍쳐 ,namespace, (0) | 2021.04.26 |
[따배쿠 youtube] kubectl , container 동작 flow (0) | 2021.04.24 |
[따배쿠 youtube] 쿠버네티스 소개 (0) | 2021.04.19 |