CentOS8にkubernetesをインストールするコマンドのメモです。rootで実行してます。
Master✕1, Worker✕2を作りました。
Dockerインストール(全Node共通)
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && \
dnf -y install --nobest docker-ce docker-ce-cli && \
dnf -y update https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm && \
dnf -y update docker-ce && \
systemctl start docker && systemctl enable docker
※podmanがインストール済だったら、uninstallしてからdockerを入れましょう。
↓ありがとうごさいます。
https://qiita.com/cyberblack28/items/0b0ec02bce67a16e2f17
kubectl, kubeadm, kubeletインストール(全Node共通)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
setenforce 0 && \
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config &&\
swapoff -a && \
dnf install -y kubectl kubelet kubeadm --disableexcludes=kubernetes &&\
systemctl enable --now kubelet
Master setup
firewall設定
firewall-cmd --add-port=6443/tcp --zone=public --permanent && \
firewall-cmd --add-port=2379-2380/tcp --zone=public --permanent && \
firewall-cmd --add-port=10250-10252/tcp --zone=public --permanent && \
firewall-cmd --reload
kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
Worker setup
firewall設定
firewall-cmd --add-port=10250/tcp --zone=public --permanent && \
firewall-cmd --add-port=30000-32767/tcp --zone=public --permanent && \
firewall-cmd --reload
Master setup時に出力されたkubeadm joinのtokenをメモっておいて実行
kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
おわり
できました。
$ kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 3h50m v1.18.1
k8s-worker1 Ready worker 3h44m v1.18.1
k8s-worker2 Ready worker 4m34s v1.18.1