이제 container runtime이 설치 되었으면 kubernetes 를 설치할 차례다.
https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
kubeadm 설치하기
이 페이지에서는 kubeadm 툴박스를 설치하는 방법을 보여준다. 이 설치 프로세스를 수행한 후 kubeadm으로 클러스터를 만드는 방법에 대한 자세한 내용은 kubeadm을 사용하여 클러스터 생성하기 페이
kubernetes.io
공식 사이트의 순서대로 각각 kubelet,kubectl,kubeadm 을 설치한다.
그리고 kubeadm init 을 하면 node가 생성되는데, 여기서 싱글 node로 마스터를 구성해서 사용할 생각이면 아무런 option 없이 kubeamd init 을 하고 추가 작업을 해줘도 되지만, 만일 클러스터로 kubernetes를 구성하려고 하면 control-pane 의 endpoint 를 share할수 있게 만들어야 한다. 즉 모든 node에서 master node 로 접근할 수 있어야 하는데 여기서 pod network 가 필요하다.
일단 pod network addon 으로 calico를 선택해서 작업을 진행해보자.
https://docs.projectcalico.org/getting-started/kubernetes/quickstart
Quickstart for Calico on Kubernetes
Install Calico on a single-host Kubernetes cluster for testing or development in under 15 minutes.
docs.projectcalico.org
위의 사이트의 공식 doc 대로 따라하면 되는데,
1.sudo kubeadm init --pod-network-cidr=192.168.0.0/16
kubeadm init이 끝난다음, 나오는 로그를 꼭 보고 kubeadm join으로 시작되는 명령어를 기록해 둬야한다. kubeadm 끝났으면 계속 진행하자.
2.mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
id 는 현재 로그인된 유저의 아이디를 적으면 된다. ex) sudo chown test1:~/.kube/config
3.kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
4.kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
그리고 그 뒤에 작업들을 완료해주면 된다.
그후 kubectl get nodes -o wide 로 현재 생성된 노드를 확인하면 master node가 생성된걸 볼수 있다. 이제 worker node를 구성하면 된다. master node와 마찬가지로 docker를 설치하고 cgroup을 systemd 로 고정한 뒤, kubeadm init 이 끝나고 나왔던 kubeadm join ~ 을 써준다.
설치 후 마찬가지로 kubectl get nodes -o wide 를 해보면 kubeadm init 만 했을때와 다르게 node가 2개로 늘어난 걸 볼수있다. 그런데 worker node 의 status가 notReady 상태인걸 볼수 있을텐데. 이는 init을 했을때와 마찬가지로 .kube/config 를 세팅해줘야 하기 때문이다. 그래서 master node의 .kube/config 를 복사해서 wokernode에 config 파일을 만들어주었다.
scp $masternode server ip:$workernode server ip:/$HOME/.kub/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
이후 권한 설정까지 마치고, calico 설정까지 해주고 난 후 kubectl get node를 해보면 worker 와 master node가 ready 상태가 된 걸 확인할 수 있다.
'Kubernetes > Kubernetes 연습' 카테고리의 다른 글
VM 이용해서 Kubernetes 설치하기 - 2 (0) | 2021.06.20 |
---|---|
VM 이용해서 Kubernetes 설치하기 - 1 (0) | 2021.06.20 |