Red Hat Training

A Red Hat training course is available for Red Hat Satellite

5.3. 配置 Red Hat Satellite Capsule Server

前提条件

继续此任务前必须满足以下条件:

  • 安装 Red Hat Satellite Server。
  • 将 SELinux 对 Satellite Capsule Serve 所在系统的权限设置为 enforcing。
以下操作配置了和 Red Hat Satellite Server 一起使用的 Satellite Capsule Server(包括以下类型的 Satellite Capsule Server):
  • 使用智能代理服务器的 Satellite Capsule Server
  • 作为内容节点的 Satellite Capsule Server
  • 使用智能代理服务器且作为内容节点的 Satellite Capsule Server
配置 Satellite Capsule Server:
  1. 请在 Satellite Server 中:
    1. 生成 Satellite Capsule Server 证书:
      capsule-certs-generate --capsule-fqdn capsule_FQDN --certs-tar ~/capsule.example.com-certs.tar
      
      其中:
      • capsule_FQDN 是 Satellite Capsule Server 的全局域名(必须指定)。
      • certs-tar 是生成的 tar 文件的文件名。这个 tar 文件 Satellite Capsule 安装程序使用的证书。
      运行 capsule-certs-generate 将会生成以下的输出信息:
          To finish the installation, follow these steps:
        1. Ensure that the capsule-installer is available on the system.
           The capsule-installer comes from the katello-installer package and
           should be acquired through the means that are appropriate to your deployment.
        2. Copy ~/capsule.example.com-certs.tar to the capsule system capsule.example.com
        3. Run the following commands on the capsule (possibly with the customized
           parameters, see capsule-installer --help and
           documentation for more info on setting up additional services):
        rpm -Uvh http://master.com/pub/katello-ca-consumer-latest.noarch.rpm
        subscription-manager register --org "ACME_Corporation"
        capsule-installer --parent-fqdn          "sat6.example.com"\
                          --register-in-foreman  "true"\
                          --foreman-oauth-key    "xmmQCGYdkoCRcbviGfuPdX7ZiCsdExf
                          --foreman-oauth-secret "w5ZDpyPJ24eSBNo53AFybcnqoDYXgLUA"\
                          --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                          --certs-tar            "~/capsule.example.com-certs.tar"\
                          --puppet               "true"\
                          --puppetca             "true"\
                          --pulp                 "true"
      
    2. 将生成的 tarball(capsule.example.com-certs.tar)从 Satellite Server复制到 Satellite Capsule 所在的主机系统。
  2. 在 Satellite Capsule Server 中:
    1. 在 Satellite Server 中注册 Satellite Capsule Server:
      # rpm -Uvh http://sat6host.example.redhat.com/pub/katello-ca-consumer-latest.noarch.rpm
      # subscription-manager register --org "ACME_Corporation" --env [environment]/[content_view_name]
      

      注意

      Satellite Capsule Server 需要一个环境与 Satellite Server 同步内容,而只有机构具有这个环境,因此 Satellite Capsule Server 必须被分配给一个机构。
      分配位置的操作是可选的,但我们建议进行这个设置来标识 Satellite Capsule Server 所管理的地理位置。
    2. 根据所需的 Satellite Capsule Server 类型,选择以下的选项:
      1. 选项 1:使用智能代理服务器的 Satellite Capsule Server:这样可安装带有智能代理服务器功能的 Satellite Capsule Server(DHCP、DNS、Puppet)。以 root 用户的身份在 Satellite Capsule Server 中运行以下命令:
          
        # capsule-installer --parent-fqdn          "satellite.example.com"\
                            --register-in-foreman  "true"\
                            --foreman-oauth-key    "xmmQCGYdkoCRcbviGfuPdX7ZiCsdExf
                            --foreman-oauth-secret "w5ZDpyPJ24eSBNo53AFybcnqoDYXgLUA"\
                            --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                            --certs-tar            "/root/capsule.example.com-certs.tar"\
                            --puppet               "true"\
                            --puppetca             "true"\
                            --pulp                 "true"
                            --tftp                 "true"
                            --dhcp                 "true"\
                            --dhcp-interface       "virbr1
                           --dns                  "true"\
                           --dns-forwarders       "8.8.8.8"\
                           --dns-forwarders       "8.8.4.4"\
                           --dns-interface        "virbr1"\
                           --dns-zone             "example.com"
        
        
      2. 选项 2:使用智能代理服务器,作为内容节点的 Satellite Capsule Server:安装带有全部功能的 Satellite Capsule Server。以 root 用户身份在 Satellite Capsule Server 中运行以下命令:
        # capsule-installer --parent-fqdn          "sat6.example.com"\
                            --register-in-foreman  "true"\
                            --foreman-oauth-key    "xmmQCGYdkoCRcbviGfuPdX7ZiCsdExf
                            --foreman-oauth-secret "w5ZDpyPJ24eSBNo53AFybcnqoDYXgLUA"\
                            --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                            --certs-tar            "/root/capsule.example.com-certs.tar"\
                            --puppet               "true"\
                            --puppetca             "true"\
                            --pulp                 "true"
                            --tftp                 "true"
                            --dhcp                 "true"\
                            --dhcp-interface       "virbr1
                           --dns                  "true"\
                           --dns-forwarders       "8.8.8.8"\
                           --dns-forwarders       "8.8.4.4"\
                           --dns-interface        "virbr1"\
                           --dns-zone             "example.com"
        
        

注意

在配置成功后,以 root 用户身份在 Satellite Capsule Server 中运行以下命令:
# echo $?
如果所有都正确,这个命令会返回 "0"。如果它没有返回“0”,请查看 /var/log/kafo 文件找出造成错误的原因。/var/log/kafocapsule-certs-generatecapsule-installer 命令生成的日志文件。
Satellite Capsule Server 同时应该出现在 Satellite Server 用户界面中的架构Capsule 中。
结果:

Satellite Capsule Server 已经被正确配置,并注册到 Satellite Server。

14370%2C+Installation+Guide-6.0-131-10-2014+12%3A29%3A02Red+Hat+Satellite+6Docs+Install+Guide提交 bug 报告

5.3.1. 配置 Red Hat Satellite Capsule Server 来使用自定义服务器证书( Custom Server Certificate)

katello-installer 带有一个默认的 CA,服务器的 ssl 证书以及用来进行子服务验证的客户端证书都使用它。您可以使用自定义的证书来替换默认的证书。
您可以在以下两个阶段配置 Red Hat Satellite Capsule Server 来使用自定义的 CA 证书:
  1. 首次运行 capsule-certs-generate
  2. 运行 capsule-certs-generate

过程 5.2. 首次运行 capsule-certs-generate 时设置自定义服务器证书( Custom Server Certificate)

  1. 在 Red Hat Satellite Server 中运行以下命令:
    capsule-certs-generate --capsule-fqdn "$CAPSULE"\
                           --certs-tar "~/$CAPSULE-certs.tar"\
                           --server-cert ~/path/to/server.crt\
                           --server-cert-req ~/path/to/server.crt.req\
                           --server-key ~/path/to/server.key\
                           --server-ca-cert ~/cacert.crt
    
    其中:
    • capsule_FQDN 是 Satellite Capsule Server 的全局域名(必须被指定)。
    • certs-tar 是锁生成 tar 文件的文件名。这个 tar 文件包括 Satellite Capsule 安装程序要使用的证书。
    • server-cert 是您的证书的路径。这个证书由您自己的 CA 签发。
    • server-cert-req 是您的证书签发请求文件的路径。
    • server-key 是签发证书所使用的私人密钥
    • server-ca-cert ~/path/to/cacert.crt 到这个系统的 CA 证书的路径。
  2. 将生成的 tarball(capsule.example.com-certs.tar)从 Satellite Server 复制到 Satellite Capsule 所在的主机系统。
  3. 在 Satellite Capsule Server 中:
    1. 在 Satellite Server 中注册 Satellite Capsule Server:
      # rpm -Uvh http://sat6host.example.redhat.com/pub/katello-ca-consumer-latest.noarch.rpm
      # subscription-manager register --org "ACME_Corporation" --env [environment]/[content_view_name]
      

      注意

      Satellite Capsule Server 需要一个环境来从 Satellite Server 上同步内容,而只有机构具有这个环境,因此 Satellite Capsule Server 必须被分配给一个机构。
      分配位置的操作是可选的,但我们建议设置 Satellite Capsule Server 所管理主机附近的地理位置。
    2. 根据所需的 Satellite Capsule Server 类型,选择以下的选项:
      1. 选项 1:使用智能代理服务器的 Satellite Capsule Server:这样可安装带有智能代理服务器功能的 Satellite Capsule Server(DHCP、DNS、Puppet)。以 root 用户的身份在 Satellite Capsule Server 中运行以下命令:
          
        # capsule-installer --parent-fqdn          "satellite.example.com"\
                            --register-in-foreman  "true"\
                            --foreman-oauth-key    "xmmQCGYdkoCRcbviGfuPdX7ZiCsdExf
                            --foreman-oauth-secret "w5ZDpyPJ24eSBNo53AFybcnqoDYXgLUA"\
                            --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                            --certs-tar            "/root/capsule.example.com-certs.tar"\
                            --puppet               "true"\
                            --puppetca             "true"\
                            --pulp                 "true"
                            --tftp                 "true"
                            --dhcp                 "true"\
                            --dhcp-interface       "virbr1
                           --dns                  "true"\
                           --dns-forwarders       "8.8.8.8"\
                           --dns-forwarders       "8.8.4.4"\
                           --dns-interface        "virbr1"\
                           --dns-zone             "example.com"
        
        
      2. 选项 2:作为内容节点的 Satellite Capsule Server:安装带有内容管理功能的 Satellite Capsule Server 和 Puppet Master 。以 root 用户身份在 Satellite Capsule Server 中运行以下命令:
        # capsule-installer --parent-fqdn          "sat6.example.com"\
                            --register-in-foreman  "true"\
                            --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                            --certs-tar           "~/capsule.example.com-certs.tar"\
                            --puppet               "false"\
                            --puppetca             "false"\
                            --pulp                 "true"
        
      3. 选项 3:使用智能代理服务器,作为内容节点的 Satellite Capsule Server:安装带有全部功能的 Satellite Capsule Server。以 root 用户身份在 Satellite Capsule Server 中运行以下命令:
        # capsule-installer --parent-fqdn          "sat6.example.com"\
                            --register-in-foreman  "true"\
                            --foreman-oauth-key    "xmmQCGYdkoCRcbviGfuPdX7ZiCsdExf
                            --foreman-oauth-secret "w5ZDpyPJ24eSBNo53AFybcnqoDYXgLUA"\
                            --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                            --certs-tar            "/root/capsule.example.com-certs.tar"\
                            --puppet               "true"\
                            --puppetca             "true"\
                            --pulp                 "true"
                            --tftp                 "true"
                            --dhcp                 "true"\
                            --dhcp-interface       "virbr1
                           --dns                  "true"\
                           --dns-forwarders       "8.8.8.8"\
                           --dns-forwarders       "8.8.4.4"\
                           --dns-interface        "virbr1"\
                           --dns-zone             "example.com"
        
        

过程 5.3. 在运行 capsule-certs-generate 后设置子定义服务器证书

在 Satellite Server 中使用自定义服务器证书意味着需要在 Satellite Capsule Server 中部署相同的自定义服务器证书。请在每个 Satellite Capsule Server 中执行以下步骤:
  1. 根据您的自定义服务器证书生成新证书:
    capsule-certs-generate --capsule-fqdn "satcapsule.example.com"\
                           --certs-tar "~/$CAPSULE-certs.tar"\
                           --server-cert ~/path/to/server.crt\
                           --server-cert-req ~/path/to/server.crt.req\
                           --server-key ~/path/to/server.key\
                           --server-ca-cert ~/cacert.crt\
                           --certs-update-server --certs-update-server-ca
    
  2. 将生成的 tarball(capsule.example.com-certs.tar)从 Satellite Server 复制到 Satellite Capsule 所在的主机系统。
  3. 在 Satellite Capsule Server 中重新运行 capsule-installer 命令刷新证书。根据所需的 Satellite Capsule Server 类型,选择以下选项之一:
    1. 选项 1:使用智能代理服务器的 Satellite Capsule Server:这样可安装带有智能代理服务器功能的 Satellite Capsule Server(DHCP、DNS、Puppet)。以 root 用户的身份在 Satellite Capsule Server 中运行以下命令:
        
      # capsule-installer --parent-fqdn          "satellite.example.com"\
                          --register-in-foreman  "true"\
                          --foreman-oauth-key    "xmmQCGYdkoCRcbviGfuPdX7ZiCsdExf
                          --foreman-oauth-secret "w5ZDpyPJ24eSBNo53AFybcnqoDYXgLUA"\
                          --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                          --certs-tar            "/root/capsule.example.com-certs.tar"\
                          --puppet               "true"\
                          --puppetca             "true"\
                          --pulp                 "true"
                          --tftp                 "true"
                          --dhcp                 "true"\
                          --dhcp-interface       "virbr1
                         --dns                  "true"\
                         --dns-forwarders       "8.8.8.8"\
                         --dns-forwarders       "8.8.4.4"\
                         --dns-interface        "virbr1"\
                         --dns-zone             "example.com"
      
      
    2. 选项 2:作为内容节点的 Satellite Capsule Server:安装带有内容管理功能的 Satellite Capsule Server 和 Puppet Master 。以 root 用户身份在 Satellite Capsule Server 中运行以下命令:
      # capsule-installer --parent-fqdn          "sat6.example.com"\
                          --register-in-foreman  "true"\
                          --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                          --certs-tar           "~/capsule.example.com-certs.tar"\
                          --puppet               "false"\
                          --puppetca             "false"\
                          --pulp                 "true"
      
    3. 选项 3:使用智能代理服务器,作为内容节点的 Satellite Capsule Server:安装带有全部功能的 Satellite Capsule Server。以 root 用户身份在 Satellite Capsule Server 中运行以下命令:
      # capsule-installer --parent-fqdn          "sat6.example.com"\
                          --register-in-foreman  "true"\
                          --foreman-oauth-key    "xmmQCGYdkoCRcbviGfuPdX7ZiCsdExf
                          --foreman-oauth-secret "w5ZDpyPJ24eSBNo53AFybcnqoDYXgLUA"\
                          --pulp-oauth-secret    "doajBEXqNcANy93ZbciFyysWaiwt6BWU"\
                          --certs-tar            "/root/capsule.example.com-certs.tar"\
                          --puppet               "true"\
                          --puppetca             "true"\
                          --pulp                 "true"
                          --tftp                 "true"
                          --dhcp                 "true"\
                          --dhcp-interface       "virbr1
                         --dns                  "true"\
                         --dns-forwarders       "8.8.8.8"\
                         --dns-forwarders       "8.8.4.4"\
                         --dns-interface        "virbr1"\
                         --dns-zone             "example.com"
      
      

重要

请在 Red Hat Satellite Server 和 Red Hat Satellite Capsule Server 中使用相同的自定义服务器证书,以保证它们之间的信任关系。
14370%2C+Installation+Guide-6.0-131-10-2014+12%3A29%3A02Red+Hat+Satellite+6Docs+Install+Guide提交 bug 报告