4.4. 使用自定义 SSL 证书配置胶囊服务器以使用 Puppet 负载平衡
下面的部分论述了如何配置使用自定义 SSL 证书进行 Puppet 负载平衡的胶囊服务器。
4.4.1. 为胶囊服务器创建自定义 SSL 证书 复制链接链接已复制到粘贴板!
此流程概述了如何为证书签名请求创建配置文件,并包含负载均衡器和胶囊服务器,作为主题备用名称(SAN)。在您要为负载均衡配置的每个胶囊服务器上完成这个步骤。
流程
在 Capsule Server 上,创建包含所有源证书文件的目录,仅可供
root用户访问:mkdir /root/capsule_cert cd /root/capsule_cert
# mkdir /root/capsule_cert # cd /root/capsule_certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建为证书签名请求(CSR)签名的私钥。
请注意,私钥必须未加密的。如果您使用受密码保护的私钥,请删除私钥密码。
如果您已拥有此胶囊服务器的私钥,请跳过这一步。
openssl genrsa -out /root/capsule_cert/capsule.pem 4096
# openssl genrsa -out /root/capsule_cert/capsule.pem 4096Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建证书请求配置文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 SAN 证书创建证书签名请求(CSR):
openssl req -new \ -key /root/capsule_cert/capsule.pem \ -config SAN_config.cfg \ -out /root/capsule_cert/capsule.pem
# openssl req -new \ -key /root/capsule_cert/capsule.pem \1 -config SAN_config.cfg \2 -out /root/capsule_cert/capsule.pem3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将证书请求发送到证书颁发机构:
提交请求时,指定证书的寿命。发送证书请求的方法各不相同,因此请查阅证书颁发机构以获取首选方法。为了响应请求,预计可以在单独的文件中接收证书颁发机构捆绑包和签名证书。
- 将您从认证机构接收的证书颁发机构和胶囊服务器证书文件复制到卫星服务器上以验证它们。
在卫星服务器上,验证胶囊服务器证书输入文件:
katello-certs-check \ -c /root/capsule_cert/capsule.pem \ -k /root/capsule_cert/capsule.pem \ -b /root/capsule_cert/ca_cert_bundle.pem
# katello-certs-check \ -c /root/capsule_cert/capsule.pem \1 -k /root/capsule_cert/capsule.pem \2 -b /root/capsule_cert/ca_cert_bundle.pem3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.2. 使用自定义 SSL 证书配置胶囊服务器以使用 Puppet 负载平衡 复制链接链接已复制到粘贴板!
如果在 Satellite 配置中使用 Puppet,则必须完成以下步骤:
配置胶囊服务器以生成和签署 Puppet 证书
对于您要配置用于负载平衡的所有其他胶囊服务器的系统,请完成此步骤。在这一流程中的示例中,此胶囊服务器的 FQDN 为 capsule-ca.example.com。
将以下选项附加到您从
katello-certs-check命令的输出中获取的capsule-certs-generate命令:--foreman-proxy-cname loadbalancer.example.com
--foreman-proxy-cname loadbalancer.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在卫星服务器上,输入
capsule-certs-generate命令来生成胶囊证书。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保留用于安装 Capsule Server 证书的输出中的 example
satellite-installer命令的副本。- 将证书存档文件从卫星服务器复制到胶囊服务器。
将以下选项附加到
satellite-installer命令中,从capsule-certs-generate命令的输出中获取:--puppet-dns-alt-names "loadbalancer.example.com" \ --puppet-ca-server "capsule-ca.example.com" \ --foreman-proxy-puppetca "true" \ --puppet-server-ca "true" \ --enable-foreman-proxy-plugin-remote-execution-ssh
--puppet-dns-alt-names "loadbalancer.example.com" \ --puppet-ca-server "capsule-ca.example.com" \ --foreman-proxy-puppetca "true" \ --puppet-server-ca "true" \ --enable-foreman-proxy-plugin-remote-execution-sshCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,输入
satellite-installer命令,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,为您配置用于负载平衡的所有其他胶囊生成 Puppet 证书,但这是您配置 Puppet 证书签名的第一个系统:
puppet cert generate capsule.example.com \ --dns_alt_names=loadbalancer.example.com
# puppet cert generate capsule.example.com \ --dns_alt_names=loadbalancer.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令在 Puppet 证书签名请求实例上创建以下文件:
-
/etc/puppetlabs/puppet/ssl/certs/ca.pem -
/etc/puppetlabs/puppet/ssl/certs/capsule.example.com.pem -
/etc/puppetlabs/puppet/ssl/private_keys/capsule.example.com.pem -
/etc/puppetlabs/puppet/ssl/public_keys/capsule.example.com.pem
-
为负载平衡配置重新平衡
为每个胶囊服务器完成这个步骤,包括配置胶囊服务器以为 Puppet 证书签名的系统。
将以下选项附加到您从
katello-certs-check命令的输出中获取的capsule-certs-generate命令:--foreman-proxy-cname loadbalancer.example.com
--foreman-proxy-cname loadbalancer.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在卫星服务器上,输入
capsule-certs-generate命令来生成胶囊证书。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保留用于安装 Capsule Server 证书的输出中的 example
satellite-installer命令的副本。将证书存档文件从卫星服务器复制到胶囊服务器。
scp /root/capsule.example.com-certs.tar \ root@capsule.example.com:capsule.example.com-certs.tar
# scp /root/capsule.example.com-certs.tar \ root@capsule.example.com:capsule.example.com-certs.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,安装
puppetserver软件包:satellite-maintain packages install puppetserver
# satellite-maintain packages install puppetserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,为 puppet 证书创建目录:
mkdir -p /etc/puppetlabs/puppet/ssl/certs/ \ /etc/puppetlabs/puppet/ssl/private_keys/ \ /etc/puppetlabs/puppet/ssl/public_keys/
# mkdir -p /etc/puppetlabs/puppet/ssl/certs/ \ /etc/puppetlabs/puppet/ssl/private_keys/ \ /etc/puppetlabs/puppet/ssl/public_keys/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,从配置胶囊服务器的系统中复制此胶囊服务器的 Puppet 证书,以为 Puppet 证书签名:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,将目录所有权更改为用户
puppet、组puppet并设置 SELinux 上下文:chown -R puppet:puppet /etc/puppetlabs/puppet/ssl/ restorecon -Rv /etc/puppetlabs/puppet/ssl/
# chown -R puppet:puppet /etc/puppetlabs/puppet/ssl/ # restorecon -Rv /etc/puppetlabs/puppet/ssl/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下选项附加到
satellite-installer命令中,从capsule-certs-generate命令的输出中获取:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,输入
satellite-installer命令,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow