5.5. 从 OpenShift 集群内配置到 Apicurio Registry 的 HTTPS 连接


以下流程演示了如何配置 Apicurio Registry 部署,以便为来自 OpenShift 集群内的 HTTPS 连接公开端口。

警告

这种类型的连接在集群外不直接提供。路由基于主机名,该主机名在 HTTPS 连接的情况下是编码的。因此,仍然需要边缘终止或其他配置。请参阅 第 5.6 节 “从 OpenShift 集群外部配置到 Apicurio Registry 的 HTTPS 连接”

先决条件

  • 您必须已安装了 Apicurio Registry Operator。

流程

  1. 使用自签名证书生成 密钥存储。如果您使用自己的证书,可以跳过这一步。

    openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout tls.key -out tls.crt
    Copy to Clipboard Toggle word wrap
  2. 创建新机密来保存证书和私钥。

    1. 在 OpenShift Web 控制台左侧导航菜单中,点 Workloads > Secrets > Create Key/Value Secret
    2. 使用以下值:
      Name: https-cert-secret
      Key 1: tls.key
      Value 1: tls.key (uploaded file)
      Key 2: tls.crt
      Value 2: tls.crt (uploaded file)

    或者使用以下命令创建 secret:

    oc create secret generic https-cert-secret --from-file=tls.key --from-file=tls.crt
    Copy to Clipboard Toggle word wrap
  3. 为 Apicurio Registry 部署编辑 ApicurioRegistry CR 的 spec.configuration.security.https 部分,例如:

    apiVersion: registry.apicur.io/v1
    kind: ApicurioRegistry
    metadata:
      name: example-apicurioregistry
    spec:
      configuration:
        # ...
        security:
          https:
            secretName: https-cert-secret
    Copy to Clipboard Toggle word wrap
  4. 验证连接是否正常工作:

    1. 使用 SSH 连接到集群中的 pod (您可以使用 Apicurio Registry pod):

      oc rsh example-apicurioregistry-deployment-6f788db977-2wzpw
      Copy to Clipboard Toggle word wrap
    2. Service 资源查找 Apicurio Registry pod 的集群 IP (请参阅 web 控制台中的 Location 列)。之后,执行测试请求(我们使用自签名证书,因此需要一个 insecure 标志):

      curl -k https://172.30.230.78:8443/health
      Copy to Clipboard Toggle word wrap
注意

在包含 HTTPS 证书和密钥的 Kubernetes secret 中,名称 tls.crttls.key 必须用于提供的值。这是目前不可配置。

禁用 HTTP

如果使用本节中的流程启用了 HTTPS,您也可以通过将 spec.security.https.disableHttp 设置为 true 来禁用默认的 HTTP 连接。这会从 Apicurio Registry pod 容器、ServiceNetworkPolicy (如果存在)中删除 HTTP 端口 8080。

重要的是,Ingress 也被删除,因为 Apicurio Registry Operator 目前不支持在 Ingress 中配置 HTTPS。用户必须为 HTTPS 连接手动创建 Ingress

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat