1.前期配置
1.1 开启相关端口
master 节点
协议 | 方向 | 端口范围 | 作用 | 使用者 |
TCP | 入站 | 6443 | Kubernetes API 服务器 | 所有组件 |
TCP | 入站 | 2379-2380 | etcd 服务器客户端 API | kube-apiserver、etcd |
TCP | 入站 | 10250 | Kubelet API | kubelet 自身、控制平面组件 |
TCP | 入站 | 10251 | kube-scheduler | kube-scheduler 自身 |
TCP | 入站 | 10252 | kube-controller-manager | kube-controller-manager 自身 |
worker 节点
协议 | 方向 | 端口范围 | 作用 | 使用者 |
TCP | 入站 | 10250 | Kubelet API | kubelet 自身、控制平面组件 |
TCP | 入站 | 30000-32767 | NodePort 服务 | 所有组件 |
所有节点
协议 | 方向 | 端口范围 | 作用 | 使用者 |
UDP | 入站 | 8472 | vxlan Overlay 网络通信 | Overlay 网络 |
1.2 所有主机都要创建虚拟网卡,并绑定对应的公网 ip
sudo ifconfig 网卡名(有的系统不为eth0):1 公网ip 例子: sudo ifconfig eth0:1 139.198.108.103
1.3 关闭防火墙
systemctl stop firewalld systemctl disable firewalld
1.4 配置主机名
hostnamectl set-hostname 主机名 echo "公网ip 主机名" >> /etc/hosts #互相配一下,你懂的
1.5 删除 swap
swapoff -a vim /etc/fstab #删除swap配置
1.6 允许 iptables 检查桥接流量
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf br_netfilter EOF cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sudo sysctl --system