2025.07.12 - [Cloud/Kubernetes] - [k8s] kubeadm์ผ๋ก ํด๋ฌ์คํฐ ๊ตฌ์ฑ(1)
[k8s] kubeadm์ผ๋ก ํด๋ฌ์คํฐ ๊ตฌ์ฑ(1)
์ด์ ์ kind๋ฅผ ์ด์ฉํ์ฌ ๋ก์ปฌ์ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ์์ผ๋ kind๋ง ์ฌ์ฉํ๋ฉด ์ธ๋ถ์ ํต์ ์ด ์ ๋๋ค. ๊ทธ๋์ ๋ก๋๋ฐธ๋ฐ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด metallb๊ฐ ํ์ํ๋ค. ๊ทธ๋์ ์ด๋ฒ์๋ CKA๋ฅผ ๊ณต๋ถํ๋ฉฐ ์๊ฒ ๋ kub
lucy-devblog.tistory.com
์์ง ๊ฐ์ ๋จธ์ ์ค์ ํ์ง ์์ผ์ จ๋ค๋ฉด ์ด์ ๊ธ์ ์ฐธ๊ณ ํ์ ์ ์ค์ ๋จผ์ ํ์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ผ ์ด์ ๋ ๋ง์คํฐ ๋ ธ๋๋ฅผ ์ค์ ํ๊ณ ์์ปค ๋ ธ๋๊น์ง ์กฐ์ธํ์ฌ ํด๋ฌ์คํฐ๊ฐ ๊ตฌ์ฑ์ด ์ ์์ ์ผ๋ก ๋์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค.
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
Creating a cluster with kubeadm
Using kubeadm, you can create a minimum viable Kubernetes cluster that conforms to best practices. In fact, you can use kubeadm to set up a cluster that will pass the Kubernetes Conformance tests. kubeadm also supports other cluster lifecycle functions, su
kubernetes.io
1๏ธโฃ์ปจํธ๋กค ํ๋ ์ธ(๋ง์คํฐ) ๋ ธ๋ ์ด๊ธฐํ
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<๋ง์คํฐIP>
Calico๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋๋ฐ ์ฒ์ํด๋ณด๋ ๊ฑฐ๋ผ Flannel์ ์ฌ์ฉํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋์ pod cidr์ 10.244.0.0/16๋ก ์ค์ ํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ kubeadm init ํ ๋ง์ง๋ง ์ค์ ๋์ค๋ kubeadm join ๋ช ๋ น์ด๋ ๋ฉ๋ชจํ๊ณ ๋์ค์ ์์ปค ๋ ธ๋ ์กฐ์ธ ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
2๏ธโฃ๋ง์คํฐ ๋ ธ๋์์ kubectl ์ฌ์ฉ ์ค์
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
์ ๋ช ๋ น์ด๋ kubeadm init์ ํ ํ ๋์ค๋๋ฐ ๋ณต์ฌํด์ ํ์๊ฑฐ๋ ์ง์ ์ ๋ ฅํด์ kubectl์ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
3๏ธโฃCNI(๋คํธ์ํฌ ํ๋ฌ๊ทธ์ธ) ์ค์น
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
flannel์ ์ฌ์ฉํ๊ธฐ ์ํด ์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ CNI๋ฅผ ์ค์นํฉ๋๋ค.
kubectl apply๋ฅผ ํ๋ฉด ์์ ๊ฐ์ด ์์ฑ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
4๏ธโฃ์์ปค ๋ ธ๋์์ ํด๋ฌ์คํฐ ์กฐ์ธ
kubeadm join <๋ง์คํฐ๋
ธ๋ IP>:6443 --token <ํ ํฐ> --discovery-token-ca-cert-hash sha256:<ํด์>
์ด์ ์๊น ๋ณต์ฌํด๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์์ปค ๋ ธ๋๋ฅผ ์กฐ์ธํด์ค๋๋ค.
5๏ธโฃ๋ง์คํฐ์์ ํ์ธ
kubectl get nodes๋ก ํ์ธํ๋ฉด ์กฐ์ธ๋ ์์ปค ๋ ธ๋๋ค์ด Ready ์ํ์์ ํ์ธํ ์ ์์ต๋๋ค.
kubeadm์ผ๋ก ๋ง๋๋ ค๊ณ ๊ณ์ ์๊ฐํ๋ค๊ฐ ๋๋์ด ๋ง๋ค์ด์ ๋งค์ฐ ๋ฟ๋ฏํ๋ค.โบ๏ธ
๊ทธ๋ฆฌ๊ณ shell script ๊ณต๋ถํ๊ณ ์ฒ์ ์ ๋๋ก ์ฌ์ฉํด๋ดค๋๋ฐ ์๋ํ ์ต๊ณ ๋ค๐๐ป๐๐ป
๋ค์์๋ calico๋ก CNI ๋ฐ๊ฟ ๋ด์ผ์ง~~
'Cloud > Kubernetes' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[k8s] kind ํด๋ฌ์คํฐ์ MetalLB ์ค์นํ๊ธฐ (0) | 2025.08.08 |
---|---|
[k8s] kubeadm์ผ๋ก ํด๋ฌ์คํฐ ๊ตฌ์ฑ(1) (1) | 2025.07.12 |
[k8s] helm์ผ๋ก Grafana์ Prometheus ์ค์นํ๊ธฐ (0) | 2025.04.01 |
[k8s] GKE์์ ArgoCD ์ค์น ๋ฐ Github Repository ์ฐ๊ฒฐ (0) | 2025.02.24 |
[k8s] Kubernetes Scheduling (0) | 2024.12.04 |