LoginSignup
2
4

More than 3 years have passed since last update.

CentOS8になるはやでkuberntesをインストールする手順

Last updated at Posted at 2020-04-12

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
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4