步骤简介:
准备
1,所有节点设置 /etc/hosts ,写好 master 和 node 的主机名到ip的映射。
2,保证所有主机的防火墙关闭,selinux 关闭。
3,确保各个节点能够正常通信,并且确保master节点可以ssh免密登录其他节点。
4,安装设置好docker 服务,启动服务,并且加入开机启动。
5,配置好K8S 的yum源,确保可以下载k8s的组件。
6,设定好k8s的系统参数。修改/etc/systctl.d/k8s.conf 文件,并且使配置生效。加载一下网桥过滤模块。lsmod | grep br_netfilter
7,禁用swap分区,swapoff -a,并且在 /etc/fstab 文件中注释swap 分区这行。
8,安装ipvs 和ipvsadmin。
yum install ipset ipvsadmin -y
cat <<EOF > /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
安装基本的工具
1,所有节点上使用yum 下载好kubeadm、kubectl、kubelet。
yum install kubeadm-1.18.0-4 kubelet kubectl --setopt=obesoletes=0 #不指定版本默认下载最新的
2,修改kubelet 的cgroup
编辑 /etc/sysconfig/kubelet ,添加
KUBULET_CGROUP_ARGS="--cgroup-driver=systemd"
KUBE_PROXY_MODE="ipvs"
然后设置kubelet开机自启。systemctl enabled kubelet
#分两步执行命令也可以
images=(
kube-apiserver:v1.18.20
kube-controller-manager:v1.18.20
kube-scheduler:v1.18.20
kube-proxy:v1.18.20
pause:3.2
etcd:3.4.3-0
coredns:1.6.7
)
for imageName in ${images[@]} ; do
docker pull registry.aliyuncs.com/google_containers/$imageName
docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.aliyuncs.com/google_containers/$imageName
done
4,初始化master节点,只在master上操作
kubeadm init \
--apiserver-advertise-address=192.168.10.10 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
5,成功后面按提示建立目录,复制配置文件等。还有要将节点加入集群的命令,在需要加入的节点上这个命令就可以加入到集群了。
kubeadm join 192.168.10.10:6443 --token bhl53n.h4gzmc2z59oph5p3 \
--discovery-token-ca-cert-hash sha256:8820d30dfd869ed2a2c5795c64707e95e18ca78d35cde5141dc294abc6bd0247