2020年10月29日 星期四

Install Kubernetes Cluster With CRI-O: Part2 Install kubeadm / kubelet / kubectl

在三台主機做Kubernetes Cluster的情境下
(Version = 1.18.3)
192.168.53.204  k8s-master  ---CentOS 7.8
192.168.53.205  k8s-node1   ---CentOS 7.8
192.168.53.206  k8s-node2   ---CentOS 7.8


1. 新增sysctl配置 

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system

2. 關閉SWAP 和 Selinux

swapoff -a 

編輯/etc/fstab , 並註解swap的配置

setenforce 0

sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

3.新增hosts

在/etc/hosts上新增

192.168.53.204  k8s-master
192.168.53.205  k8s-node1 
192.168.53.206  k8s-node2

4. 新增kubernetes Repo

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://packages.cloud.google.com/yum/doc/yum-key.gpg http://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF


5.安裝 kubeadm / kubelet  / kubectl 

yum install kubeadm-1.18.3-0 kubectl-1.18.3-0 kubelet-1.18.3-0 --disableexcludes=kubernetes


6. 調整cgroup配置 (預設是吃 docker的cgroup , 使用CRI-O要改配置)

修改 /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf




修改後
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS $KUBELET_CGROUP_ARGS


7. 啟動服務 kubelet

systemctl daemon-reload
systemctl start kubelet
(因為使用CRI-O啟動會失敗, kubeadm init後就會正常)



參考:
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
https://blog.csdn.net/twingao/article/details/105382305
https://ithelp.ithome.com.tw/articles/10209357




沒有留言:

張貼留言