쿠버네티스 설치가이드(2024.05.14)

김승오·2024년 9월 10일

쿠버네티스

목록 보기
1/27
post-thumbnail
  • ubuntu22.04

1. Before Install

  • 먼저 모든 스왑을 꺼주어야 함
  • 아래 코드는 재부팅해도 스왑 꺼주는 기능
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
  • 스왑 확인
free
  • 방화벽 제거
sudo ufw disable

2. IPV4 bridge on

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# sysctl params required by setup, params persist across reboots
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

# Apply sysctl params without reboot
sudo sysctl --system

3. Install kubelet, kubeadm, and kubectl

sudo apt-get update

sudo apt-get install -y apt-transport-https ca-certificates curl gpg
  • 만약 다음과 같은 오류가 뜬다면 재부팅 하고 다시시도

#최신버전임 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

4. Install Docker Engine

sudo apt install docker.io

sudo mkdir /etc/containerd

sudo sh -c "containerd config default > /etc/containerd/config.toml"

sudo sed -i 's/ SystemdCgroup = false/ SystemdCgroup = true/' /etc/containerd/config.toml

sudo systemctl restart containerd.service
sudo systemctl restart kubelet.service
sudo systemctl enable kubelet.service

5. Initialize the Kubernetes cluster on the master node

(여기부터 마스터노드에서만)

sudo kubeadm config images pull

sysctl net.bridge.bridge-nf-call-iptables=1 #네트워크 시스템 제어 https://4betterme.tistory.com/83

sudo kubeadm init --pod-network-cidr=10.244.0.0/16
#kubectl 명령어 설정 권한 주기
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

6. Configure kubectl

#Using default pod CIDR: 10.244.0.0/16
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
profile
코딩코

0개의 댓글