文章目录
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