2장. Satellite Ansible Collection에서 모듈을 사용하여 플레이북 생성


Satellite Ansible Collection의 Ansible 모듈은 HTTPS를 통해 Satellite API와 통신할 수 있어야 합니다. 플레이북에 API에 대한 연결을 활성화하기 위해 인증하는 방법을 지정하는 매개 변수를 포함합니다.

중요

사용자 이름 및 암호와 같은 중요한 인증 정보는 플레이북 또는 환경 변수에 직접 저장하지 마십시오. 다음 예제에서는 Ansible 자격 증명 모음을 사용하여 중요한 데이터를 관리합니다.

사전 요구 사항

  • Satellite의 사용자 계정에는 플레이북에 정의된 작업을 수행할 수 있는 권한이 있습니다.
  • 해당 사용자의 다음 인증 자격 증명 유형 중 하나에 액세스할 수 있습니다.

    • 사용자 이름 및 암호
    • 사용자 이름 및 개인 액세스 토큰
    • Kerberos 티켓: Satellite 서버가 Identity Management를 외부 인증 소스로 사용하도록 구성된 경우
  • 플레이북을 실행할 시스템입니다. 다음 예제에서는 localhost 를 사용합니다.

    이 시스템은 Satellite API에 연결할 수 있어야 합니다. 다음 옵션 중에서 선택할 수 있습니다.

    • Satellite API에 직접 연결할 수 있는 시스템입니다. 사용자 환경에서 Satellite 서버, Capsule Server 또는 기타 시스템을 사용할 수 있습니다.
    • HTTP 프록시를 사용하여 Satellite에 연결하는 Satellite API에 직접 연결되지 않은 시스템입니다.

프로세스

  1. 중요한 변수를 암호화된 파일에 저장합니다.

    1. Ansible 자격 증명 모음을 생성합니다. 예를 들어 My_Vault.yml 이라는 자격 증명 모음을 생성하려면 다음을 수행합니다.

      $ ansible-vault create My_Vault.yml
      Copy to Clipboard Toggle word wrap
    2. ansible-vault create 명령이 편집기를 열고 :value 형식으로 필요한 매개변수를 제공합니다.

      Satellite 사용자 이름 및 암호로 인증하려면 다음을 수행합니다.

      My_Username: My_Admin_User_Account
      My_Password: My_Admin_Password
      My_Server_URL: https://satellite.example.com
      Copy to Clipboard Toggle word wrap

      Satellite 사용자 이름 및 개인 액세스 토큰(PAT)으로 인증하려면 다음을 수행합니다.

      My_Username: My_Admin_User_Account
      My_Password: My_PAT
      My_Server_URL: https://satellite.example.com
      Copy to Clipboard Toggle word wrap

      Kerberos 티켓으로 인증하려면 다음을 수행합니다.

      My_Server_URL: https://satellite.example.com
      Copy to Clipboard Toggle word wrap
    3. HTTP 프록시를 사용하여 Satellite API에 도달하는 경우 자격 증명 모음에도 저장합니다.

      My_HTTP_Proxy: "http://proxy.example.com:8080"
      Copy to Clipboard Toggle word wrap
    4. 변경 사항을 저장하고 편집기를 종료합니다. Ansible은 자격 증명 모음의 데이터를 암호화합니다.
  2. vault 파일을 참조하는 플레이북 파일을 생성합니다.

    참고

    다음 YAML 스니펫에는 자격 증명 모음 변수를 플레이북에서 사용되는 redhat.satellite.satellite 그룹에서 모든 모듈에 매개 변수로 전달하는 module_defaults 키워드가 포함되어 있습니다. 모듈 기본 그룹은 매개변수를 각 모듈에 개별적으로 전달하지 않고 모듈 그룹에 공통 매개 변수를 정의할 수 있도록 하여 매개 변수 관리를 단순화합니다.

    1. Satellite API를 인증하는 방법에 대한 세부 정보를 제공합니다.

      Satellite 사용자 이름 및 암호 또는 PAT로 인증하는 경우 사용자 이름 ,암호, server_url 매개변수를 My_Vault.yml 내용에 매핑합니다.

      - name: My Playbook
        hosts: localhost
        vars_files:
          - My_Vault.yml
        module_defaults:
          group/redhat.satellite.satellite:
            username: "{{ My_Username }}"
            password: "{{ My_Password }}"
            server_url: "{{ My_Server_URL }}"
        tasks:
      Copy to Clipboard Toggle word wrap

      Kerberos 티켓을 사용하여 인증하는 경우 server_url 매개변수를 My_Vault.yml 콘텐츠에 매핑하고 use_gssapi: true 를 추가하여 Kerberos 인증을 활성화합니다.

      - name: My Playbook
        hosts: localhost
        vars_files:
          - My_Vault.yml
        module_defaults:
          group/redhat.satellite.satellite:
            server_url: "{{ My_Server_URL }}"
            use_gssapi: true
        tasks:
      Copy to Clipboard Toggle word wrap
    2. HTTP 프록시를 사용하여 Satellite API에 도달해야 하는 경우 https_proxy 환경 변수를 설정합니다.

      - name: My Playbook
        hosts: localhost
        vars_files:
          - My_Vault.yml
        environment:
          https_proxy: "{{ My_HTTP_Proxy }}"
        module_defaults:
          group/redhat.satellite.satellite:
            username: "{{ My_Username }}"
            password: "{{ My_Password }}"
            server_url: "{{ My_Server_URL }}"
        tasks:
      Copy to Clipboard Toggle word wrap
    3. tasks: 섹션에서 플레이북을 수행할 작업을 정의합니다.
  3. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check --ask-vault-pass My_Playbook.yml
    Copy to Clipboard Toggle word wrap

    이 명령은 구문만 검증합니다. 유효하지만 잘못된 구성으로부터 보호되지 않습니다.

  4. Playbook을 실행합니다.

    $ ansible-playbook --ask-vault-pass My_Playbook.yml
    Copy to Clipboard Toggle word wrap

예 2.1. Ansible 플레이북 예: 도메인 new.example.com 이 Satellite에 있는지 확인

redhat.satellite.domain 모듈은 도메인을 생성, 업데이트 및 삭제할 수 있습니다. 이 예제 플레이북은 redhat.satellite.domain 을 사용하여 new.example.com 이라는 도메인이 존재하고 Satellite에 의해 관리되는지 확인합니다. 추가 예제는 3장. Satellite Ansible Collection의 모듈을 기반으로 하는 플레이북의 예 에서 참조하십시오.

- name: Domain management
  hosts: localhost
  vars_files:
    - My_Vault.yml
  module_defaults:
    group/redhat.satellite.satellite:
      username: "{{ My_Username }}"
      password: "{{ My_Password }}"
      server_url: "{{ My_Server_URL }}"
  tasks:
    - name: Ensure domain new.example.com exists
      redhat.satellite.domain:
        name: new.example.com
Copy to Clipboard Toggle word wrap

예제 플레이북에 지정된 설정은 다음과 같습니다.

vars_files
My_Username, My_Password, My_Server_URL 변수를 저장하는 자격 증명 모음 파일의 이름입니다.
module_defaults
모듈의 기본값은 vault 파일의 변수를 사용자 이름 ,암호, server_url 모듈 매개변수에 매핑하는 그룹입니다.
name
확인할 도메인의 이름이 Satellite에 있습니다.

자세한 내용은 ansible-doc redhat.satellite.domain 을 사용한 Ansible 모듈 설명서를 참조하십시오.

추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat