使用Nginx配置TCP负载均衡
off999 2025-01-04 22:22 25 浏览 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的详细流程
相关推荐
- 打字最好的输入法(打字输入法哪个最快)
-
搜狗拼音输入法:会拼音就会,熟了也能打很快搜狗五笔输入法:这个我一直用,因为五笔用得不熟练,这个可以五笔拼音混输(优先选五笔的字),五笔输入法需要一定时间学习,学好了比拼音要快,而且相当准确,不像拼...
-
- 移动硬盘插电脑不显示(移动硬盘插电脑不显示盘符)
-
移动硬盘插上电脑不显示:1,进入设备和打印机,找到自己的移动硬盘,删除后再插入。2,打开设备管理器—通用串行总线控制器,找到USB大容量存储设备后右键卸载,接着在拔插一次移动硬盘。3,插入移动硬盘——打开设备管理器——磁盘管理,这个时候不出...
-
2025-12-14 13:51 off999
- 下载工具app(推特视频下载工具app)
-
答,kugo游戏下载器下载有几种方法:第一种:一般下载游戏,都是去官网上下载,因为这里下载不会出现有附带的垃圾广告链接一并下载安装到你的电脑上了。第二种:就是直接在浏览器上搜索你需要下载的游戏名称,然...
- 电脑蓝屏系统还原(电脑蓝屏系统还原怎么办)
-
1、制作U盘启动盘,将系统iso镜像文件复制到U盘启动盘的GHO目录下;2、在电脑上插入U盘,重启后不停按F12、F11、Esc等快捷键打开启动菜单,选择U盘选项,点击回车键;3、启动pe系统,需备份...
- kmstools激活工具怎么用(kms 激活工具)
-
KMSTools2019激活工具如何使用1.双击打开KMSTools,主界面列出多种工具,前面三个都是KMS激活工具,点击第一个;2.点击Activation,表示激活,Information可以查看...
- 手机设置tplink路由器设置教程
-
要使用手机设置TP-Link路由器,您需要按照以下步骤操作:1.首先,请确保您的手机已经连接到TP-Link路由器的Wi-Fi网络上。2.打开手机上的浏览器(如谷歌Chrome、苹果Safari等...
- 番茄花园ghost系统(番茄花园u盘重装系统win7)
-
首先,将GhostXPSP3镜像文件解压缩到一个新的文件夹中。然后,使用Ghost软件将镜像文件写入U盘或刻录成光盘。接下来,将电脑设置为从U盘或光盘启动。在Ghost界面中,选择“一键还原”或“...
- 爱奇艺免费版下载安装(爱奇艺免费版下载安装手机)
-
这个是不能确定的想观看爱奇艺的所有内容的视频呢,你必须开通一个会员,比如说开通一星期的或者一个月的,或者一年的,这样的话里面的VIP影视你也可以观看,免费的也可以但是如果你不开通会员的话,只能观看爱奇...
- microsoft office powerpoint下载
-
如果你想下载一个ppt软件,那么你需要下载(破解版)的MicrosoftOffice套件,随便2003,2007,2010那个版本的套件都行。套件安装过程中可以选择安装MicrosoftOfficeP...
- windows11 官方下载(windows 11正式版下载)
-
WIN11还没有正式发布,所以还没有下载官网。方法/步骤分步:1打开软件选择商店,点击搜索栏。2搜索栏内输入游戏名称,点击搜索。3搜索结果下点击进入游戏详情界面。4点击立即下载。5选择并设置下载路径和...
- 水星路由器登陆密码(水星无线路由器登陆密码)
-
一般水星无线路由器的初始用户名和密码都是admin如果无线路由器的密码修改过,忘记的话,可用大头针轻轻地戳一下无线路由器上的Reset键恢复出厂设置,然后按照路由器后面的用户名及密码进入设置。水星路...
- win7的安装步骤(我告诉你win7怎么安装)
-
安装方法:1、先下载好win7官方原版iso镜像,放在c盘以外的磁盘。2、找到下载好的iso镜像,直接双击打开,win10自带有ISO文件读取的软件,不需下载其他解压软件。3、最好将压缩包解压出来,放...
-
- 联想笔记本wifi开关在哪里(联想笔记本wi-fi开关)
-
方法/步骤1、打开电脑,进入桌面,按住键盘上的windows键(空格键左边alt旁边的图标)+X。2、进入windows移动中心,点击无线网络下的“打开无线”即可。3、也可以,右击任务栏右下角的“无线”图标,点击“打开网络共享中心”。4、进...
-
2025-12-14 07:03 off999
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
使用 python-fire 快速构建 CLI_如何搭建python项目架构
-
- 最近发表
- 标签列表
-
- 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)
