less than 1 minute read

설치가이드

  • Master Node: kubeadm, kubectl, CRI 필요
  • Worker Node: kubeadm, kubelet, CRI 필요
  • 스냅샷을 떠가면서 진행하는것을 추천 (중간에 잘못될시 스냅샷으로 빠르게 복원가능)
  • 클러스터 구축후 CNI 구현체를 설치해야 pod을 띄울수 있음

설치에 참고한 중요 자료

  • https://computingforgeeks.com/deploy-kubernetes-cluster-on-ubuntu-with-kubeadm/#12-step-7-add-worker-nodes

주요 포인트

swap 비활성화

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

# confirm disabled swap space
sudo vim /etc/fstab
 
sudo swapoff -a
sudo mount -a
free -h

커널 모듈 활성화 및 커널 파라미터 수정

# union file system을 위해 사용
sudo modprobe overlay

# 노드에서 팟 사이의 NAT에 필요
sudo modprobe br_netfilter

# nat 파라미터 설정
sudo tee /etc/sysctl.d/kubernetes.conf<<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

# 커널 리로드
sudo sysctl --system

주요 트러블 슈팅

방화벽, selinux 비활성화 체크

  • selinux permissive 로 설정

Multi cri socket found

  • https://velog.io/@kbw0226/KubernetesMulti-CRI-socket-found
  • –cri-socket /run/cri-dockerd.sock 옵션으로 소켓 직접 지정
  • https://it-hangil.tistory.com/5
# pod 대역은 노드 네트워크 대역과 겹치지 않게
sudo kubeadm init --pod-network-cidr=10.14.0.0/16 --apiserver-advertise-address=192.168.76.129 --cri-socket /run/cri-dockerd.sock

주요 Commands

# join 시에도 --cri-socket 지정
kubeadm join 192.168.76.129:6443 --token 6ob5rt.2k7zz3nj9hocg8a9 \
	--discovery-token-ca-cert-hash sha256:6782c2419a0a49e15eb1c0400b3be5138f7f10eda3869cce5b6bf4db95c6e30e
            --cri-socket /run/cri-dockerd.sock

참고자료

  • https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
  • https://computingforgeeks.com/deploy-kubernetes-cluster-on-ubuntu-with-kubeadm/#12-step-7-add-worker-nodes
  • https://computingforgeeks.com/install-mirantis-cri-dockerd-as-docker-engine-shim-for-kubernetes/
  • https://andrewpage.tistory.com/23

Leave a comment