(三)Kubernetes/K8s 高可用架构
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,高可用架构 采用多master+多lb+keepalive的方案实现(注意其中lb的ip 地址的证书)1,多master安装将原master 1 部署文件拷贝到新master,修改bind 地址 启动
千家信息网最后更新 2025年01月27日(三)Kubernetes/K8s 高可用架构
高可用架构 采用多master+多lb+keepalive的方案实现(注意其中lb的ip 地址的证书)
1,多master安装
将原master 1 部署文件拷贝到新master,修改bind 地址 启动 注意 由于需要连接etcd 需要拷贝etcd 的证书
scp -r /opt/kubernetes root@192.168.0.102:/optscp -r /opt/etcd/ssl root@192.168.0.102:/opt/etcdscp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@192.168.31.64:/usr/lib/systemd/system##修改apiserver配置文件为本地IPvim /opt/kubernetes/cfg/kube-apiserver.conf--bind-address=192.168.0.102 \--secure-port=6443 \--advertise-address=192.168.0.102 \#启动for i in $(ls /opt/kubernetes/bin/);do systemctl start $i;systemctl enable $i; done
lb部署
lb--nginx-mater
#安装Nginx+Keepalivedrpm -ivh http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.16.0-1.el7.ngx.x86_64.rpmvim /etc/nginx/nginx.conf ##注意添加的配置文件的位置 特别是需要inclued 插入放于events 和http 之间stream { log_format main '$remote_addr $upstream_addr - [$time_local] $status $upstream_bytes_sent'; access_log /var/log/nginx/k8s-access.log main; ## 安装好 之后不需要 可以关闭 日志量比较大 upstream k8s-apiserver { server 192.168.0.101:6443; ## 后端安装master 地址 server 192.168.0.102:6443; } server { listen 6443; proxy_pass k8s-apiserver; }}
keepalived 高可用
yum install keepalivedvi /etc/keepalived/keepalived.confglobal_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id NGINX_MASTER} vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" }vrrp_instance VI_1 { state MASTER interface ens33 ## 自己机器网卡的名称 virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 priority 100 # 优先级,备服务器设置 90 advert_int 1 # 指定VRRP 心跳包通告间隔时间,默认1秒 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.0.105/24 ## 虚拟vip地址 } track_script { check_nginx } }
判断nginx 进程脚本
#!/bin/bashcount=$(ps -ef |grep nginx |egrep -cv "grep|$$")if [ "$count" -eq 0 ];then exit 1else exit 0fisystemctl start keepalivedsystemctl enable keepalived
lb-nginx-backup
nginx 安装同上
yum install keepalivedvi /etc/keepalived/keepalived.confglobal_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id NGINX_BACKUP} vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh"}vrrp_instance VI_1 { state BACKUP ##标注角色 interface ens33 ##自己网卡的名称 virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 priority 90 # 优先级,备服务器设置 90 advert_int 1 # 指定VRRP 心跳包通告间隔时间,默认1秒 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.0.105/24 } track_script { check_nginx } }# cat /etc/keepalived/check_nginx.sh #!/bin/bashcount=$(ps -ef |grep nginx |egrep -cv "grep|$$")if [ "$count" -eq 0 ];then exit 1else exit 0fi# systemctl start keepalived# systemctl enable keepalived
测试
##在lb master节点ip addr show ## 查看vip 是否绑定到了网卡上面 关闭nginx 查看vip 是否能漂移到backup 上面
修改所有node apiserver地址填写为vip
cd /opt/kubernetes/cfggrep 192 *bootstrap.kubeconfig: server: https://192.168.31.63:6443kubelet.kubeconfig: server: https://192.168.31.636443kube-proxy.kubeconfig: server: https://192.168.31.63:6443#批量修改:sed -i 's#192.168.0.63#192.168.0.105 * curl -k --header "Authorization: Bearer c47ffb939f5ca36231d9e3121a252940" https://192.168.31.60:6443/version##此teken 是bootstarp 的token
地址
实例
文件
网卡
优先级
名称
拷贝
时间
服务器
证书
路由
通告
服务
配置
架构
之间
位置
方案
日志
机器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技奖颁奖典礼
网络安全单位书面检查
数据库系统毕业设计主题
app后端用什么软件开发
数据库连接几个表
互联网商业和科技
网络技术能力提升
索尼z280服务器
南宁市鸠鸠互联网科技公司
连云港数据库审计设备
电信软件开发领域
怎么寻找软件开发的活
重庆互联网软件开发哪家专业
man 数据库
免费的能存图像的数据库有哪些
奉贤区数据软件开发答疑解惑
山东兆商网络技术有限公司
高考合格考网络技术应用
郧西信息软件开发服务保障
负责公司系统安全网络安全英语
网络安全法解读讲座
提供服务器品牌原厂综合管理系统
京新网络技术有限公司怎么样
app开发是不是就是软件开发
老年人健康软件开发
广州长丰网络技术电话
数据库的主键是哪个
关系数据库模型使用
机架式服务器可以装几个操作系统
搭建挖矿中继服务器教程