2.2. SELinux에 자동화 허브의 HA(고가용성) 배포 설치

SELinux에서 자동화 허브의 HA(고가용성) 배포를 설정하려면 /var/lib/pulp 및 /var/lib/pulp /pulpcore_static 에 대한 두 개의 마운트 지점을 만든 다음 각각에 적절한 SELinux 컨텍스트를 할당합니다. /var/lib/pulp/pulpcore_static 컨텍스트를 추가하고 /var/lib/pulp 에 대한 컨텍스트를 추가하기 전에 Ansible Automation Platform 설치 프로그램을 실행해야 합니다.

사전 요구 사항

  • 서버에 NFS 내보내기를 이미 구성했습니다.

사전 설치 절차

  1. /var/lib/pulp 에 마운트 지점을 만듭니다.

    $ mkdir /var/lib/pulp/
  2. 텍스트 편집기를 사용하여 /etc/fstab 을 열고 다음 값을 추가합니다.

    srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache 0 0
    srv_rhel8:/data/pulpcore_static /var/lib/pulp/pulpcore_static nfs defaults,_netdev,nosharecache,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0 0
  3. 다음 명령을 실행합니다.

    $ systemctl daemon-reload
  4. /var/lib/pulp 에 대해 mount 명령을 실행합니다.

    $ mount /var/lib/pulp
  5. /var/lib/pulp/pulpcore_static 에 마운트 지점을 만듭니다.

    $ mkdir /var/lib/pulp/pulpcore_static
  6. 마운트 명령을 실행합니다.

    $ mount -a
  7. 마운트 지점이 설정된 상태에서 Ansible Automation Platform 설치 프로그램을 실행합니다.

    $ setup.sh -- -b --become-user root

설치가 완료되면 /var/lib/pulp/ 마운트 지점을 마운트 해제한 다음 적절한 SELinux 컨텍스트를 적용합니다.

설치 후 절차

  1. Pulp 서비스를 종료합니다.

    $ systemctl stop pulpcore.service
  2. /var/lib/pulp/pulpcore_static 을 마운트 해제합니다.

    $ umount /var/lib/pulp/pulpcore_static
  3. /var/lib/pulp/ 를 마운트 해제합니다.

    $ umount /var/lib/pulp/
  4. 텍스트 편집기를 사용하여 /etc/fstab 을 연 다음 /var/lib/pulp 의 기존 값을 다음과 같이 바꿉니다.

    srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:pulpcore_var_lib_t:s0" 0 0
  5. 마운트 명령을 실행합니다.

    $ mount -a

pulpcore.service를 구성합니다.

  1. 두 개의 마운트 지점이 설정되면 Pulp 서비스를 종료하여 pulpcore.service 를 구성합니다.

    $ systemctl stop pulpcore.service
  2. systemctl:을 사용하여 pulpcore.service 를 편집합니다.

    $ systemctl edit pulpcore.service
  3. 다음 항목을 pulpcore.service 에 추가하여 네트워크를 시작하고 원격 마운트 지점을 마운트한 후에만 자동화 허브 서비스가 시작되도록 합니다.

    [Unit]
    After=network.target var-lib-pulp.mount
  4. remote-fs.target 을 활성화합니다.

    $ systemctl enable remote-fs.target
  5. 시스템을 재부팅합니다.

    $ systemctl reboot

문제 해결

pulpcore SELinux 정책의 버그로 인해 etc/pulp/certs/ 의 토큰 인증 공개/개인 키가 적절한 SELinux 레이블이 없으므로 pulp 프로세스가 실패할 수 있습니다. 이 경우 다음 명령을 실행하여 적절한 라벨을 임시로 연결합니다.

$ chcon system_u:object_r:pulpcore_etc_t:s0 /etc/pulp/certs/token_{private,public}_key.pem
참고

이 명령을 반복하여 시스템의 레이블을 다시 지정할 때마다 적절한 SELinux 레이블을 다시 연결해야 합니다.

추가 리소스