首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Ingress V1和v1beta1的区别(一)

Ingress V1和v1beta1的区别(一)

原创
作者头像
玖叁叁
发布2023-05-02 17:46:44
发布2023-05-02 17:46:44
8640
举报
文章被收录于专栏:玖叁叁玖叁叁

Ingress是Kubernetes中的一个重要组件,可以将外部流量路由到集群中的Service对象。在Kubernetes版本1.19之前,Ingress资源的版本为v1beta1,从Kubernetes版本1.19开始,Ingress资源的版本为V1。

Ingress v1beta1

Ingress v1beta1是Kubernetes的早期版本中定义的Ingress资源。它允许开发人员在Kubernetes集群外部定义路由规则,以便将外部流量路由到集群内的Service对象。Ingress v1beta1定义了一个名为ingress.extensions/v1beta1的API组,并使用类似于下面的示例定义Ingress资源:

代码语言: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资源指定了将example.com主机名的流量路由到example-service Service对象的80端口,路径为/test。该Ingress资源使用HTTP协议路由流量。

虽然Ingress v1beta1是Kubernetes中的一种有用资源,但它有几个限制。例如,它不支持TCP/UDP流量的路由和TLS证书管理等功能。

Ingress v1

Ingress v1是Kubernetes 1.19版本中引入的新版本Ingress资源。与Ingress v1beta1不同,Ingress v1使用一个名为networking.k8s.io/v1的API组,可以管理更广泛的网络资源。Ingress v1支持TCP/UDP流量路由、TLS证书管理和HTTP/2协议等功能。下面是一个使用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资源指定了将example.com主机名的流量路由到example-service Service对象的HTTP端口,路径为/test。此外,还指定了使用TLS证书对流量进行加密。在Ingress v1中,还可以指定其他规则和参数,例如流量策略和负载均衡算法等。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ingress v1beta1
  • Ingress v1
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档