Nginx怎么配置TCP负载均衡
发布时间 - 2023-05-19 00:00:00 点击率:次假设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
# 配置文件
# 负载均衡
# 均衡器
# 将在
# 软件包
# 可以看到
# 将被
# 来做
# 重启
# 设置为
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Session怎么存储_Laravel Session驱动配置详解
如何正确下载安装西数主机建站助手?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
音响网站制作视频教程,隆霸音响官方网站?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
LinuxShell函数封装方法_脚本复用设计思路【教程】
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
如何在阿里云香港服务器快速搭建网站?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
iOS UIView常见属性方法小结
无锡营销型网站制作公司,无锡网选车牌流程?
JavaScript模板引擎Template.js使用详解
浅析上传头像示例及其注意事项
JS碰撞运动实现方法详解
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
JS实现鼠标移上去显示图片或微信二维码
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
如何在阿里云高效完成企业建站全流程?
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel安装步骤详细教程_Laravel环境搭建指南
使用Dockerfile构建java web环境
EditPlus中的正则表达式 实战(2)
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Android自定义listview布局实现上拉加载下拉刷新功能
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
Python数据仓库与ETL构建实战_Airflow调度流程详解
网站建设保证美观性,需要考虑的几点问题!
油猴 教程,油猴搜脚本为什么会网页无法显示?
网站优化排名时,需要考虑哪些问题呢?
如何在阿里云ECS服务器部署织梦CMS网站?
深圳网站制作培训,深圳哪些招聘网站比较好?
Swift中循环语句中的转移语句 break 和 continue
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
七夕网站制作视频,七夕大促活动怎么报名?
如何在万网自助建站中设置域名及备案?
详解CentOS6.5 安装 MySQL5.1.71的方法
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
清除minerd进程的简单方法
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
下一篇:Java数组的扩容代码示例
下一篇:Java数组的扩容代码示例


sts