Share
Sign In

쿠버네티스 클러스터 구성

쿠버네티스 마스터 구성

💬
해당 과정은 마스터 노드에서만 진행 함.
1.
클러스터 매니페스트 파일 생성
kubeadm config print init-defaults > kubeadm-init.yaml
vi kubeadm-init.yaml
2.
매니페스트 설정 변경
apiVersion: kubeadm.k8s.io/v1beta3 bootstrapTokens: - groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authentication kind: InitConfiguration localAPIEndpoint: advertiseAddress: 192.168.101.201 bindPort: 6443 nodeRegistration: criSocket: unix:///var/run/containerd/containerd.sock imagePullPolicy: IfNotPresent name: m1.lab1.px.local taints: null --- apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta3 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: {} dns: {} etcd: local: dataDir: /var/lib/etcd imageRepository: registry.k8s.io kind: ClusterConfiguration kubernetesVersion: 1.27.0 networking: dnsDomain: cluster.local serviceSubnet: 10.96.0.0/12 podSubnet: 10.224.0.0/16 scheduler: {}
localAPIEndpoint.advertiseAddress
마스터 노드의 IP
nodeRegistration.name
마스터 노드의 호스트명
clusterName
쿠버네티스 클러스터 명
networking.podSubnet
Pod에 할당되는 IP 범위
3.
마스터 노드 구성
kubeadm init --config=kubeadm-init.yaml
4.
kubectl 명령어 사용 권한 부여
mkdir -p $HOME/.kube && \ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config && \ sudo chown $(id -u):$(id -g) $HOME/.kube/config

워커 노드 조인(Join)

💬
해당 과정은 워커 노드 3기 에서만 진행 함.
1.
Join 토큰 생성
kubeadm token create --print-join-command
2.
워커 노드 조인
kubeadm join 192.168.101.201:6443 --token g1ulmw.9xcrzcaj05it1aqy --discovery-token-ca-cert-hash \ sha256:0b2215b0d0e0a08cbff01b9d34b9f08791cc80e512c98c8493623f4ab3bce36c

CNI 설치

💬
해당 과정은 마스터 노드에서만 진행 함.
1.
Calico YAML 다운로드
wget https://raw.githubusercontent.com/projectcalico/calico/v3.27.2/manifests/calico.yaml --no-check-certificate
2.
Calico 배포
kubectl apply -f calico.yaml

클러스터 구성 확인

1.
클러스터 확인
kubectl get nodes
2.
Pod 상태 확인
kubectl get po -A