본문 바로가기
🌴 DevOps/Docker & K8s

쿠버네티스 환경구성(kubeadm.ver)(4/5)-마스터노드설정

by 카프리썬_ 2020. 5. 18.
728x90

마스터노드 설정할 부분 

  • kubeadm init --pod-netowork-cidr =[ip대역] : pod 네트워크 설정
  • kubeadm init --apiserver-advertise-address =[API Server주소] : 마스터노드의 api서버주소 설정
  • (추가)kubeadm init --control-plane-endpoint : 모든 마스터노드에 대한 공유 엔드포인트 설정

워커노드 설정할 부분 

  • kubeadm join : 워커노드를 마스터노드에 결합 (워커노드에서 실행)

 

1. pod 네트워크 설정

pod가 서로 통신할 수 있도록 pod네트워크 애드온 설치

kubeadm은 CNI(Container Network Interface)기반의 애드온(플러그인) 필요

CNI 플러그인 종류 ex) Flannel, Calico

 

참고) 각 플러그인 별로 초기화코드 

참고) Calico 네트워크 플러그인 설치하는 방법 

 

현재 테스트환경 : Flannel 플러그인 사용 

 

1) pod Network 초기화

pod network를 연결할 ip대역설정

현재 테스트는 pod 네트워크로 Flannel을 사용할 '예정'이기 때문에 10.244.0.0/16 지정

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

10.244.0.0/16 : Flannel 플러그인에서 기본적으로 권장하는 네트워크 대역

일부러 호스트 네트워크로 잘 사용하지 않는 대역을 권장하는 것

만약 호스트 네트워크에서 10.244.0.0/16 을 사용하면 다른 값으로 설정 

successfully 밑에 나온말 따라하기

- 클러스터 설정파일 복사하기

-(워커)노드 추가하는 명령어 복사하기

마지막에 kubeadm join 으로 시작하는 명령어 

 

2) pod network 추가 (Flannel 플러그인)

추가하기 이전, 클러스터 노드정보 확인 (NotReady)

kubectl get nodes

현재 테스트는 pod 네트워크로 Flannel을 사용

그래서 Flannel 플러그인추가 

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

클러스터 노드정보 : Ready

3) iptables 설정

CNI 플러그인이 작동하기 위한 요구사항 

sudo sysctl net.bridge.bridge-nf-call-iptables=1

브릿지 되어 있는 ipv4트래픽을 iptables 체인으로 전달할 수 있도록 명령어 실행

4) 방화벽 확인 

방화벽 규칙이 UDP 8285, 8472 포트의 트래픽을 허용하는지 확인 

UDP 8285 : Flannel 플러그인이 UDP백엔드를 사용해서 캡슐화된 패킷을 보내는 포트

UDP 8472 : 커널이 vxlan 백엔드를 사용해서 캡슐화된 패킷을 보내는 포트

 

 

2. API Server 주소설정 

지금 설정하는 노드가 '마스터 노드'로 동작할 것이라고 kubeadm에게 알려줘야함

 

1) 자신 네트워크 인터페이스 확인 

ifconfig

마스터노드의 ip주소(10.0.0.207) 를 API서버에 대한 주소값으로 설정

또는 ip addrs show

 

<여기서부터 안댐>

2) api 서버주소 설정

kubeadm init --apiserver-advertise-address=10.0.0.207

private / public ip 둘다 안댐ㅠㅠ

어떤 주소를 API 서버주소로 설정해야하지?

 

 

pod 확인

워커노드

마스터노드를 생성하고나서 마지막에 노드를 추가하는 명령어

kubeadm join 10.0.0.207:6443 --token 9caxvv.5t1v933kw8nytmwl \ 
    --discovery-token-ca-cert-hash sha256:b79ed7484c1fd66d88bdee6dff15e7c7f0f4367f402da7bccc3af4427465484e 

 

 

출처

https://medium.com/finda-tech/overview-8d169b2a54ff

 

Kubernetes 설치 및 환경 구성하기

How to configure a Kubernetes cluster

medium.com

https://hiseon.me/linux/ubuntu/ubuntu-kubernetes-install/

 

우분투 Kubernetes 설치 방법 - HiSEON

우분투 Kubernetes 설치 방법 Kubernetes를 설치 후 Master 노드를 초기화하고, Pod Network 를 추가 한 뒤에 Slave 노드를 추가하도록 하겠습니다. 그리고 마지막으로 Dashboard를 설정하는 방법까지 함께 설명�

hiseon.me

 

반응형