云容器实例 CCI-Ingress:创建Ingress

时间:2023-12-21 21:07:00

创建Ingress

  • 使用http协议创建Ingress
    下面例子中,关联的backend为“nginx:8080”,当访问“http://10.10.10.10:6071/”时,流量转发“nginx:8080”对应的Service,从而将流量转发到对应负载中的Pod。
    apiVersion: extensions/v1beta1                                   # Ingress的版本
    kind: Ingress
    metadata:
      name: nginx
      labels:
        app: nginx
        isExternal: "true"   # 必选参数,取值必须为 "true"
        zone: data         # 数据平面模式,必选参数,取值必须为data
      annotations:
        kubernetes.io/elb.id: 2d48d034-6046-48db-8bb2-53c67e8148b5   # ELB实例的ID,必选参数
        kubernetes.io/elb.ip: 192.168.137.182                        # ELB实例的IP,可选参数
        kubernetes.io/elb.port: '6071'                               # ELB实例的端口,必选参数
    spec:
      rules:                                                         # 路由规则
      - http:                                                        # 使用http协议                      
          paths:
          - path: /                                                  # 路由 
            backend:
              serviceName: nginx                                     # 转发到的Service名称
              servicePort: 8080                                      # 转发到的Service端口

    Ingress中还可以设置外部域名,这样您就可以通过域名来访问到ELB,进而访问到后端服务。

    域名访问依赖于域名解析,需要您将域名解析指向ELB实例的IP地址,例如您可以使用云解析服务 DNS来实现域名解析。

    spec:
      rules:
      - host: www.example.com       # 域名
        http:
          paths:
          - path: /
            backend:
              serviceName: nginx
              servicePort: 80
  • 使用https协议创建Ingress
    下面例子中,关联的backend为“nginx:8080”,当访问“https://10.10.10.10:6071/”时,流量转发“nginx:8080”对应的Service,从而将流量转发到对应负载中的Pod。
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      annotations:
        kubernetes.io/elb.id: 2d48d034-6046-48db-8bb2-53c67e8148b5
        kubernetes.io/elb.ip: 192.168.137.182
        kubernetes.io/elb.port: '6071'
      labels:
        app: nginx
        isExternal: 'true'
        zone: data
      name: nginx
    spec:
      rules:
      - http:
          paths:
          - backend:
              serviceName: nginx
              servicePort: 8080
            path: /
      tls:
     - secretName: cci-sslcertificate-20214221                                 # 上传的SSL证书的名称
support.huaweicloud.com/devg-cci/cci_05_0008.html