PaaS/Kubernetes

ContainerD에서 Kubernetes 설치하기

armyost 2024. 2. 15. 23:28
728x90

런타임 설치

$ sudo dnf -y upgrade
$ sudo setenforce 0
$ sudo sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
$ sudo swapoff -a

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

$ sudo modprobe overlay
$ sudo modprobe br_netfilter

$ cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

$ sudo sysctl --system

$ sudo yum install yum-utils -y
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install containerd -y

$ sudo mkdir -p /etc/containerd
$ containerd config default | sudo tee /etc/containerd/config.toml

 

ContainerD 설정을 하고 재시작 한다.

$ sudo vi /etc/containerd/config.toml
..
        [plugins."io.containerd.grpc.v1.cri".containerd.default_runtime.options]
          SystemdCgroup = true
..

$ sudo systemctl enable containerd
$ sudo systemctl restart containerd



kubernetes tool 설치

$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF

$ sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

$ sudo systemctl enable --now kubelet


클러스터 설치

Control-Plane

$ sudo kubeadm init

$ wget https://docs.projectcalico.org/manifests/calico.yaml --no-check-certificate
$ kubectl apply -f calico.yaml


Data-Plane

$ sudo kubeadm join 172.31.12.94:6443 --token l00oyv.xvxxxxxggsb \
        --discovery-token-ca-cert-hash sha256:d7391bbxxxxxxxx