在K8S中,Ingress该怎样利用?

[复制链接]
发表于 2025-11-18 11:07:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在Kubernetes中,Ingress是一种API对象,它提供了对外部哀求进入集群内部服务的一种同一入口和路由机制。Ingress控制器是一个运行在集群中的保卫历程,它监听Ingress对象的厘革并设置相应的负载平衡器或署理服务,以便根据界说的规则转发HTTP(S)哀求到后端的Service。
1. 创建Ingress资源

1.1 界说Ingress规则:

起首,创建一个YAML文件来界说Ingress资源,此中包罗路由规则、TLS设置(假如须要HTTPS)以及每个规则所指向的后端服务。比方:
  1. apiVersion: networking.k8s.io/v1
  2. kind: Ingress
  3. metadata:
  4.   name: example-ingress
  5.   namespace: default
  6. spec:
  7.   rules:
  8.   - host: www.example.com
  9.     http:
  10.       paths:
  11.       - path: /
  12.         pathType: Prefix
  13.         backend:
  14.           service:
  15.             name: web-service
  16.             port:
  17.               name: http
  18.   tls:
  19.   - hosts:
  20.     - www.example.com
  21.     secretName: example-tls-secret
复制代码
在上述例子中,任何发往www.example.com主机名且路径为根(/)的哀求会被转发到名为web-service的服务的http端口。
1.2 创建Ingress资源

利用kubectl apply -f your-ingress.yaml下令将这个Ingress规则应用到kubernetes集群中。

2. 摆设Ingress控制器

在可以大概利用Ingress之前,必须有一个正在运行的Ingress控制器,如ingress-nginx或traefik。这些控制器会监听集群中的Ingress资源,并依据规则举行设置。
2.1 选择并安装Ingress控制器

你可以利用官方保举的ingress-nginx项目大概其他的第三方控制器。通过Helm chart、manifest文件或其他方法摆设。
比方,摆设ingress-nginx大概包罗以下步调:

  • 获取官方chart或yaml文件。
  • 设置须要的参数,如是否启用SSL、利用的端口等。
  • 应用摆设,假如是利用Helm大概是helm install nginx-ingress ingress-nginx/ingress-nginx。
2.2 确保Ingress控制器可公开访问



  • 在云环境中,好比GCP、AWS或Azure,大概会须要额外的设置来创建一个LoadBalancer范例的Service关联到Ingress控制器,如许就会在云平台上天生一个公网IP地点供外部访问。
  • 在非云环境中,大概须要设置NodePort或利用hotsPort联合hostNetwork等方式袒露服务。

3. 测试和验证

3.1 验证Ingress资源状态

可用通过kubectl describe ingress example-ingress或kubectl get ingress来查抄Ingress资源的状态和具体信息。
3.2 测试路由规则

一旦Ingress控制器乐成摆设并设置路由规则,你应该可以从外部网络按照界说的规则访问到集群内的服务。
   综上所述:
这就是在Kubernetes中利用Ingress的根本过程。根据实际需求,您大概须要设置更复杂的Ingress规则,比方基于路径的路由、TLS加密等。更多关于Ingress的信息:参考官方文档。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表