第 6 章 创建网关实例


本节介绍如何在 OpenShift 集群中部署网关。在设置应用程序开发人员要使用的基础架构时,此任务通常由平台工程师执行。

注意

在多集群环境中,为了通过跨集群使用 DNS 来平衡流量的连接链接,您必须使用共享主机名定义网关。您可以使用基于根域的通配符主机名的 HTTPS 侦听器来定义它。如前文所述,您必须将这些资源应用到所有集群。

先决条件

步骤

  1. 输入以下命令来创建网关:

    kubectl apply -f - <<EOF
    apiVersion: gateway.networking.k8s.io/v1
    kind: Gateway
    metadata:
      name: ${KUADRANT_GATEWAY_NAME}
      namespace: ${KUADRANT_GATEWAY_NS}
      labels:
        kuadrant.io/gateway: "true"
    spec:
        gatewayClassName: istio
        listeners:
        - allowedRoutes:
            namespaces:
              from: All
          hostname: "api.${KUADRANT_ZONE_ROOT_DOMAIN}"
          name: api
          port: 443
          protocol: HTTPS
          tls:
            certificateRefs:
            - group: ""
              kind: Secret
              name: api-${KUADRANT_GATEWAY_NAME}-tls
            mode: Terminate
    EOF
    Copy to Clipboard
  2. 检查网关的状态,如下所示:

    kubectl get gateway ${KUADRANT_GATEWAY_NAME} -n ${KUADRANT_GATEWAY_NS} -o=jsonpath='{.status.conditions[?(@.type=="Accepted")].message}{"\n"}{.status.conditions[?(@.type=="Programmed")].message}'
    Copy to Clipboard

    您的网关应 被接受编程 了,这意味着它有效并分配了外部地址。

  3. 检查 HTTPS 侦听器的状态,如下所示:

    kubectl get gateway ${KUADRANT_GATEWAY_NAME} -n ${KUADRANT_GATEWAY_NS} -o=jsonpath='{.status.listeners[0].conditions[?(@.type=="Programmed")].message}'
    Copy to Clipboard

    您将看到 HTTPS 侦听器尚未编程,或者准备好因为错误的 TLS 配置而接受流量。连接链接可使用 TLSPolicy 来帮助解决这个问题,该策略在下一步中描述。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat