Ingress V1和v1beta1的区别(二)

2023-05-02 17:47:29 浏览数 (1)

Ingress v1与v1beta1的比较

Ingress v1与v1beta1之间存在以下差异:

  • API组不同:Ingress v1beta1使用extensions/v1beta1 API组,Ingress v1使用`networking.k8s.io/v1` API组。
  • 路径定义不同:Ingress v1beta1使用spec.rules.http.paths.backend来指定Service对象和端口,而Ingress v1使用spec.rules.http.paths.backend.servicespec.rules.http.paths.backend.service.port
  • TLS证书定义不同:Ingress v1beta1使用spec.tls.secretName来指定TLS证书的名称,而Ingress v1使用spec.tls.hostsspec.tls.secretName来指定TLS证书的主机名和名称。

此外,Ingress v1还提供了一些新功能,例如TCP/UDP流量路由、HTTP/2协议和证书管理等。

Ingress v1和v1beta1示例

下面是一个使用Ingress v1beta1的示例:

代码语言:javascript复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /test
        backend:
          serviceName: example-service
          servicePort: 80

下面是一个使用Ingress v1的示例:

代码语言:javascript复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
spec:
  tls:
  - hosts:
    - example.com
    secretName: example-tls-secret
  rules:
  - host: example.com
    http:
      paths:
      - path: /test
        pathType: Prefix
        backend:
          service:
            name: example-service
            port:
              name: http

在上述示例中,Ingress v1beta1使用了extensions/v1beta1 API组和spec.rules.http.paths.backend来定义路由规则。Ingress v1使用了networking.k8s.io/v1 API组和spec.rules.http.paths.backend.servicespec.rules.http.paths.backend.service.port来定义路由规则。此外,Ingress v1还指定了TLS证书,并使用了HTTP/2协议。

0 人点赞