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. 创建一个新 secret 来保存证书和私钥。

    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 列)。之后,执行测试请求(我们使用自签名证书,因此需要一个不安全的标记):

      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