6.4. 使用自定义 SSL 证书配置剩余的 Capsule 服务器以进行负载均衡
在每个负载平衡胶囊服务器上,不包括配置为签署 Puppet 证书的胶囊服务器,将系统配置为使用 Puppet 证书。
流程
将以下选项附加到您从
katello-certs-check命令的输出中获取的capsule-certs-generate命令中:--foreman-proxy-cname loadbalancer.example.com在 Satellite 服务器上,输入 Capsule
-certs-generate命令来生成 Capsule 证书:# capsule-certs-generate \ --certs-tar /root/capsule_cert/capsule.tar \ --foreman-proxy-cname loadbalancer.example.com \ --foreman-proxy-fqdn capsule.example.com \ --server-ca-cert /root/capsule_cert/ca_cert_bundle.pem \ --server-cert /root/capsule_cert/capsule.pem \ --server-key /root/capsule_cert/capsule.pem从用于安装 Capsule 服务器证书的输出中保留示例
satellite-installer命令的副本。将证书存档文件从 Satellite 服务器复制到胶囊服务器。
# scp /root/capsule.example.com-certs.tar root@capsule.example.com:capsule.example.com-certs.tar在 Capsule 服务器上,安装
puppetserver软件包:# satellite-maintain packages install puppetserver在 Capsule 服务器上,为 puppet 证书创建目录:
# mkdir -p /etc/puppetlabs/puppet/ssl/certs/ \ /etc/puppetlabs/puppet/ssl/private_keys/ \ /etc/puppetlabs/puppet/ssl/public_keys/在 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在 Capsule 服务器上,将
/etc/puppetlabs/puppet/ssl/目录所有权改为用户puppet和组puppet:# chown -R puppet:puppet /etc/puppetlabs/puppet/ssl/在 Capsule 服务器上,为
/etc/puppetlabs/puppet/ssl/目录设置 SELinux 上下文:# restorecon -Rv /etc/puppetlabs/puppet/ssl/将以下选项附加到您从
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"在 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"