Ansible 제어 노드 설정

Ansible 제어 노드를 설정하려면 SUSE Multi-Linux Manager Web UI에서 다음 단계를 실행하십시오.

클라이언트를 Ansible 제어 노드로 구성하려면 해당 시스템에 Ansible 패키지가 설치되어 있어야 합니다. 일반적으로 Ansible 패키지는 운영 체제 공급자의 공식 저장소에서 얻어야 합니다. 예를 들어, SUSE Linux Enterprise 15 SP6 및 SP7에서는 Ansible이 `Systems Management Module.`를 통해 제공됩니다.

절차 SUSE Linux Enterprise 15 SP6 또는 SP7 시스템에 Ansible 제어 노드를 설정합니다.
  1. SUSE Multi-Linux Manager Web UI에서 Admin  설정 마법사  Products로 이동하여 SUSE Linux Enterprise Server 15 SP6 x86_64(또는 이후 버전)이 Systems Management Module 및 필수 `Python 3 Module`와 함께 선택되고 동기화되었는지 확인합니다.

  2. SUSE Linux Enterprise 15 SP6 (또는 상위 버전) 클라이언트를 배포합니다.

  3. SUSE Multi-Linux Manager Web UI에서 클라이언트의 시스템  개요 페이지로 이동합니다. Software  Software Channels을 선택하고 클라이언트를 SUSE Linux Enterprise Server 15 SP6 x86_64(또는 이후 SP), Systems Management ModulePython 3 Module 채널에 구독합니다.

  4. 클라이언트의 세부정보  속성을 선택합니다. Add-On System Types 목록에서 `Ansible Control Node`을(를) 활성화하고 Update Properties를 클릭합니다.

  5. 클라이언트 개요 페이지로 이동하여 상태  Highstate를 선택하고 Highstate 적용을 클릭합니다.

  6. 이벤트 탭을 선택하고 Highstate의 상태를 확인합니다.

최신 Ansible을 SUSE Linux Enterprise 15 SP4 또는 SP5 클라이언트에 설치하려면 `Python 3 Module`을(를) 활성화해야 합니다.

최신 버전의 Ansible은 더 이상 구식 Python 버전으로 노드를 관리하는 것을 지원하지 않습니다. 관리되는 노드가 여전히 이전 Python 버전으로 기본 설정되어 있는 경우, 플레이북 실행 도중 연결 오류 또는 기타 오류가 발생할 수 있습니다. 이를 해결하기 위해 사용자는 가능하다면 관리되는 노드에서 Python을 업그레이드하고 Ansible 인벤토리 또는 구성에서 올바른 Python 인터프리터를 설정해야 합니다.

1. Ansible 인벤토리 파일 생성

Ansible 통합 도구는 플레이북을 인벤토리 파일로 배포합니다. _표 1_에 나열된 각 운영 체제에 대해 하나의 인벤토리 파일을 생성합니다.

절차 Ansible 인벤토리 파일 생성
  1. 호스트를 인벤토리 파일에 추가하여 Ansible에서 관리할 수 있도록 합니다. Ansible 인벤토리의 기본 경로는 `/etc/ansible/hosts`입니다.

    Listing 1. 인벤토리 예시
    client240.mgr.example.org
    client241.mgr.example.org
    client242.mgr.example.org
    client243.mgr.example.org ansible_ssh_private_key_file=/etc/ansible/some_ssh_key
    
    [mygroup1]
    client241.mgr.example.org
    client242.mgr.example.org
    
    [mygroup2]
    client243.mgr.example.org
    
    [all:vars]
    ansible_ssh_public_key_file=/etc/ansible/my_ansible_private_key
  2. SUSE Multi-Linux Manager Web UI의 Ansible 탭에서 Ansible  제어 노드로 이동한 후, 제어 노드에 인벤토리 파일을 추가합니다.

  3. Playbook Directories 섹션 아래에서 /usr/share/scap-security-guide/ansible`을(를) `Add a Playbook Directories 필드에 추가하고 Save를 클릭합니다.

  4. Inventory Files 아래에서 인벤토리 파일 위치를 Add an Inventory file 필드에 추가하고 Save를 클릭합니다.

    Listing 2. 예시
    /etc/ansible/sles15
    /etc/ansible/sles12
    /etc/ansible/centos7

    추가적인 플레이북 예제는 https://github.com/ansible/ansible-examples.을 참조하십시오.

절차 Ansible 노드와 통신 설정하기
  1. 인벤토리에서 사용 중인 SSH 키를 생성합니다.

    ssh-keygen -f /etc/ansible/my_ansible_private_key
  2. 생성된 SSH 키를 Ansible 관리 클라이언트에 복사합니다. 예:

    ssh-copy-id -i /etc/ansible/my_ansible_public_key root@client240.mgr.example.org
  3. `/etc/ansible/ansible.cfg`에 다음과 같이 개인 키를 선언합니다:

    private_key_file = /etc/ansible/my_ansible_private_key

    `my_ansible_private_key`을(를) 개인 키가 포함된 파일의 이름으로 바꿉니다.

  4. 제어 노드에서 다음 명령을 실행하여 Ansible 작동 여부를 테스트하십시오.

    ansible all -m ping
    ansible mygroup1 -m ping
    ansible client240.mgr.example.org -m ping

이제 수정을 실행할 수 있습니다. 자세한 내용은 코드형 규정 준수을 참조하십시오.