1. 首页 > Rancher教程 > 正文

Rancher教程FG014-Rancher Ingress与负载均衡配置实战

本文档风哥主要介绍Rancher Ingress与负载均衡配置实战,包括Rancher数据库Ingress概念、Rancher数据库Ingress Controller概念、Rancher数据库负载均衡概念、Rancher数据库Ingress准备、Rancher数据库Ingress要求、Rancher数据库Ingress规划、Rancher数据库安装Ingress Controller、Rancher数据库配置Ingress、Rancher数据库使用Ingress、Rancher数据库配置SSL、Rancher数据库配置URL重写、Rancher数据库优化Ingress等内容,风哥教程参考Rancher官方文档Ingress、负载均衡、Nginx等内容,适合运维人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 Rancher数据库Ingress概念

Rancher数据库Ingress是Kubernetes中用于管理外部访问集群内服务的API对象。Ingress定义了HTTP和HTTPS路由规则,将外部流量路由到集群内的Service。Ingress可以配置域名、路径、SSL证书等,实现灵活的流量管理。更多视频教程www.fgedu.net.cn

Rancher数据库Ingress特点:

  • 路由管理:管理HTTP/HTTPS路由
  • 域名管理:支持域名配置
  • SSL支持:支持SSL证书
  • 路径管理:支持路径配置
  • 负载均衡:支持负载均衡

1.2 Rancher数据库Ingress Controller概念

Rancher数据库Ingress Controller是实现Ingress功能的控制器,负责监听Ingress对象的变化,并配置负载均衡器。常见的Ingress Controller有Nginx、Traefik、HAProxy等。Ingress Controller负责将Ingress规则转换为实际的负载均衡配置。学习交流加群风哥微信: itpux-com

Rancher数据库Ingress Controller特点:

  • 自动配置:自动配置负载均衡
  • 实时更新:实时更新路由规则
  • 多种类型:支持多种Controller
  • 高可用:支持高可用部署
  • 可扩展:支持插件扩展

1.3 Rancher数据库负载均衡概念

Rancher数据库负载均衡是指将流量分发到多个后端服务,提高系统的可用性和性能。负载均衡可以分为四层负载均衡(L4)和七层负载均衡(L7)。Kubernetes Service提供了四层负载均衡,Ingress提供了七层负载均衡。学习交流加群风哥QQ113257174

Rancher数据库负载均衡特点:

  • 流量分发:分发流量到多个后端
  • 健康检查:检查后端健康状态
  • 会话保持:支持会话保持
  • 多种算法:支持多种负载均衡算法
  • 高可用:支持高可用部署
风哥提示:Rancher Ingress可以帮助管理外部访问集群内服务的流量,提高系统的可用性和性能。建议使用Nginx Ingress Controller,配置灵活的流量管理。学习交流加群风哥QQ113257174

Part02-生产环境规划与建议

2.1 Rancher数据库Ingress准备

Rancher数据库Ingress准备:

# Rancher数据库Ingress准备清单

# 1. Rancher Server准备
– Rancher Server已部署
– Rancher Server可访问
– Rancher Server配置正确

# 2. Ingress需求分析
– 确定Ingress Controller类型
– 确定域名配置
– 确定SSL证书
– 确定路由规则

# 3. 网络准备
– 网络带宽:>= 1Gbps
– 网络延迟:< 10ms - 端口开放:80、443等 # 4. DNS准备 - DNS服务器:>= 2个
– DNS解析:配置域名解析
– DNS TTL:<= 300s # 5. SSL证书准备 - SSL证书:有效证书 - 证书类型:TLS证书 - 证书有效期:>= 1年

2.2 Rancher数据库Ingress要求

Rancher数据库Ingress要求:

# Rancher数据库Ingress要求

# Ingress Controller要求
– 版本:>= v1.8.0
– 资源:CPU >= 1核,内存 >= 1GB
– 副本数:>= 2个
– 高可用:支持高可用

# 网络要求
– 网络带宽:>= 1Gbps
– 网络延迟:< 10ms - 端口开放:80、443等 - 网络互通:集群网络互通 # DNS要求 - DNS服务器:>= 2个
– DNS解析:配置域名解析
– DNS TTL:<= 300s - DNS缓存:配置DNS缓存 # SSL证书要求 - SSL证书:有效证书 - 证书类型:TLS证书 - 证书有效期:>= 1年
– 证书加密:>= 2048位

# 负载均衡要求
– 负载均衡算法:轮询、最少连接等
– 健康检查:配置健康检查
– 会话保持:配置会话保持
– 超时设置:配置超时设置

2.3 Rancher数据库Ingress规划

Rancher数据库Ingress规划:

# Rancher数据库Ingress规划

# Ingress Controller规划
Controller类型:Nginx Ingress Controller
副本数:3个
资源限制:CPU 2核,内存 2GB
高可用:是

# 域名规划
应用域名:app.fgedu.net.cn
管理域名:admin.fgedu.net.cn
API域名:api.fgedu.net.cn

# SSL证书规划
应用证书:app.fgedu.net.cn
管理证书:admin.fgedu.net.cn
API证书:api.fgedu.net.cn

# 路由规则规划
应用路由:/app -> fgedu-app-service
管理路由:/admin -> fgedu-admin-service
API路由:/api -> fgedu-api-service

# 负载均衡规划
负载均衡算法:轮询
健康检查:TCP检查
会话保持:否
超时设置:60s

生产环境建议:Rancher数据库Ingress建议使用Nginx Ingress Controller,配置灵活的流量管理。定期检查Ingress状态,确保流量正常。更多学习教程公众号风哥教程itpux_com

Part03-生产环境项目实施方案

3.1 Rancher数据库安装Ingress Controller

3.1.1 Rancher数据库通过Helm安装Nginx Ingress Controller

# 添加Nginx Ingress Helm仓库
[root@rancher ~]# helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
“ingress-nginx” has been added to your repositories

[root@rancher ~]# helm repo update
Hang tight while we grab the latest from your chart repositories…
…Successfully got an update from the “ingress-nginx” chart repository
Update Complete. ⎈Happy Helming!⎈

# 安装Nginx Ingress Controller
[root@rancher ~]# helm install ingress-nginx ingress-nginx/ingress-nginx \
–namespace ingress-nginx \
–create-namespace \
–set controller.replicaCount=3 \
–set controller.resources.requests.cpu=1 \
–set controller.resources.requests.memory=1Gi \
–set controller.resources.limits.cpu=2 \
–set controller.resources.limits.memory=2Gi \
–set controller.service.type=LoadBalancer \
–set controller.service.annotations.”service\.beta\.kubernetes\.io/aws-load-balancer-type”=nlb

NAME: ingress-nginx
LAST DEPLOYED: Fri Apr 10 10:00:00 2026
NAMESPACE: ingress-nginx
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.

It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running ‘kubectl –namespace ingress-nginx get services -o wide -w ingress-nginx-controller’

# 查看Ingress Controller状态
[root@rancher ~]# kubectl get pods -n ingress-nginx
NAME READY STATUS RESTARTS AGE
ingress-nginx-controller-1234567890-abcde 1/1 Running 0 2m
ingress-nginx-controller-1234567890-fghij 1/1 Running 0 2m
ingress-nginx-controller-1234567890-klmno 1/1 Running 0 2m

# 查看Ingress Controller Service
[root@rancher ~]# kubectl get svc -n ingress-nginx
NAME TYPE EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 192.168.1.200 80:31234/TCP,443:31235/TCP 2m

3.2 Rancher数据库配置Ingress

3.2.1 Rancher数据库通过Web界面配置Ingress

# 通过Web界面配置Ingress
# 步骤1:登录Rancher管理界面
# 步骤2:点击”集群” – 选择集群 – 点击”服务” – “Ingress”
# 步骤3:点击”创建Ingress”按钮
# 步骤4:填写Ingress信息:
# Ingress名称:fgedu-app-ingress
# Ingress描述:Rancher数据库应用Ingress
# 命名空间:fgedu-dev
# 域名:app.fgedu.net.cn
# 路径:/app
# 目标服务:fgedu-app-service
# 目标端口:80
# 步骤5:点击”创建”按钮

# 通过kubectl配置Ingress
[root@rancher ~]# cat <
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: false
Ingress Class: nginx
Default backend:
Rules:
Host Path Backends
—- —- ——–
app.fgedu.net.cn
/app fgedu-app-service:80 (10.244.0.5:80,10.244.0.6:80,10.244.0.7:80)
Events:
Type Reason Age From Message
—- —— —- —- ——-
Normal Sync 1m (x2 over 1m) nginx-ingress-controller Scheduled for sync

3.3 Rancher数据库使用Ingress

3.3.1 Rancher数据库测试Ingress访问

# 配置DNS解析
# 在DNS服务器中添加A记录:
# app.fgedu.net.cn -> 192.168.1.200

# 测试DNS解析
[root@rancher ~]# nslookup app.fgedu.net.cn
Server: 192.168.1.1
Address: 192.168.1.1#53

Non-authoritative answer:
Name: app.fgedu.net.cn
Address: 192.168.1.200

# 测试HTTP访问
[root@rancher ~]# curl -I http://app.fgedu.net.cn/app
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 10 Apr 2026 10:00:00 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 10 Apr 2026 10:00:00 GMT
Connection: keep-alive
ETag: “6071234567890”
Accept-Ranges: bytes

# 查看访问日志
[root@rancher ~]# kubectl logs -n ingress-nginx ingress-nginx-controller-1234567890-abcde | tail -20
192.168.1.100 – – [10/Apr/2026:10:00:00 +0000] “GET /app HTTP/1.1” 200 612 “-” “curl/7.76.1” 123 0.123 [fgedu-dev/fgedu-app-service] 10.244.0.5:80 0.123 200 1234567890abcdef 1234567890

# 查看Ingress Controller状态
[root@rancher ~]# kubectl get pods -n ingress-nginx
NAME READY STATUS RESTARTS AGE
ingress-nginx-controller-1234567890-abcde 1/1 Running 0 5m
ingress-nginx-controller-1234567890-fghij 1/1 Running 0 5m
ingress-nginx-controller-1234567890-klmno 1/1 Running 0 5m

风哥提示:Rancher Ingress可以帮助管理外部访问集群内服务的流量,提高系统的可用性和性能。建议使用Nginx Ingress Controller,配置灵活的流量管理。from Rancher视频:www.itpux.com

Part04-生产案例与实战讲解

4.1 Rancher数据库配置SSL

4.1.1 Rancher数据库配置SSL证书

# 创建SSL证书Secret
[root@rancher ~]# kubectl create secret tls fgedu-app-tls \
–cert=/path/to/app.fgedu.net.cn.crt \
–key=/path/to/app.fgedu.net.cn.key \
-n fgedu-dev

secret/fgedu-app-tls created

# 查看Secret
[root@rancher ~]# kubectl get secret fgedu-app-tls -n fgedu-dev
NAME TYPE DATA AGE
fgedu-app-tls kubernetes.io/tls 2 1m

# 更新Ingress配置SSL
[root@rancher ~]# cat <

4.2 Rancher数据库配置URL重写

4.2.1 Rancher数据库配置URL重写规则

# 配置URL重写
[root@rancher ~]# cat <

4.3 Rancher数据库优化Ingress

4.3.1 Rancher数据库优化Ingress性能

# 优化Ingress Controller配置
[root@rancher ~]# kubectl edit configmap ingress-nginx-controller -n ingress-nginx

# 优化参数
data:
keep-alive: “75”
keep-alive-requests: “100”
upstream-keepalive-connections: “100”
upstream-keepalive-timeout: “60”
upstream-keepalive-requests: “1000”
client-max-body-size: “50m”
proxy-body-size: “50m”
proxy-connect-timeout: “60”
proxy-send-timeout: “60”
proxy-read-timeout: “60”

# 重启Ingress Controller
[root@rancher ~]# kubectl rollout restart deployment ingress-nginx-controller -n ingress-nginx
deployment.apps/ingress-nginx-controller restarted

# 查看Ingress Controller状态
[root@rancher ~]# kubectl get pods -n ingress-nginx
NAME READY STATUS RESTARTS AGE
ingress-nginx-controller-1234567890-abcde 1/1 Running 0 1m
ingress-nginx-controller-1234567890-fghij 1/1 Running 0 1m
ingress-nginx-controller-1234567890-klmno 1/1 Running 0 1m

# 查看Ingress Controller性能
[root@rancher ~]# kubectl top pod -n ingress-nginx
NAME CPU(cores) MEMORY(bytes)
ingress-nginx-controller-1234567890-abcde 0.5 512Mi
ingress-nginx-controller-1234567890-fghij 0.5 512Mi
ingress-nginx-controller-1234567890-klmno 0.5 512Mi

生产环境建议:Rancher数据库Ingress建议配置SSL证书,确保数据传输安全。定期检查Ingress状态,优化Ingress性能。更多视频教程www.fgedu.net.cn

Part05-风哥经验总结与分享

5.1 Rancher数据库Ingress最佳实践

Rancher数据库Ingress最佳实践:

  • 合理规划:根据业务需求规划Ingress配置
  • SSL配置:配置SSL证书,确保数据传输安全
  • 负载均衡:配置负载均衡,提高系统可用性
  • 性能优化:优化Ingress性能
  • 监控告警:配置Ingress监控告警
  • 文档记录:记录Ingress配置和变更
  • 定期检查:定期检查Ingress状态

5.2 Rancher数据库Ingress问题排查

Rancher数据库Ingress问题排查:

# Rancher数据库Ingress常见问题及解决方案

# 问题1:Ingress无法访问
# 现象:无法通过域名访问应用
# 原因:DNS配置错误、Ingress配置错误、Service配置错误
# 解决:
[root@rancher ~]# nslookup app.fgedu.net.cn
[root@rancher ~]# kubectl get ingress -n fgedu-dev
[root@rancher ~]# kubectl describe ingress fgedu-app-ingress -n fgedu-dev
[root@rancher ~]# kubectl get svc -n fgedu-dev

# 问题2:SSL证书错误
# 现象:HTTPS访问时提示证书错误
# 原因:证书过期、证书配置错误、域名不匹配
# 解决:
[root@rancher ~]# kubectl get secret fgedu-app-tls -n fgedu-dev
[root@rancher ~]# kubectl describe secret fgedu-app-tls -n fgedu-dev
[root@rancher ~]# openssl x509 -in /path/to/app.fgedu.net.cn.crt -text -noout
[root@rancher ~]# curl -v https://app.fgedu.net.cn/app

# 问题3:URL重写失败
# 现象:URL重写不生效
# 原因:重写规则配置错误、正则表达式错误
# 解决:
[root@rancher ~]# kubectl get ingress -n fgedu-dev
[root@rancher ~]# kubectl describe ingress fgedu-app-ingress -n fgedu-dev
[root@rancher ~]# kubectl logs -n ingress-nginx ingress-nginx-controller-1234567890-abcde
[root@rancher ~]# curl -v https://app.fgedu.net.cn/app/index.html

# 问题4:Ingress性能差
# 现象:访问应用时响应慢
# 原因:Ingress Controller资源不足、配置不当、网络延迟高
# 解决:
[root@rancher ~]# kubectl top pod -n ingress-nginx
[root@rancher ~]# kubectl describe pod -n ingress-nginx ingress-nginx-controller-1234567890-abcde
[root@rancher ~]# kubectl logs -n ingress-nginx ingress-nginx-controller-1234567890-abcde
[root@rancher ~]# ab -n 1000 -c 10 https://app.fgedu.net.cn/app

5.3 Rancher数据库Ingress维护

Rancher数据库Ingress维护:

# Rancher数据库Ingress维护建议

# 1. 定期检查
– 检查Ingress Controller状态
– 检查Ingress配置
– 检查SSL证书
– 检查DNS解析

# 2. 定期优化
– 优化Ingress Controller配置
– 优化Ingress性能
– 优化负载均衡
– 优化URL重写

# 3. 定期备份
– 备份Ingress配置
– 备份SSL证书
– 备份DNS配置
– 备份Ingress Controller配置

# 4. 定期清理
– 清理无用Ingress
– 清理过期证书
– 清理无用DNS记录
– 清理过期日志

# 5. 定期审计
– 审计Ingress配置
– 审计SSL证书
– 审计DNS解析
– 审计访问日志

风哥提示:Rancher Ingress可以帮助管理外部访问集群内服务的流量,提高系统的可用性和性能。建议使用Nginx Ingress Controller,配置灵活的流量管理。定期检查Ingress状态,优化Ingress性能。学习交流加群风哥微信: itpux-com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息