5.3. Red Hat OpenShift Container Platform 웹 콘솔에서 자동화 허브 구성
이 지침을 사용하여 Red Hat OpenShift Container Platform에서 Automation Hub Operator를 구성하고, 사용자 정의 리소스를 지정하고, 외부 데이터베이스를 사용하여 Ansible Automation Platform을 배포할 수 있습니다.
자동화 허브 구성은 자동화 허브 pulp_settings를 통해 수행하거나 배포 후 사용자 인터페이스에서 직접 수행할 수 있습니다. 그러나 pulp_settings에서 만든 구성이 사용자 인터페이스에서 설정한 설정보다 우선합니다. Hub 설정은 Hub 사용자 정의 리소스 사양에 항상 소문자로 설정해야 합니다.
자동화 허브 인스턴스를 제거하면 PVC가 자동으로 삭제되지 않습니다. 이로 인해 새 배포의 이름이 이전 배포와 동일한 경우 마이그레이션 중 문제가 발생할 수 있습니다. 따라서 동일한 네임스페이스에 새 자동화 허브 인스턴스를 배포하기 전에 이전 PVC를 수동으로 제거하는 것이 좋습니다. 자세한 내용은 PVC 찾기 및 삭제 를 참조하십시오.
5.3.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- Operator Hub에 Ansible Automation Platform Operator가 설치되어 있습니다.
자동화 허브에는 여러 Pod가 컬렉션과 같은 공유 콘텐츠에 액세스할 수 있도록 작업을 위해 ReadWriteMany 파일 기반 스토리지, Azure Blob 스토리지 또는 Amazon S3 스토리지가 필요합니다.
AutomationHub CR에서 오브젝트 스토리지를 구성하는 프로세스는 Amazon S3 및 Azure Blob Storage와 유사합니다.
파일 기반 스토리지를 사용하고 설치 시나리오에 자동화 허브가 포함된 경우 Ansible Automation Platform Operator의 스토리지 옵션이 ReadWriteMany 로 설정되어 있는지 확인합니다. ReadWriteMany 는 기본 스토리지 옵션입니다.
또한 OpenShift Data Foundation은 ReadWriteMany 또는 S3 구현을 제공합니다. 또한 ReadWriteMany 를 지원하도록 NFS 스토리지 구성을 설정할 수 있습니다. 그러나 이로 인해 NFS 서버가 잠재적인 단일 장애 지점으로 도입됩니다.
5.3.1.1.1. ReadWriteMany 액세스 모드를 사용하여 OCP 스토리지 프로비저닝 링크 복사링크가 클립보드에 복사되었습니다!
Ansible Automation Platform Operator를 성공적으로 설치하려면 처음에 자동화 허브를 위해 스토리지 유형을 프로비저닝 해야 합니다.
프로세스
- 스토리지 + 이동합니다.
- 클릭합니다.
첫 번째 단계에서 기본
ReadWriteOnce에서ReadWriteMany로accessModes를 업데이트합니다.- 자세한 내용은 프로비저닝 을 참조하여 액세스 모드를 업데이트합니다.
- PVC(영구 볼륨 클레임)를 생성하려면 이 섹션의 추가 단계를 완료합니다.
5.3.1.1.2. Amazon S3에서 오브젝트 스토리지 구성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 자동화 허브를 위해 Amazon S3(Simple Storage Service)를 지원합니다. AutomationHub CR(사용자 정의 리소스)을 배포할 때 구성하거나 기존 인스턴스에 맞게 구성할 수 있습니다.
사전 요구 사항
- Amazon S3 버킷을 생성하여 오브젝트를 저장합니다.
- S3 버킷의 이름을 확인합니다.
프로세스
AWS 인증 정보 및 연결 세부 정보가 포함된 Kubernetes 시크릿과 Amazon S3 버킷의 이름을 생성합니다. 다음 예제에서는
test-s3이라는 시크릿을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자동화 허브 CR(사용자 정의 리소스)
사양에보안을 추가합니다.spec: object_storage_s3_secret: test-s3
spec: object_storage_s3_secret: test-s3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 인스턴스에 이 보안을 적용하는 경우 API Pod를 다시 시작하여 변경 사항을 적용합니다.
<Hub-name>은 허브 인스턴스의 이름입니다.oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-api
$ oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.1.1.3. Azure Blob에서 오브젝트 스토리지 구성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 자동화 허브를 위한 Azure Blob Storage를 지원합니다. AutomationHub CR(사용자 정의 리소스)을 배포할 때 구성하거나 기존 인스턴스에 맞게 구성할 수 있습니다.
사전 요구 사항
- 오브젝트를 저장할 Azure Storage Blob 컨테이너를 만듭니다.
- Blob 컨테이너의 이름을 확인합니다.
프로세스
Azure 계정의 인증 정보 및 연결 세부 정보와 Azure Storage Blob 컨테이너의 이름이 포함된 Kubernetes 시크릿을 생성합니다. 다음 예제에서는
test-azure라는 시크릿을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자동화 허브 CR(사용자 정의 리소스)
사양에보안을 추가합니다.spec: object_storage_azure_secret: test-azure
spec: object_storage_azure_secret: test-azureCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 인스턴스에 이 보안을 적용하는 경우 API Pod를 다시 시작하여 변경 사항을 적용합니다.
<Hub-name>은 허브 인스턴스의 이름입니다.oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-api
$ oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.1.2. 자동화 허브 Operator 경로 옵션 구성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ansible Automation Platform Operator 설치 양식을 사용하면 고급 구성에서 자동화 허브 Operator 경로 옵션을 추가로 구성할 수 있습니다.
프로세스
- Red Hat OpenShift Container Platform에 로그인합니다.
- Operators(운영자) 로 이동합니다.
- Ansible Automation Platform Operator 배포를 선택합니다.
- Automation Hub 탭을 선택합니다.
새 인스턴스의 경우 를 클릭합니다.
- 기존 인스턴스의 경우 Cryostat 아이콘을 클릭한 다음 클릭하여 YAML 보기를 편집할 수 있습니다.
- 을 클릭합니다.
- Ingress 유형에서 드롭다운 메뉴를 클릭하고 경로를 선택합니다.
- 경로 DNS 호스트 에서 경로가 응답하는 공통 호스트 이름을 입력합니다.
- 경로 TLS 종료 메커니즘 에서 드롭다운 메뉴를 클릭하고 Edge 또는 Passthrough 를 선택합니다.
Route TLS 인증 정보 시크릿 에서 드롭다운 메뉴를 클릭하고 목록에서 시크릿을 선택합니다.
참고경로를 구성한 후 해당 자동화 허브 인스턴스의 YAML에
route_host:를 추가하여 호스트 이름을 사용자 지정할 수 있습니다.
5.3.1.3. 자동화 허브 Operator의 수신 유형 구성 링크 복사링크가 클립보드에 복사되었습니다!
Ansible Automation Platform Operator 설치 양식을 사용하면 고급 구성에서 자동화 허브 Operator 수신을 추가로 구성할 수 있습니다.
프로세스
- Red Hat OpenShift Container Platform에 로그인합니다.
- Operators(운영자) 로 이동합니다.
- Ansible Automation Platform Operator 배포를 선택합니다.
- Automation Hub 탭을 선택합니다.
새 인스턴스의 경우 를 클릭합니다.
- 기존 인스턴스의 경우 Cryostat 아이콘을 클릭한 다음 클릭하여 YAML 보기를 편집할 수 있습니다.
- 을 클릭합니다.
- Ingress 유형에서 드롭다운 메뉴를 클릭하고 Ingress 를 선택합니다.
- Ingress 주석 에서 수신에 추가할 주석을 입력합니다.
- Ingress TLS 시크릿 에서 드롭다운 메뉴를 클릭하고 목록에서 시크릿을 선택합니다.
검증
자동화 허브 Operator를 구성한 후 양식 보기 하단에서 을 클릭합니다. Red Hat OpenShift Container Platform은 Pod를 생성합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
자동화 허브에서 Ansible Automation Platform Operator 설치에서 제공하는 다음 Operator Pod가 실행 중인지 확인합니다.
| Operator 관리자 컨트롤러 | 자동화 컨트롤러 | 자동화 허브 |
|---|---|---|
| 3개 Operator 각각에 대한 Operator 관리자 컨트롤러는 다음을 포함합니다.
| 자동화 컨트롤러를 배포한 후 이러한 Pod가 추가되는 것을 확인할 수 있습니다.
| 자동화 허브를 배포한 후 다음 Pod가 추가된 것을 확인할 수 있습니다.
|
누락된 Pod는 풀 시크릿이 필요함을 나타낼 수 있습니다. 보호 또는 개인 이미지 레지스트리에는 풀 시크릿이 필요합니다. 자세한 내용은 이미지 풀 시크릿 사용을 참조하십시오. oc describe pod <pod-name >을 실행하여 해당 Pod에 ImagePullBackOff 오류가 있는지 확인하여 이 문제를 추가로 진단할 수 있습니다.
5.3.2. 자동화 허브 경로 찾기 링크 복사링크가 클립보드에 복사되었습니다!
플랫폼 게이트웨이 또는 다음 절차를 통해 자동화 허브에 액세스할 수 있습니다.
프로세스
- Red Hat OpenShift Container Platform에 로그인합니다.
-
(경로) 로 이동합니다. - 위치 에서 자동화 허브 인스턴스의 URL을 클릭합니다.
검증
자동화 허브 사용자 인터페이스가 시작되면 운영자 구성 프로세스 중에 지정된 관리자 자격 증명으로 로그인할 수 있습니다.
구성 중에 관리자 암호를 지정하지 않은 경우 사용자를 위해 자동으로 생성되었습니다. 이 암호를 찾으려면 프로젝트로 이동하여
5.3.3. Red Hat Ansible Automation Platform Operator에서 자동화 허브를 위한 외부 데이터베이스 구성 링크 복사링크가 클립보드에 복사되었습니다!
외부 데이터베이스를 사용하여 Ansible Automation Platform을 배포하려는 사용자의 경우 인스턴스 인증 정보 및 연결 정보를 사용하여 시크릿을 구성한 다음 oc create 명령을 사용하여 클러스터에 적용할 수 있습니다.
기본적으로 Ansible Automation Platform Operator는 Ansible Automation Platform 배포와 동일한 네임스페이스에서 관리형 PostgreSQL Pod를 자동으로 생성하고 구성합니다.
전용 노드를 사용하여 전용 리소스를 확인하거나 백업, 업그레이드 또는 성능 조정을 수동으로 관리하려는 경우 외부 데이터베이스를 대신 사용할 수 있습니다.
데이터베이스 이름이 다른 한 자동화 허브, 자동화 컨트롤러 및 플랫폼 게이트웨이 모두에 동일한 외부 데이터베이스(PostgreSQL 인스턴스)를 사용할 수 있습니다. 즉, 단일 PostgreSQL 인스턴스 내에 다른 이름으로 여러 데이터베이스를 가질 수 있습니다.
다음 섹션에서는 Ansible Automation Platform Operator에서 자동화 허브에 대한 외부 데이터베이스를 구성하는 단계를 간략하게 설명합니다.
사전 요구 사항
외부 데이터베이스는 현재 Ansible Automation Platform 릴리스에서 지원하는 버전인 PostgreSQL 데이터베이스여야 합니다. 외부 postgres 인스턴스 자격 증명 및 연결 정보는 시크릿에 저장해야 하며 자동화 허브 사양에 설정됩니다.
Ansible Automation Platform 2.6은 관리되는 데이터베이스에 대해 PostgreSQL 15를 지원하며, 외부 데이터베이스의 경우 PostgreSQL 15, 16 및 17을 추가로 지원합니다.
버전 16 또는 17인 외부 관리 데이터베이스를 사용하도록 선택하는 경우 외부 백업 및 복원 프로세스도 사용해야 합니다.
프로세스
아래 템플릿에 따라
postgres_configuration_secretYAML 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 시크릿을 생성할 네임스페이스입니다. 배포하려는 네임스페이스와 동일해야 합니다.
- 데이터베이스 노드의 확인 가능한 호스트 이름입니다.
-
외부 포트의 기본값은
5432입니다. -
변수
암호의 값에는 배포, 백업 또는 복원 중에 문제가 발생하지 않도록 작은따옴표 또는 큰따옴표(', ") 또는 백슬래시(\)가 없어야 합니다. -
sslmode변수는외부데이터베이스에만 유효합니다. 허용되는 값은prefer,disable,allow,require,verify-ca,verify-full입니다.
oc create명령을 사용하여external-postgres-configuration-secret.yml을 클러스터에 적용합니다.oc create -f external-postgres-configuration-secret.yml
$ oc create -f external-postgres-configuration-secret.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow AutomationHub사용자 정의 리소스 오브젝트를 생성할 때 아래 예에 따라 사양에 보안을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.3.1. 자동화 허브 PostgreSQL 데이터베이스의 hstore 확장 활성화 링크 복사링크가 클립보드에 복사되었습니다!
데이터베이스 마이그레이션 스크립트는 hstore 필드를 사용하여 정보를 저장하므로 자동화 허브 PostgreSQL 데이터베이스에서 hstore 확장을 활성화해야 합니다.
이 프로세스는 Ansible Automation Platform 설치 프로그램 및 관리형 PostgreSQL 서버를 사용할 때 자동으로 수행됩니다.
PostgreSQL 데이터베이스가 외부인 경우 설치 전에 자동화 허브 PostgreSQL 데이터베이스에서 hstore 확장을 수동으로 활성화해야 합니다.
설치 전에 hstore 확장 기능을 활성화하지 않으면 데이터베이스 마이그레이션 중에 오류가 발생합니다.
프로세스
PostgreSQL 서버(자동화 허브 데이터베이스)에서 확장을 사용할 수 있는지 확인합니다.
psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"
$ psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서 <
automation hub database>의 기본값은automationhub입니다.hstore를 사용할 수 있는 출력 예:name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row)
name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row)Copy to Clipboard Copied! Toggle word wrap Toggle overflow hstore를 사용할 수 없는 출력 예:name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows)
name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows)Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 기반 서버에서
hstore확장은postgresql-contribRPM 패키지에 포함되어 있으며 PostgreSQL 서버 RPM 패키지를 설치할 때 자동으로 설치되지 않습니다.RPM 패키지를 설치하려면 다음 명령을 사용하십시오.
dnf install postgresql-contrib
dnf install postgresql-contribCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여
hstorePostgreSQL 확장을 자동화 허브 데이터베이스에 로드합니다.psql -d <automation hub database> -c "CREATE EXTENSION hstore;"
$ psql -d <automation hub database> -c "CREATE EXTENSION hstore;"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 출력에서
installed_version필드에는hstore가 활성화되었음을 나타내는hstore확장이 나열됩니다.name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row)
name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.4. PVC 검색 및 삭제 링크 복사링크가 클립보드에 복사되었습니다!
PVC(영구 볼륨 클레임)는 자동화 허브 및 자동화 컨트롤러 애플리케이션에서 사용하는 데이터를 저장하는 데 사용되는 스토리지 볼륨입니다. 이러한 PVC는 애플리케이션과 독립적이며 애플리케이션이 삭제된 경우에도 유지됩니다. 더 이상 PVC가 필요하지 않거나 다른 위치에서 백업한 경우 수동으로 삭제할 수 있습니다.
프로세스
배포 네임스페이스의 기존 PVC를 나열합니다.
oc get pvc -n <namespace>
oc get pvc -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이전 배포 이름 및 PVC 이름을 비교하여 이전 배포와 연결된 PVC를 확인합니다.
이전 PVC를 삭제합니다.
oc delete pvc -n <namespace> <pvc-name>
oc delete pvc -n <namespace> <pvc-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.5. 추가 구성 링크 복사링크가 클립보드에 복사되었습니다!
컬렉션 다운로드 수를 사용하면 컬렉션 사용량을 이해하는 데 도움이 될 수 있습니다. 컬렉션 다운로드 수를 자동화 허브에 추가하려면 다음 구성을 설정합니다.
spec:
pulp_settings:
ansible_collect_download_count: true
spec:
pulp_settings:
ansible_collect_download_count: true
ansible_collect_download_count 가 활성화되면 자동화 허브에서 컬렉션의 다운로드 수를 표시합니다.
5.3.6. 자동화 컨트롤러 이미지 구성에 허용된 레지스트리 추가 링크 복사링크가 클립보드에 복사되었습니다!
자동화 허브에 컨테이너 이미지를 배포하려면 먼저 자동화 컨트롤러 이미지 구성의 allowedRegistries 에 레지스트리를 추가해야 합니다. 이렇게 하려면 다음 코드를 복사하여 자동화 컨트롤러 이미지 YAML에 붙여넣을 수 있습니다.
프로세스
- Red Hat OpenShift Container Platform 에 로그인합니다.
-
이동합니다. - 리소스 드롭다운 목록을 선택하고 "Image"를 입력합니다.
- 이미지(config,openshift.io/v1) 를 선택합니다.
- 이름 아래에 있는 클러스터를 클릭합니다.
- 탭을 선택합니다.
spec 값 아래에 다음 내용을 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 을 클릭합니다.
5.3.7. Ansible Automation Platform Hub Operator에 대한 콘텐츠 서명 구성 링크 복사링크가 클립보드에 복사되었습니다!
조직의 자동화 관리자는 조직 내의 다양한 그룹의 Ansible 콘텐츠 컬렉션에 서명하고 게시하도록 Ansible Automation Platform Hub Operator를 구성할 수 있습니다.
추가 보안을 위해 자동화 작성자는 Ansible-Galaxy CLI를 구성하여 자동화 허브에 업로드된 후 이러한 컬렉션이 변경되지 않았는지 확인할 수 있습니다.
Ansible 인증 콘텐츠 컬렉션에 성공적으로 서명하고 게시하려면 서명을 위해 프라이빗 자동화 허브를 구성해야 합니다.
사전 요구 사항
-
GPG 키 쌍입니다. 없는 경우
gpg --full-generate-key명령을 사용하여 생성할 수 있습니다. - 공개-개인 키 쌍은 Ansible Automation Platform Hub Operator에서 콘텐츠 서명을 구성하기 위해 적절한 액세스 권한을 갖습니다.
프로세스
서명 스크립트를 위한 ConfigMap을 생성합니다. 생성한 ConfigMap에는 컬렉션 및 컨테이너 이미지에 서명 서비스에서 사용하는 스크립트가 포함되어 있습니다.
참고이 스크립트는 서명 서비스의 일부로 사용되며
PULP_SIGNING_KEY_FINGERPRINT환경 변수를 통해 지정된 키를 사용하여 해당 파일의 ascii-armored detachedgpg서명을 생성해야 합니다.스크립트는 다음 형식을 사용하여 JSON 구조를 출력합니다.
{"file": "filename", "signature": "filename.asc"}{"file": "filename", "signature": "filename.asc"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 파일 이름은 현재 작업 디렉터리 내부의 상대 경로입니다. 분리된 서명에는 파일 이름이 동일해야 합니다.
예: 다음 스크립트는 콘텐츠에 대한 서명을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GnuPG 개인 키에 대한 시크릿을 생성합니다. 이 시크릿은 서명에 사용하는 GnuPG 개인 키를 안전하게 저장합니다.
gpg --export --armor <your-gpg-key-id> > signing_service.gpg oc create secret generic signing-galaxy --from-file=signing_service.gpg
gpg --export --armor <your-gpg-key-id> > signing_service.gpg oc create secret generic signing-galaxy --from-file=signing_service.gpgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿에는
signing_service.gpg라는 키가 있어야 합니다.AnsibleAutomationPlatform CR을 구성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow