非常详细的Kubernetes多master节点操作

Kubernetes-----多master节点操作

文章目录

前言

一、多节点群集介绍

二、搭建master2节点

三、部署负载均衡

四、Pod创建

五、dashboard创建

前言

上次我们已经介绍了如何部署Kubernetes单节点的二进制部署,今天我们就来看看如何再增加一个master节点操作

一、多节点群集介绍

  • 架构图,上次已经架构了单master节点,现在只需要在增加一个master节点即可,然后配置nginx

在这里插入图片描述

  • 介绍

    • 区别于单master的二进制集群,多master集群对master做了一个高可用,如果master1宕机,Load Balance就会将VIP转移到master2,这样就保证了master的可靠性。
    • 多节点的核心点就是需要指向一个核心的地址,我们之前在做单节点的时候已经将vip地址定义过写入k8s-cert.sh脚本文件中(192.168.100.100),vip开启apiserver,多master开启端口接受node节点的apiserver请求,此时若有新的节点加入,不是直接找moster节点,而是直接找到vip进行spiserver的请求,然后vip再进行调度,分发到某一个master中进行执行,此时master收到请求之后就会给改node节点颁发证书
    • 建立负载均衡缓解了nodes对master的请求压力,减轻了master资源使用
  • 实验环境

节点 IP地址 节点组件
master1 192.168.100.10 kube-apiserver、kube-controller-manager、kube-scheduler、etcd
master2 192.168.100.40 kube-apiserver、kube-controller-manager、kube-scheduler
node1 192.168.100.20 kubelet、kube-proxy、docker、flannel、etcd
node2 192.168.100.30 kubelet、kube-proxy、docker、flannel、etcd
nginx1 192.168.100.50 nginx、keepalived
nginx2 192.168.100.60 nginx、keepalived
  • 利用之前的单master环境
  • 利用nginx做负载均衡,用KeepAlived做高可用。注:1.9版本之后nginx具有了四层转发的功能(负载均衡),多了stream模块
  • 利用keepalived给master提供的虚拟IP地址,给node访问连接apiserver。

二、搭建master2节点

  • master1上面操作。复制kubernetes目录到master2目录下
[root@master ~]# scp -r /opt/kubernetes/ root@192.168.100.40:/opt
root@192.168.100.40's password: 
  • 复制master中的三个组件启动脚本到master2
[root@master ~]# scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@192.168.100.40:/usr/lib/systemd/system/
root@192.168.100.40's password:
  • 修改启动文件配置ip,在master2中操作
[root@master2 ~]# cd /opt/kubernetes/cfg/
[root@master2 cfg]# vim kube-apiserver

KUBE_APISERVER_OPTS="--logtostderr=true \
--v=4 \
--etcd-servers=https://192.168.100.10:2379,https://192.168.100.20:2379,https://192.168.100.30:2379 \
--bind-address=192.168.100.40 \             ####修改成master2的地址
--secure-port=6443 \
--advertise-address=192.168.100.40 \        ####修改成master2的地址
--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
  • 将master1节点上的证书复制到master中
[root@master ~]# scp -r /opt/etcd/ root@192.168.100.40:/opt/
root@192.168.100.40's password: 
  • 启动master02中的三个组件服务
[root@master2 cfg]# systemctl start kube-apiserver.service 
[root@master2 cfg]# systemctl start kube-controller-manager.service 
[root@master2 cfg]# systemctl start kube-scheduler.service
  • 增加环境变量,查看节点情况
[root@master2 cfg]# vim /etc/profile
####最后一行增加
export PATH=$PATH:/opt/kubernetes/bin/
[root@master2 cfg]# source /etc/profile    ####刷新服务
[root@master2 cfg]
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值