环境准备
hosts
1 | [root@node1 ~]# cat /etc/hosts |
创建/etc/sysctl.d/k8s.conf文件
1 | [root@node1 ~]# cat /etc/sysctl.d/k8s.conf |
1 | modprobe br_netfilter |
添加ipvs
1 | cat > /etc/sysconfig/modules/ipvs.modules <<EOF |
1 | chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4 |
安装ipset和ipvsadm包
1 | yum install ipset ipvsadm -y |
关闭swap
1 | swapoff -a |
安装docker
1 | yum install -y yum-utils \ |
1 | yum-config-manager \ |
安最新的版本:
1 | yum install docker-ce-19.03.1-3.el7 -y |
安加速,并且修改cgroup driver
根据文档CRI installation中的内容,对于使用systemd作为init system的Linux的发行版,使用systemd作为docker的cgroup driver可以确保服务器节点在资源紧张的情况更加稳定,因此这里修改各个节点上docker的cgroup driver为systemd。
1 | systemctl start docker |
安装k8s
配置yum源
1 | cat <<EOF > /etc/yum.repos.d/kubernetes.repo |
安装 kubeadm、kubelet、kubectl
1 | yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes |
看下版本:
1 | [root@node1 ~]# kubeadm version |
注意:如果是多master,多节点,以上操作是所有节点都操作
初始化集群
导出初始化配置
1 | kubeadm config print init-defaults > kubeadm.yaml |
修改文件:
1 | [root@node1 ~]# vim kubeadm.yaml |
初始化
1 | [root@node1 ~]# kubeadm init --config kubeadm.yaml |
kubeconfig
1 | [root@node1 ~]# mkdir -p $HOME/.kube |
添加节点
1 | kubeadm join 192.168.3.195:6443 --token abcdef.0123456789abcdef \ |
如果忘记了上面的 join 命令可以使用命令
kubeadm token create --print-join-command
重新获取。
1 | [root@node1 ~]# kubectl get nodes |
calico
下载
1 | wget https://docs.projectcalico.org/v3.8/manifests/calico.yaml |
修改下yaml文件
1 | - name: calico-node |
1 | [root@node1 ~]# kubectl apply -f calico.yaml |
1 | [root@node1 ~]# kubectl get pods -n kube-system |
1 | [root@node1 ~]# kubectl get nodes |