使用Nginx配置TCP负载均衡
off999 2025-01-04 22:22 29 浏览 0 评论
假设Kubernetes集群已经配置好,我们将基于CentOS为Nginx创建一个虚拟机。
以下是实验种设置的详细信息:
- Nginx (CenOS8 Minimal) - 192.168.1.50
- Kube Master - 192.168.1.40
- Kube Worker 1 - 192.168.1.41
- Kube Worker 2 - 192.168.1.42
步骤1)安装epel仓库
因为nginx软件包在CentOS系统默认仓库里面没有,所以需要安装epel仓库:
[root@nginxlb ~]# dnf install epel-release -y
步骤2)安装Nginx
运行以下命令安装nginx:
[root@nginxlb ~]# dnf install nginx -y
使用rpm命令验证Nginx包的详细信息:
[root@nginxlb ~]# rpm -qi nginx
配置防火墙,允许访问nginx的http和https服务:
[root@nginxlb ~]# firewall-cmd --permanent --add-service=http
[root@nginxlb ~]# firewall-cmd --permanent --add-service=https
[root@nginxlb ~]# firewall-cmd –reload
使用以下命令将SELinux设置为permissive模式,并重启系统使selinux关闭生效:
[root@nginxlb ~]# sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config
[root@nginxlb ~]# reboot
步骤3)从Kubernetes中获取应用程序的NodePort详细信息
[kadmin@k8s-master ~]$ kubectl get all -n ingress-nginx
从上面的输出中可以看到,每个工作节点的NodePort 32760映射到端口80,NodePort 32375映射到443端口。我们将在Nginx配置文件中使用这些节点端口来做负载均衡。
步骤4)将Nginx配置负载均衡
编辑nginx配置文件,并添加以下内容:
[root@nginxlb ~]# vim /etc/nginx/nginx.conf
注释掉“server”部分(从38到57行):
并添加以下几行:
upstream backend {
server 192.168.1.41:32760;
server 192.168.1.42:32760;
}
server {
listen 80;
location / {
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
proxy_send_timeout 1800;
send_timeout 1800;
proxy_set_header Accept-Encoding "";
proxy_set_header X-Forwarded-By $server_addr:$server_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://backend;
}
location /nginx_status {
stub_status;
}
}
保存配置文件,并退出。
根据上述更改,所有向nginx的80端口的请求,都将被路由到的Kubernetes工作节点(192.168.1.41和192.168.1.42)的NodePort(32760)端口上。
使用以下命令启用Nginx服务:
[root@nginxlb ~]# systemctl start nginx
[root@nginxlb ~]# systemctl enable nginx
测试Nginx的 TCP负载均衡器
要测试nginx作为Kubernetes的TCP负载均衡是否工作正常,请部署基于nginx的deployment,将deployment的端口暴露为80端口,并为nginx 的deployment定义入口资源。我已经使用以下命令来部署这些Kubernetes对象:
[kadmin@k8s-master ~]$ kubectl create deployment nginx-deployment --image=nginx
deployment.apps/nginx-deployment created
[kadmin@k8s-master ~]$ kubectl expose deployments nginx-deployment --name=nginx-deployment --type=NodePort --port=80
service/nginx-deployment exposed
运行以下命令以获取deployments,svc和ingress详细信息:
更新本地主机的hosts文件,以便nginx-lb.example.com指向nginx服务器的IP地址(192.168.1.50)
[root@localhost ~]# echo "192.168.1.50 nginx-lb.example.com" >> /etc/hosts
尝试通过浏览器访问nginx-lb.example.com
- 上一篇:Nginx正向代理配置
- 下一篇:nginx配置https的详细流程
相关推荐
- 香蕉加速器(香蕉加速器怎么样)
-
OPPO系统自带的游戏加速器是HyperBoost据OPPO介绍,HyperBoost是OPPO花了三年时间自主研发的一项技术,由系统引擎、应用引擎和游戏引擎三部分组成,能够实现全场景系统,提升...
- 小说下载txt电子书免费全本下载
-
因为违规了。久久小说网的许多小说,都没有作者的授权而且他的名声太大了,被人给投诉然后违规追究了,就关闭了这个网站。所以平时看小说的时候,尽量到正版的网站去看,一些大网站,或者是一些小网站都可以去瞅一瞅...
- 无需wifi的手机游戏(无需wifi的手机游戏大全)
-
1最好玩的游戏不一定需要依赖wifi。2原因在于现在的游戏越来越注重玩家的体验和游戏性,不少游戏已经把单机玩法和多人联机完美融合在一起,让单机游戏也同样具有了和多人游戏一样的可玩性。此外,不少游戏...
- 手写输入法查字(手写输入法查字怎么设置)
-
您好,查字手写输入是指利用电子设备或者智能手机等设备,通过手写输入汉字进行文字输入的方式。用户可以直接用手指或者专用的手写笔在设备的屏幕上书写汉字,设备会将手写的字迹识别成文字并进行输入。这种输入方式...
- office哪个版本最好用(office哪个版本好一点)
-
Office办公软件由微软公司开发,截至目前为止,最新版本为Microsoft365(Office365)。然而,“最好用”的版本取决于您的具体需求、预算和个人偏好。以下是一些不同版本及其特点的概...
- 大智慧炒股软件免费版(大智慧炒股软件手机版下载安装)
-
你是不是点到里面的收费行情了,有Level-2行情数据的肯定要收费的这几种都可以提供一般的股票行情、交易功能。特点方面,同花顺不怎么好上手,普及程度不高。大智慧经典版可以查询主力资金。钱龙旗舰版是界面...
- 短信验证码(短信验证码平台app)
-
短信验证码可以通过以下步骤来获取和使用:明确结论:获取短信验证码需要先输入手机号码,并且会在短信中收到验证码。解释原因:短信验证码是一种验证身份的方式,用于确认用户提供的手机号是否有效,以及确保用户是...
- 下载一个微信2(下载一个微信号)
-
首先打开手机里面的应用商店下载安装一个微信APP,然后分别用你的2个手机号注册微信或已经注册的登陆微信就可以了,这里你可以一个微信APP上分别切换不同微信号登陆使用,不过这个有点不方便使用,接下来的办...
- 视频格式转换器安卓版(视频格式转换器手机软件)
-
没有。可以利用电脑来转换。所需工具:格式工厂步骤:打开格式工厂,第一个界面就是视频转换的了!会看到可以转换成有很多种格式的!那就选择需要转换的格式。选择转换成MP4格式,添加完成之后直接点击“点击开始...
- 12306购票最简单方法(登录12306购票)
-
要使用铁路12306进行买票需选择出发地点以及目的地,勾选车票类型后,选择查询车票,最后提交订单方可买票,具体操作步骤如下:轻点右侧地址位置选择目的地轻点右侧地址位置选择目的地,回到铁路12306首页...
- 下载手机卫士(下载手机卫士官方版)
-
360手机卫士苹果版来自奇虎360推出的一款iPhone手机管理软件,360手机卫士苹果版推为iOS用户提供专业、完善和高效的移动设备管理服务,360手机卫士手机版可以实现流量监控、电池管家、隐私空间...
- 免费破解软件下载网站(免费破解版软件)
-
可以用腾讯手机管家的小火箭,它的功能很好用。安装完成以后,手机屏幕上就有那个加速圈--小火箭。使用小火箭加速平均提升手机速度35%。按住小火箭移到最下方,释放升空,即可轻松清理多余后台进程,释放手机内...
- 应用管家下载(应用市场官方正版下载安装)
-
1、在手机桌面找到腾讯手机管家,点击打开。2、找到右上角的头像,点击进入个人界面。3、点击右上角的齿轮图标,点击进入设置界面。4、找到安全检测,点击进去。5、找到屏幕下方的恶意网址拦截6、这样就把网址...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
