目录
2.6、修改node节点上的配置文件中的server为VIP地址
一、环境部署
服务器类型 | 主机名 | IP地址 | 主要软件 |
---|---|---|---|
k8s集群 master01 节点(etcd集群节点1) | master01 | 172.16.88.77 | kube-apiserver、kube-controller-manager、kube-scheduler、etcd |
k8s集群 master02 节点 | master02 | 172.16.88.66 | kube-apiserver、kube-controller-manager、kube-scheduler、etcd |
k8s集群 node01 节点 (etcd集群节点2) |
node01 | 172.16.88.88 | kubelet、kube-proxy、docker、etcd |
k8s集群 node02 节点 (etcd集群节点3) |
node02 | 172.16.88.99 | kubelet、kube-proxy、docker、etcd |
负载均衡 nginx+keepalive01(master) | ngkeep01 | 172.16.88.11 | nginx、keepalive |
负载均衡 nginx+keepalive02(backup) | ngkeep02 | 172.16.88.22 | nginx、keepalive |
虚拟 VIP 地址 | - | 172.16.88.100 |
(1)所有设备关闭防火墙,清空iptables规则
systemctl disable --now firewalld
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
(2)所有设备关闭selinux
setenforce 0 #临时关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config #永久关闭
(3)所有设备关闭swap
swapoff -a #临时关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭
(4)修改所有设备的主机名
[root@localhost ~]#hostnamectl set-hostname master01
[root@localhost ~]#bash
[root@localhost ~]#hostnamectl set-hostname master02
[root@localhost ~]#bash
[root@localhost ~]#hostnamectl set-hostname node01
[root@localhost ~]#bash
[root@localhost ~]#hostnamectl set-hostname node02
[root@localhost ~]#bash
[root@localhost ~]#hostnamectl set-hostname ngkeep01
[root@localhost ~]#bash
[root@localhost ~]#hostnamectl set-hostname ngkeep02
[root@localhost ~]#bash
(5) 所有设备修改本地的hosts文件
cat >> /etc/hosts << EOF
172.16.88.77 master01
172.16.88.66 master02
172.16.88.88 node01
172.16.88.99 node02
172.16.88.11 ngkeep01
172.16.88.33 ngkeep02
EOF
(7)所有设备调整内核参数
cat > /etc/sysctl.d/k8s.conf << EOF
#开启网桥模式,可将网桥的流量传递给iptables链
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
#关闭ipv6协议
net.ipv6.conf.all.disable_ipv6=1
net.ipv4.ip_forward=1
EOF
(8)所有设备实现时间同步
yum install ntpdate -y
ntpdate time.windows.com
二、master02 节点部署
1、拷贝相关文件
从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点
[root@master01 ~]#scp -r /opt/etcd/ root@172.16.88.66:/opt/
[root@master01 ~]#scp -r /opt/kubernetes/ root@172.16.88.66:/opt
[root@master01 ~]#scp -r /root/.kube root@172.16.88.66:/root
[root@master01 ~]#scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@172.16.88.66:/usr/lib/systemd/system/
2、修改配置文件
修改配置文件 kube-apiserver 中的IP
[root@master02 ~]#vim /opt/kubernetes/cfg/kube-apiserver
KUBE_APISERVER_OPTS="--logtostderr=true \
--v=4 \
--etcd-servers=https://172.16.88.77:2379,https://172.16.88.88:2379,https://172.16.88.99:2379 \
--bind-address=172.16.88.66 \ #修改成master02本机的apiserver的ip地址
--secure-port=6443 \
--advertise-address=172.16.88.66 \ #修改成master02本机的apiserver的ip地址
......
3、启动各服务并设置开机自启
在 master02 节点上启动各服务并设置开机自启
[root@master02 ~]#systemctl start kube-apiserver.service
[root@master02 ~]#systemctl enable kube-apiserver.service
[root@master02 ~]#systemctl start kube-controller-manager.service
[root@master02 ~]#systemctl enable kube-controller-manager.service
[root@master02 ~]#systemctl start kube-scheduler.s