k8s多节点二进制部署(单节点基础上新加master2、两台LB安装nginx和keepalived实现负载均衡及高可用!)

Master1:192.168.2.3/24  kube-apiserver、kube-controller-manager、kube-scheduler、etcd
Master2:192.168.2.3/24  kube-apiserver、kube-controller-manager、kube-scheduler、etcd
Node01:192.168.2.5/24 kubelet、kube-proxy、docker、flannel、etcd
Node02:192.168.2.6/24 kubelet、kube-proxy、docker、flannel、etcd
LB01:192.168.2.7/24 nginx、keepalived
LB01:192.168.2.8/24 nginx、keepalived

注:先具备单master单节点部署环境

一、master02部署

1、首先关闭防火墙和selinux服务

Master2:192.168.2.4/24

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2、复制kubernetes目录到master02

Master1:192.168.2.3/24
//在master1上操作

scp -r /opt/kubernetes/ root@192.168.2.4:/opt

//复制master1中的三个组件启动脚本kube-apiserver.service kube-controller-manager.service kube-scheduler.service

scp /usr/lib/systemd/system/{
   kube-apiserver,kube-controller-manager,kube-scheduler}.service root@192.168.195.131:/usr/lib/systemd/system/

3、修改配置文件 kube-apiserver 中的IP

Master2:192.168.2.4/24
//master2上操作

cd /opt/kubernetes/cfg/
vim kube-apiserver
KUBE_APISERVER_OPTS="--logtostderr=true \
--v=4 \
--etcd-servers=https://192.168.195.149:2379,https://192.168.195.150:2379,https://192.168.195.151:2379 \
--bind-address=192.168.2.4 \
--secure-port=6443 \
--advertise-address=192.168.2.4 \
--allow-privileged=true \
--service-cluster-ip-range=10.0.0.0/24 \
--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,NodeRestriction \
--authorization-mode=RBAC,Node \
--kubelet-https=true \
--enable-bootstrap-token-auth \
--token-auth-file=/opt/kubernetes/cfg/token.csv \
--service-node-port-range=30000-50000 \
--tls-cert-file=/opt/kubernetes/ssl/server.pem  \
--tls-private-key-file=/opt/kubernetes/ssl/server-key.pem \
--client-ca-file=/opt/kubernetes/ssl/ca.pem \
--service-account-key-file=/opt/kubernetes/ssl/ca-key.pem \
--etcd-cafile=/opt/etcd/ssl/ca.pem \
--etcd-certfile=/opt/etcd/ssl/server.pem \
--etcd-keyfile=/opt/etcd/ssl/server-key.pem"

在这里插入图片描述
注意:master02一定要有etcd证书

4、拷贝master1上已有的etcd证书给master2使用

Master1:192.168.2.3/24

scp -r /opt/etcd/ root@192.168.2.4:/opt/

5、启动master2中的三个组件服务

Master2:192.168.2.4/24

systemctl start kube-apiserver.service 
systemctl enable kube-apiserver.service 
systemctl start kube-controller-manager.service 
systemctl enable kube-controller-manager.service 
systemctl start kube-scheduler.service 
systemctl enable kube-scheduler.service 

6、增加环境变量

Master2:192.168.2.4/24

vim /etc/profile

export PATH=$PATH:/opt/kubernetes/bin/  #末尾添加


source /etc/profile
[root@localhost cfg]# kubectl get nodes
NAME              STATUS   ROLES    AGE     VERSION
192.168.2.5       Ready    <none>   2d12h   v1.12.3
192.168.2.6       Ready    <none>   38h     v1.12.3

在这里插入图片描述

二、配置两台LB

LB01:192.168.2.7/24
LB02:192.168.2.8/24
//lb01 lb02操作

1、安装nginx服务,把nginx.sh拷贝到家目录

systemctl stop firewalld.service 
systemctl disable firewalld.service 
setenforce 0

vim /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0

yum install nginx -y

2、添加四层转发

vim /etc/nginx/nginx.conf 

events {
   
    worker_connections  1024;
}
stream 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值