二进制部署K8S多Master+LB负载均衡群集+K8S日志排错
文章目录
- 服务器环境
- 实验步骤
- Master2节点部署
- LB1,2负载均衡部署
- Node节点修改
- 实验测试
- 在LB1上查看nginx的K8S日志
- 创建测试pod
- 在Node节点上测试nginx
- 查看日志报错解决方法
服务器环境
角色 | IP |
---|---|
master1 | 192.168.18.10 |
master2 | 192.168.18.40 |
node1 | 192.168.18.20 |
node2 | 192.168.18.30 |
LB1 | 192.168.18.50 |
LB2 | 192.168.18.60 |
VIP | 192.168.18.70 |
Tips:其他节点已在单节点部署
实验步骤
Master2节点部署
- 拷贝Master1上面的文件到Master2上面
scp -r /opt/kubernetes/ root@192.168.18.40:/opt/scp -r /usr/lib/systemd/system/{kube-apiserver,kube-scheduler,kube-controller-manager}.service root@192.168.18.40:/usr/lib/systemd/system/scp -r /opt/etcd/ root@192.168.18.40:/opt/
- 修改Master2上的配置文件
vim /opt/kubernetes/cfg/kube-apiserver#只需要修改:--bind-address=192.168.18.40 \--advertise-address=192.168.18.40 \
- 启动服务
systemctl start kube-apiserversystemctl enable kube-apiserversystemctl start kube-controller-managersystemctl enable kube-controller-managersystemctl start kube-scheduler systemctl enable kube-scheduler
- 添加环境变量
vim /etc/profile#末行添加export PATH=$PATH:/opt/kubernetes/binsource /etc/profile
- 查看节点
kubectl get node
LB1,2负载均衡部署
- 关闭防火墙及核心防护
systemctl stop firewalldsystemctl disable firewalldsetenforce 0
- 配置nginx的yum源
vim /etc/yum.repos.d/nginx.repo[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0#加载yum仓库
yum list
- 安装nginx
yum install nginx -y
- 添加四层转发
vim /etc/nginx/nginx.conf
#在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.18.10:6443;server 192.168.18.40:6443;} server {listen 6443;proxy_pass k8s-apiserver;} }
- 网页测试
vim /usr/share/nginx/html/index.html
#LB1
<h1>Welcome to master nginx!</h1>
#LB2
<h1>Welcome to backup nginx!</h1>systemctl start nginx
- 访问:
http://192.168.18.50
http://192.168.18.60
- 安装Keepalived
yum install keepalived -y
修改Keepalived配置文件
vim /etc/keepalived/keepalived.conf
#修改
vrrp_script check_nginx {script "/etc/nginx/check_nginx.sh"
}
vrrp_instance VI_1 {state MASTER #备服务器改为BACKUPinterface ens33virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的priority 100 # 优先级,备服务器设置 90 advert_int 1 # 指定VRRP 心跳包通告间隔时间,默认1秒authentication { auth_type PASSauth_pass 1111} virtual_ipaddress {192.168.18.70/24} track_script {check_nginx}
}
- 编写check_nginx脚本
vim /etc/nginx/check_nginx.sh
chmod +x /etc/nginx/check_nginx.sh
count=$(ps -ef |grep nginx |egrep -cv "grep|$$")if [ "$count" -eq 0 ];thensystemctl stop keepalived
fi
- 测试负载均衡
测试VIP访问nginx
systemctl start keepalived
此时VIP是在LB1上
pkill nginx
LB1后,查看VIP,发现VIP浮动到LB2上面了
Node节点修改
- 修改node节点的ip
cd /opt/kubernetes/cfg
vim bootstrap.kubeconfig
server: https://192.168.18.70:6443 #修改为VIP的地址
vim kubelet.kubeconfig
server: https://192.168.18.70:6443 #修改为VIP的地址
vim kube-proxy.kubeconfig
server: https://192.168.18.70:6443 #修改为VIP的地址
- 重启node节点上的服务
systemctl restart kubelet
systemctl restart kube-proxy
实验测试
在LB1上查看nginx的K8S日志
tail -f /var/log/nginx/k8s-access.log
- 节点已实现负载均衡
创建测试pod
kubectl run nginx --image=nginx
- 创建成功
在Node节点上测试nginx
kubectl get pods -o wide
Node1
Node2
node1与node2通过Flannel网络实现容器之间的访问与通信
查看日志报错解决方法
- error: You must be logged in to the server (the server has asked for the client to provide credentials
- 解决方法:修改node节点上kubelet.config文件
vim /opt/kubernetes/cfg/kubelet.config
#末行添加
authentication:anonymous:enabled: true
- Error from server (Forbidden): Forbidden (user=system:anonymous, verb=get, resource=nodes, subresource=proxy)
- 解决方法:anonymous用户绑定一个cluster-admin的权限
kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system:anonymous
- 通过排错之后,我们就可以正常查看日志了
kubectl logs nginx-dbddb74b8-nn7z2
二进制部署K8S多Master+LB负载均衡群集+K8S日志排错相关推荐
- 实操:搭建前端LB负载均衡+keepalived并指定apiserver的vip
文章目录 一:搭建前端LB负载均衡+keepalived 1.1 环境优化 1.2 yum 安装nginx(两个lb都做) 1.3 添加四层转发 upstream(两个lb都做) 1.4 开启ngin ...
- LVS负载均衡群集部署之——NAT模式的介绍及搭建步骤
文章目录 一.企业群集应用概述 1.1 群集的三种类型 1 负载均衡群集 2 高可用群集 3 高性能运算群集 1.2 负载均衡结构 1.3 负载均衡群集工作模式 (1) NAT模式--地址转换 (2) ...
- LVS负载均衡群集 --NAT模式实战部署(图文详解)
目录 一.群集应用概述 1.1 群集的含义 1.2 应用场景出现高并发的解决方案 1.3 系统性能扩展方式 1.4 群集的三种分类 1.4.1 负载均衡群集 1.4.2 高可用群集 1.4.3 高性能 ...
- LVS负载均衡群集架构(一):NET模式群集部署
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.群集的含义 1.概念 2.问题 3..解决方法 二.集群的分类 1.负载均衡群集:聚合和负载均衡 2.高可用群集(Hig ...
- LVS负载均衡群集(一):NET模式群集部署
文章目录 一.群集的含义 1.1 概念 1.2 问题 1.3. 解决方法 二.集群的分类 2.1 负载均衡群集:聚合和负载均衡 2.2 高可用群集(High Availability Cluster) ...
- LVS负载均衡群集与LVS-NAT部署
LVS负载均衡,LVS-NAT部署 一.LVS群集应用 1. 群集含义 2.群集的分类 3. 负载均衡结构 4. 群集的负载均衡技术的三种工作模式 1.NAT地址转换 2.TUN模式 IP隧道 3. ...
- LVS负载均衡群集概念、NAT模式LVS负载均衡实战部署
目录 引言: 一.群集的含义 1.1 群集存在的必要 1.2 解决方法 二.群集的种类 2.1 负载均衡群集(Load Balance Cluster) 2.2 高可用群集 (High Availab ...
- 运维企业专题(3)LB负载均衡介绍
1.LB是什么?有哪些主要的方式? LB--负载均衡(Load Balancing ) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数 ...
- 饿了吗?一饱眼福-不能不懂的web网站架构负载均衡群集
理论 1.web搭建网站有哪些方式实现负载均衡与高可用性能? Nginx:反向代理,适用于中小型网站服务 优点:工作在七层之上,针对HTTP做分流策略,正则规则haproxy更灵活对网络的稳定性依赖小 ...
最新文章
- jenkins+github+docker+maven自动化构建部署
- C#——LINQ技术DEMO
- Back 键与Home键
- 学习AOP 之前必须明白的几个概念
- idea 热部署时 tomcat处 没有update classes and resource 选项
- ASP.NET读取POP3邮件的操作
- phoenix timestamp字段查询
- 大数据分析必不可少之数据仓库
- 30岁前成功的12条黄金法则
- 2018美赛C题论文学习笔记1
- 基于SSM框架的网上购物商城及电商后台管理系统
- win10 无法安装Hp1020和HP1106打印机问题
- 大明湖畔昇腾绽放,趵突泉里智能奔涌
- 删除安卓7.1源码中自带的Japanese IME输入法
- app installation failed 的问题的解决过程
- 红孩儿编辑器的模块设计5
- 事件研究法python代码
- 跟着示例学Ubuntu UFW防火墙设置
- Unity项目--LoyPoly风格的FPS Demo(附试玩地址)
- 重新安装键盘鼠标后,PS2键盘无法识别问题!