创建Ingress资源

Ingress资源是基于HTTP虚拟主机或URL的转发规则,它在资源配置清单的spec字段中嵌套了rules、backend和tls等字段进行定义。下面的示例中定义了一个Ingress资源,它包含了一个转发规则,把发往 www.ilinux.io 的请求代理给名为myapp-svc的Service资源:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: www.ilinux.io
http:
paths:
- backend:
serviceName: myapp-svc
servicePort: 80

上面资源清单中的annotations用于识别其所属的Ingress控制器的类别,这一点在集群上部署有多个Ingress控制器时尤为重要。Ingress Spec中的字段是定义Ingress资源的核心组成部分,它主要嵌套如下三个字段。

  • rules:用于定义当前Ingress资源的转发规则列表;未由rules定义规则, 或者没有匹配到任何规则时,所有流量都会转发到由backend定义的默认后端。

  • backend:默认的后端用于服务那些没有匹配到任何规则的请求;定义Ingress资源时,至少应该定义backend或rules两者之一;此字段用于让负载均衡器指定一个全局默认的后端。

  • tls:TLS配置,目前仅支持通过默认端口443提供服务;如果要配置指定的列表成员指向了不同的主机,则必须通过SNITLS扩展机制来支持此功能。

    backend对象的定义由两个必选的内嵌字段组成:serviceName和servicePort,分别用于指定流量转发的后端目标Service资源的名称和端口。

rules对象由一系列配置Ingress资源的host规则组成,这些host规则用于将一个主机上的某个URL路径映射至相关的后端Service对象,它的定义格式如下:
    spec:
rules:
- host: <String>
http:
paths:
backend:
serviceName: <String>
servicePort: <string>
path: <String>

注意,.spec.rules.host属性值目前不支持使用IP地址,也不支持后跟 “:PORT” 格式的端口号,且此字段值留空表示通配所有的主机名。

tls对象由两个内嵌字段组成,仅在定义TLS主机的转发规则时才需要定义此类对象。

  • hosts:包含于使用的TLS证书之内的主机名称字符串列表,因此,此处使用的主机名必须匹配tlsSecret中的名称。

  • secretName:用于引用SSL会话的secret对象名称,在基于SNI实现多主机路由的场景中,此字段为可选。

最新文章

  1. UIAlertController使用
  2. Code Complete 笔记—— 第一章
  3. arcgis desktop 10.1 license manager无法启动问题解决
  4. (转)HTTP 长连接和短连接
  5. 7 MySQL存储过程和函数
  6. linux下vi编辑某文件时,操作出现 错误提示: E325: ATTENTION 2, Found a swap file by the name &quot;.p1.c.swp&quot;
  7. 201621123062《java程序设计》第六周作业总结
  8. nginx中的超时设置,请求超时、响应等待超时等
  9. Oracle数值处理函数
  10. Maven和Solr简单总结
  11. John the Ripper-弱口令检测
  12. 在Struts.xml中的result元素指的是:指定动作类的动作方法执行完后的结果视图.
  13. 升级mac Mojave系统,git无法使用
  14. C-Lodop的https扩展版,火狐下添加例外
  15. 如何在Framework中读取bundle中的Res
  16. nginx搭建(centos7)
  17. 利用css和javascript实现简单的计算器
  18. 集合之fail-fast机制
  19. java实现中值滤波均值滤波拉普拉斯滤波
  20. [翻译] RBBAnimation,让你使用关键帧动画更便利

热门文章

  1. NXopen create chamfer tool
  2. git+jenkins+ansible+gitlab部署网站
  3. 19JS输出杨辉三角
  4. 微信小程序 switch
  5. ubuntu拨号上网与以太网
  6. vue2中底层响应式数据实现
  7. 关于window的文件路径
  8. socket-消息发送实战
  9. pj_0002_wbs_manager
  10. https://github.com/wuweilin/springboot-login-demo