The network must be deployed before any applications. Also, CoreDNS will not start up before a network is installed. kubeadm only supports Container Network Interface (CNI) based networks (and does not support kubenet).
Creating a single control-plane cluster with kubeadm
kubernetes.io
클러스터를 생성하기 전에 네트워크가 완전히 연결되어있어야 한다. 포드 간 네트워크 연결을 위해 포드-네트워크-애드온 중 Calico를 선택했다. 우선 단일 클러스터 생성 및 Calico 설치를 진행해보았다.
아래 설치 내용은 다음 사이트에서 확인 할 수 있습니다.
https://docs.projectcalico.org/v3.11/getting-started/kubernetes/
Quickstart for Calico on Kubernetes
Quickstart for Calico on Kubernetes Overview This quickstart gets you a single-host Kubernetes cluster with Calico in approximately 15 minutes. You can use this cluster for testing and development. To deploy a cluster suitable for production, refer to Inst
docs.projectcalico.org
=============================
*20200109 추가
firewalld, swap off
# swapoff -a
# systemctl stop firewalld
# systemctl disable firewalld
=============================
우선 제어평면노드(etcd, API 서버 등) 초기화를 진행합니다.
1. 제어평면노드 초기화
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
2. root 외 사용자 kubectl 허용
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
안했을 경우 The connection to the server localhost:8080 was refused 발생
3. Calico 설치
#Calico 설치
kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml
#설치 확인
watch kubectl get pods --all-namespaces
4. taint 설정, 포드 예약 (기본적으로 클러스터는 보안상의 이유로 포드를 예약하지 않음)
kubectl taint nodes --all node-role.kubernetes.io/master-
5. 클러스터 노드 확인
kubectl get nodes -o wide
6. NetworkManager를 사용하는 경우
*Calico 에이전트가 올바르게 라우팅하는 기능을 방해 할 수 있습니다.
vi /etc/NetworkManager/conf.d/calico.conf
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*
'Cloud > Kubernetes' 카테고리의 다른 글
Kubernetes 4] kubeadm join 노드 가입 (0) | 2019.12.23 |
---|---|
Kubernetes 2] kubeadm, kubelet 및 kubectl 설치 (0) | 2019.12.20 |
Kubernetes 1] 시작! (0) | 2019.12.20 |