Kubernetes Gateway API-5-后端协议和网关基础设置标签

1 后端协议

自 v1.2.0 开始支持

并非所有网关API实现都支持自动协议选择。在某些情况下,协议在没有明确选择加入的情况下被禁用。

当 Route 的后端引用Kubernetes Service 时,应用程序开发人员可以使用 ServicePort appProtocol 字段指定协议。

例如,以下 Kubernetes Service store 表示端口 8080 支持 HTTP/2。

yaml 复制代码
apiVersion: v1
kind: Service
metadata:
  name: store
spec:
  selector:
    app: store
  ports:
  - protocol: TCP
    appProtocol: kubernetes.io/h2c
    port: 8080
    targetPort: 8080

目前,Gateway API对以下方面进行了一致性测试:

  • kubernetes.io/h2c HTTP/2
  • kubernetes.io/ws 基于HTTP的WebSocket

2 网关基础设置标签

Gateway API 实现负责创建使每个 Gateway 工作所需的后端基础设施。例如,在 Kubernetes 集群中运行的实现通常会创建 Services 和 Deployments,而基于云的实现可能会创建云负载均衡器资源。在许多情况下,能够将标签或注释传播到这些生成的资源是非常有帮助的。

Gateway 上的基础设施字段允许您为由 Gateway API 控制器创建的基础设施指定标签和注释。例如,如果您的 Gateway 基础设施在集群内运行,您可以使用以下 Gateway 配置同时指定 Linkerd 和 Istio 的注入,从而使基础设施更容易集成到您安装的任何服务网格中。

以下是一个示例配置:

yaml 复制代码
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: meshed-gateway
  namespace: incoming
spec:
  gatewayClassName: meshed-gateway-class
  listeners:
  - name: http-listener
    protocol: HTTP
    port: 80
  infrastructure:
    labels:
      istio-injection: enabled
    annotations:
      linkerd.io/inject: enabled
相关推荐
Ytadpole2 小时前
性能革命的底层逻辑:深入理解 Spring Cloud Gateway 的 Reactor 核心
java·spring·gateway·reactor·响应式编程·cloud
能不能别报错4 小时前
K8s学习笔记(十) Deployment 副本控制器
笔记·学习·kubernetes
二饭5 小时前
使用Docker安装Neo4j
docker·容器·neo4j
戴誉杰5 小时前
cloudfared 内网穿透通过docker方式遇到的问题
运维·docker·容器·cloudfared
野熊佩骑7 小时前
CentOS7二进制安装包方式部署K8S集群之CA根证书生成
linux·运维·docker·云原生·容器·kubernetes·centos
能不能别报错9 小时前
K8s学习笔记(十一) service
笔记·学习·kubernetes
妮妮喔妮9 小时前
docker-compose端口冲突问题
运维·docker·容器
kjl53656613 小时前
docker命令
运维·docker·容器
野熊佩骑13 小时前
CentOS7二进制安装包方式部署K8S集群之ETCD集群部署
运维·数据库·云原生·容器·kubernetes·centos·etcd
Insist75320 小时前
基于OpenEuler--docker容器化部署ceph集群
ceph·docker·容器