5.2. 创建数据平面 secret


data plane 需要几个 Secret 自定义资源(CR)才能运行。data plane 节点使用 Secret CR 来实现以下功能:

  • 启用节点间的安全访问:

    • 您必须生成 SSH 密钥,并为每个密钥创建一个 SSH 密钥 Secret CR,以便 Ansible 管理数据平面上的 RHEL 节点。Ansible 使用这个用户和密钥执行命令。您可以为数据平面中的每个 OpenStackDataPlaneNodeSet CR 创建 SSH 密钥。
    • 您必须生成 SSH 密钥,并为每个密钥创建一个 SSH 密钥 Secret CR,以便在 Compute 节点间迁移实例。
  • 要注册没有注册到红帽客户门户网站的节点的操作系统。
  • 为节点启用存储库。
  • 为 Compute 节点提供对 libvirt 的访问权限。

先决条件

流程

  1. 对于未置备的节点,为 Ansible 创建 SSH 密钥对:

    $ ssh-keygen -f <key_file_name> -N "" -t rsa -b 4096
    Copy to Clipboard Toggle word wrap
    • <key_file_name > 替换为用于密钥对的名称。
  2. 为 Ansible 创建 Secret CR,并将其应用到集群:

    $ oc create secret generic dataplane-ansible-ssh-private-key-secret \
    --save-config \
    --dry-run=client \
    --from-file=ssh-privatekey=<key_file_name> \
    --from-file=ssh-publickey=<key_file_name>.pub \
    [--from-file=authorized_keys=<key_file_name>.pub] -n openstack \
    -o yaml | oc apply -f -
    Copy to Clipboard Toggle word wrap
    • <key_file_name > 替换为 SSH 密钥对文件的名称和位置。
    • 可选:只包括创建 数据平面时必须置备的裸机节点的--from-file=authorized_keys 选项。
  3. 如果要创建 Compute 节点,请为迁移创建一个 secret。

    1. 为实例迁移创建 SSH 密钥对:

      $ ssh-keygen -f ./nova-migration-ssh-key -t ecdsa-sha2-nistp521 -N ''
      Copy to Clipboard Toggle word wrap
    2. 为迁移创建 Secret CR,并将其应用到集群:

      $ oc create secret generic nova-migration-ssh-key \
      --save-config \
      --from-file=ssh-privatekey=nova-migration-ssh-key \
      --from-file=ssh-publickey=nova-migration-ssh-key.pub \
      -n openstack \
      -o yaml | oc apply -f -
      Copy to Clipboard Toggle word wrap
  4. 对于还没有注册到红帽客户门户网站的节点,为 subscription-manager 凭证创建 Secret CR 以注册节点:

    $ oc create secret generic subscription-manager \
    --from-literal rhc_auth='{"login": {"username": "<subscription_manager_username>", "password": "<subscription_manager_password>"}}'
    Copy to Clipboard Toggle word wrap
    • <subscription_manager_username > 替换为您为 subscription-manager 设置的用户名。
    • <subscription_manager_password > 替换为您为 subscription-manager 设置的密码。
  5. 创建包含红帽 registry 凭证的 Secret CR:

    $ oc create secret generic redhat-registry --from-literal edpm_container_registry_logins='{"registry.redhat.io": {"<username>": "<password>"}}'
    Copy to Clipboard Toggle word wrap
    • <username &gt ; 和 <password > 替换为您的 Red Hat registry 用户名和密码凭证。

      有关如何创建 registry 服务帐户的详情,请参考知识库文章 创建 Registry 服务账户

  6. 如果要创建 Compute 节点,请为 libvirt 创建一个 secret。

    1. 在工作站上创建一个名为 secret_libvirt.yaml 的文件,以定义 libvirt secret:

      apiVersion: v1
      kind: Secret
      metadata:
       name: libvirt-secret
       namespace: openstack
      type: Opaque
      data:
       LibvirtPassword: <base64_password>
      Copy to Clipboard Toggle word wrap
      • <base64_password > 替换为 base64 编码的字符串,其最大长度为 63 个字符。您可以使用以下命令生成 base64 编码的密码:

        $ echo -n <password> | base64
        Copy to Clipboard Toggle word wrap
        提示

        如果您不想对用户名和密码进行 base64encode,您可以使用 stringData 字段而不是 data 字段来设置用户名和密码。

    2. 创建 Secret CR:

      $ oc apply -f secret_libvirt.yaml -n openstack
      Copy to Clipboard Toggle word wrap
  7. 验证 Secret CR 是否已创建:

    $ oc describe secret dataplane-ansible-ssh-private-key-secret
    $ oc describe secret nova-migration-ssh-key
    $ oc describe secret subscription-manager
    $ oc describe secret redhat-registry
    $ oc describe secret libvirt-secret
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat