搜索

4.2. 使用默认 SSL 证书配置 Capsule 服务器,以使用 Puppet 进行负载平衡

download PDF

下面的部分论述了如何配置使用默认 SSL 证书进行 Puppet 负载均衡的胶囊服务器。

如果在 Satellite 配置中使用 Puppet,您必须完成以下步骤:

4.2.1. 使用默认 SSL 证书配置胶囊服务器来生成和签署 Puppet 证书

仅针对您要配置 Capsule 服务器的系统为您配置进行负载平衡的所有其他胶囊服务器生成并签署 Puppet 证书。

流程

  1. 在 Satellite 服务器上,为配置 Capsule 服务器以生成和签署 Puppet 证书的系统生成 Katello 证书:

    # capsule-certs-generate \
    --certs-tar "/root/capsule-ca.example.com-certs.tar" \
    --foreman-proxy-cname loadbalancer.example.com \
    --foreman-proxy-fqdn capsule-ca.example.com

    保留用于安装 Capsule 服务器证书的 Capsule- certs-generate 命令输出的示例 satellite- installer 命令的副本。

  2. 将证书存档文件从 Satellite 服务器复制到 Capsule 服务器:

    # scp /root/capsule-ca.example.com-certs.tar root@capsule-ca.example.com:capsule-ca.example.com-certs.tar
  3. 将以下选项附加到您从 Capsule- certs-generate 命令的输出中获取的 satellite- installer 命令中:

    --certs-cname "loadbalancer.example.com" \
    --enable-foreman-proxy-plugin-remote-execution-script \
    --foreman-proxy-puppetca "true" \
    --puppet-ca-server "capsule-ca.example.com" \
    --puppet-dns-alt-names "loadbalancer.example.com" \
    --puppet-server-ca "true"
  4. 在 Capsule 服务器上,输入 satellite-installer 命令:

    # satellite-installer --scenario capsule \
    --certs-cname "loadbalancer.example.com" \
    --certs-tar-file "capsule-ca.example.com-certs.tar" \
    --enable-foreman-proxy-plugin-remote-execution-script \
    --enable-puppet \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-oauth-consumer-key "oauth key" \
    --foreman-proxy-oauth-consumer-secret "oauth secret" \
    --foreman-proxy-puppetca "true" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule-ca.example.com" \
    --puppet-ca-server "capsule-ca.example.com" \
    --puppet-dns-alt-names "loadbalancer.example.com" \
    --puppet-server true \
    --puppet-server-ca "true"
  5. 在 Capsule 服务器上停止 Puppet 服务器:

    # puppet resource service puppetserver ensure=stopped
  6. 为您为负载平衡配置的所有其他胶囊服务器生成 Puppet 证书,但配置 Puppet 证书的第一个系统除外:

    # puppetserver ca generate \
    --ca-client \
    --certname capsule.example.com \
    --subject-alt-names loadbalancer.example.com

    此命令将配置 Capsule 服务器以签署 Puppet 证书的系统上创建以下文件:

    • /etc/puppetlabs/puppet/ssl/certs/capsule.example.com.pem
    • /etc/puppetlabs/puppet/ssl/certs/ca.pem
    • /etc/puppetlabs/puppet/ssl/private_keys/capsule.example.com.pem
    • /etc/puppetlabs/puppet/ssl/public_keys/capsule.example.com.pem
  7. 恢复 Puppet 服务器:

    # puppet resource service puppetserver ensure=running

4.2.2. 使用默认 SSL 证书配置剩余的 Capsule 服务器以进行负载平衡

在每个胶囊服务器上完成此流程,不包括将胶囊服务器配置为签署 Puppet 证书的系统。

流程

  1. 在 Satellite 服务器上,为 Capsule 服务器生成 Katello 证书:

    # capsule-certs-generate \
    --certs-tar "/root/capsule.example.com-certs.tar" \
    --foreman-proxy-cname loadbalancer.example.com \
    --foreman-proxy-fqdn capsule.example.com

    保留用于安装 Capsule 服务器证书的 Capsule- certs-generate 命令输出的示例 satellite- installer 命令的副本。

  2. 将证书存档文件从 Satellite 服务器复制到 Capsule 服务器:

    # scp /root/capsule.example.com-certs.tar root@capsule.example.com:/root/capsule.example.com-certs.tar
  3. 在 Capsule Server 上,安装 puppetserver 软件包:

    # satellite-maintain packages install puppetserver
  4. 在 Capsule 服务器上,为 puppet 证书创建目录:

    # mkdir -p /etc/puppetlabs/puppet/ssl/certs/ \
    /etc/puppetlabs/puppet/ssl/private_keys/ \
    /etc/puppetlabs/puppet/ssl/public_keys/
  5. 在 Capsule 服务器上,从配置 Capsule 服务器的系统中复制此 Capsule 服务器的 Puppet 证书,以签署 Puppet 证书:

    # scp root@capsule-ca.example.com:/etc/puppetlabs/puppet/ssl/certs/capsule.example.com.pem /etc/puppetlabs/puppet/ssl/certs/capsule.example.com.pem
    # scp root@capsule-ca.example.com:/etc/puppetlabs/puppet/ssl/certs/ca.pem /etc/puppetlabs/puppet/ssl/certs/ca.pem
    # scp root@capsule-ca.example.com:/etc/puppetlabs/puppet/ssl/private_keys/capsule.example.com.pem /etc/puppetlabs/puppet/ssl/private_keys/capsule.example.com.pem
    # scp root@capsule-ca.example.com:/etc/puppetlabs/puppet/ssl/public_keys/capsule.example.com.pem /etc/puppetlabs/puppet/ssl/public_keys/capsule.example.com.pem
  6. 在 Capsule 服务器上,将 /etc/puppetlabs/puppet/ssl/ 目录所有权改为用户 puppet 和组 puppet

    # chown -R puppet:puppet /etc/puppetlabs/puppet/ssl/
  7. 在 Capsule 服务器上,为 /etc/puppetlabs/puppet/ssl/ 目录设置 SELinux 上下文:

    # restorecon -Rv /etc/puppetlabs/puppet/ssl/
  8. 将以下选项附加到您从 Capsule- certs-generate 命令的输出中获取的 satellite- installer 命令中:

    --certs-cname "loadbalancer.example.com" \
    --enable-foreman-proxy-plugin-remote-execution-script \
    --foreman-proxy-puppetca "false" \
    --puppet-ca-server "capsule-ca.example.com" \
    --puppet-dns-alt-names "loadbalancer.example.com" \
    --puppet-server-ca "false"
  9. 在 Capsule 服务器上,输入 satellite-installer 命令:

    # satellite-installer --scenario capsule \
    --certs-cname "loadbalancer.example.com" \
    --certs-tar-file "capsule.example.com-certs.tar" \
    --enable-foreman-proxy-plugin-remote-execution-script \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-oauth-consumer-key "oauth key" \
    --foreman-proxy-oauth-consumer-secret "oauth secret" \
    --foreman-proxy-puppetca "false" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule.example.com" \
    --puppet-ca-server "capsule-ca.example.com" \
    --puppet-dns-alt-names "loadbalancer.example.com" \
    --puppet-server-ca "false"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.