3.4. 자동화 컨트롤러 구성 세부 정보
이 참조 아키텍처는 Ansible Automation Platform 1.2를 Ansible Automation Platform 2로 마이그레이션 및 업그레이드하는 데 중점을 둡니다. 구성은 별도의 마이그레이션 시나리오를 다루는 포괄적인 Ansible Automation Platform 솔루션을 제공하기 위한 것입니다. 이 참조 아키텍처에서 다루는 주요 솔루션 구성 요소는 다음과 같습니다.
- Ansible Automation Platform 1.2
- Ansible Automation Platform 2
- Ansible Automation Platform 설치 프로그램
- 사용자 정의 Python 가상 환경 마이그레이션을 위한 Ansible Playbook
3.4.1. OS 설정 링크 복사링크가 클립보드에 복사되었습니다!
3.4.1.1. chrony 설정 링크 복사링크가 클립보드에 복사되었습니다!
클러스터의 각 Ansible Automation Platform 노드는 NTP 서버에 액세스할 수 있어야 합니다. chronyd 는 시스템 클록의 동기화를 위한 데몬입니다. 시계를 NTP 서버와 동기화할 수 있습니다. 이렇게 하면 클러스터 노드에서 검증이 필요한 SSL 인증서를 사용할 때 노드 간 날짜와 시간이 동기화되지 않은 경우 실패하지 않습니다.
Ansible Automation Platform 클러스터 확장에 사용할 환경을 포함하여 환경 B 의 모든 노드에서 다음을 수행합니다.
설치되지 않은 경우 다음과 같이
chrony를 설치합니다.dnf install chrony --assumeyes
# dnf install chrony --assumeyesCopy to Clipboard Copied! Toggle word wrap Toggle overflow vi와 같은 텍스트 편집기로/etc/chrony.conf파일을 편집합니다.vi /etc/chrony.conf
# vi /etc/chrony.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 공용 서버 풀 섹션을 찾아 적절한 서버를 포함하도록 수정합니다. 하나의 서버만 필요하지만 3개가 권장됩니다.
iburst옵션은 서버와 올바르게 동기화하는 데 걸리는 시간을 가속화하기 위해 추가됩니다.Use public servers from the pool.ntp.org project. Please consider joining the pool (http://www.pool.ntp.org/join.html).
# Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). server <ntp-server-address> iburstCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/chrony.conf파일 내의 모든 변경 사항을 저장합니다. 호스트가 부팅될 때
chronyd데몬이 시작되도록 시작하고 활성화합니다.systemctl --now enable chronyd.service
# systemctl --now enable chronyd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow chronyd 데몬 상태를 확인합니다.
systemctl status chronyd.service
# systemctl status chronyd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.1.2. Red Hat Subscription Manager 링크 복사링크가 클립보드에 복사되었습니다!
subscription-manager 명령은 시스템을 RHN(Red Hat Network)에 등록하고 시스템의 서브스크립션 인타이틀먼트를 관리합니다. --help 옵션은 사용 가능한 옵션에 대해 명령을 쿼리하기 위해 명령줄에 지정합니다. command 지시문과 함께 --help 옵션이 발행되면 특정 명령 지시문에 사용할 수 있는 옵션이 나열됩니다.
Red Hat 서브스크립션 관리를 사용하여 시스템에 패키지를 제공하려면 먼저 시스템에 서비스에 등록해야 합니다. 시스템을 등록하려면 subscription-manager 명령을 사용하고 register 명령 지시문을 전달합니다. --username 및 --password 옵션이 지정된 경우 명령에서 RHN 네트워크 인증 자격 증명을 입력하라는 메시지를 표시하지 않습니다.
subscription-manager 를 사용하여 시스템을 등록하는 예는 다음과 같습니다.
Ansible Automation Platform 클러스터 확장에 사용할 항목을 포함하여 환경 B 내의 모든 노드에서 다음을 수행해야 합니다.
subscription-manager register --username [User] --password '[Password]'
# subscription-manager register --username [User] --password '[Password]'
The system has been registered with id: abcd1234-ab12-ab12-ab12-481ba8187f60
시스템을 등록한 후에는 인타이틀먼트 풀에 연결해야 합니다. 이 참조 환경의 목적을 위해 Red Hat Ansible Automation Platform은 선택한 풀입니다. Red Hat Ansible Automation Platform 인타이틀먼트 풀을 식별하고 구독하면 다음 명령 지시문이 필요합니다.
subscription-manager attach --pool <pool_id>
# subscription-manager attach --pool <pool_id>
Successfully attached a subscription for: Red Hat Ansible Automation Platform, Premium (5000 Managed Nodes)
subscription-manager repos --enable=ansible-automation-platform-2.1-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable=ansible-automation-platform-2.1-for-rhel-8-x86_64-rpms
Ansible Automation Platform 서브스크립션의 일부로 RHEL(Red Hat Enterprise Linux) 10개 서브스크립션을 사용하여 자동화 컨트롤러, 프라이빗 자동화 허브 및 기타 Ansible Automation Platform 구성 요소에 RHEL을 사용할 수 있습니다.
3.4.1.3. 사용자 계정 링크 복사링크가 클립보드에 복사되었습니다!
Ansible Automation Platform 2를 설치하기 전에 배포 프로세스에 대한 sudo 권한이 있는 루트가 아닌 사용자를 생성하는 것이 좋습니다. 이 사용자는 다음을 위해 사용됩니다.
- SSH 연결
- 설치 중 암호 없는 인증
- 권한 에스컬레이션(sudo) 권한
이 참조 환경의 목적을 위해 ansible 사용자가 선택되었지만 모든 사용자 이름으로 충분합니다.
Ansible Automation Platform 클러스터 확장에 사용할 환경을 포함하여 환경 B 의 모든 노드에서 ansible 이라는 사용자를 생성하고 ssh 키를 생성합니다.
루트가 아닌 사용자 생성
useradd ansible
# useradd ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible사용자의 암호를 설정합니다.passwd ansible
# passwd ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow ssh키를ansible사용자로 생성합니다.ssh-keygen -t rsa
$ ssh-keygen -t rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow sudo를ansible사용자로 사용할 때 암호 요구 사항 비활성화echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/ansible
# echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.1.4. SSH 키를 모든 노드에 복사 링크 복사링크가 클립보드에 복사되었습니다!
ansible 사용자가 생성된 상태에서 ansible 사용자로 ssh 키를 Ansible Automation Platform 클러스터 확장에 사용할 것을 포함하여 환경 B 의 모든 노드에 복사합니다. 이렇게 하면 Ansible Automation Platform 설치가 실행되면 암호가 없는 모든 노드에 ssh 를 수행할 수 있습니다.
이 작업은 다음과 같이 ssh-copy-id 명령을 사용하여 수행할 수 있습니다.
ssh-copy-id ansible@hostname.example.com
$ ssh-copy-id ansible@hostname.example.com
클라우드 공급자 내에서 실행하는 경우 대신 모든 노드에서 ansible 사용자의 공개 키가 포함된 ~/.ssh/ 파일을 생성하고 권한을 소유자(authorized_keys ansible)로 설정하고 읽기 및 쓰기 액세스(권한 600)로 권한을 설정해야 할 수 있습니다.
3.4.1.5. 방화벽 설정 구성 링크 복사링크가 클립보드에 복사되었습니다!
방화벽 액세스 및 제한 사항은 Ansible Automation Platform 2 환경 보안에 중요한 역할을 합니다. Red Hat Enterprise Linux {rhel_version}의 사용은 기본적으로 동적 방화벽 데몬인 firewalld 를 사용합니다. firewalld 는 네트워크 영역과 네트워크 및 관련 연결 및 인터페이스에 신뢰 수준을 할당하는 방식으로 작동합니다.
성공적인 Ansible Automation Platform 2 설치를 위해 적절한 서비스 및 포트에 대한 액세스를 허용하도록 방화벽 설정을 구성하는 것이 좋습니다.
Ansible Automation Platform 클러스터 확장에 사용할 환경을 포함하여 환경 B 내의 모든 노드에서 firewalld 가 설치, 시작 및 활성화되어 있는지 확인합니다.
firewalld패키지 설치dnf install firewalld --assumeyes
# dnf install firewalld --assumeyesCopy to Clipboard Copied! Toggle word wrap Toggle overflow firewalld서비스 시작systemctl start firewalld
# systemctl start firewalldCopy to Clipboard Copied! Toggle word wrap Toggle overflow firewalld서비스 활성화systemctl enable firewalld
# systemctl enable firewalldCopy to Clipboard Copied! Toggle word wrap Toggle overflow