이 사용 사례의 목표는 Linux VM을 Automation Config 환경에 연결하여 미니언에 Salt 미니언 서비스를 프로그래밍 방식으로 설치하는 것입니다.

사전 요구 사항

Linux 환경에서 API를 사용하여 미니언을 배포하려면 먼저 다음이 필요합니다.
  • RaaS가 배포된 Automation Config 환경이 있습니다.
  • Salt 마스터 및 Salt 미니언이 설치되어 있습니다.
  • Linux VM이 배포되어 있습니다.
  • 포트 22가 방화벽에 의해 차단되지 않았고 미니언에서 사용할 수 있는지 확인합니다.

프로시저

  1. etc/salt/cloud.deploy.d 폴더에 이러한 파일 모음이 포함되어 있는지 확인합니다. 이러한 파일은 시스템에 필요한 Salt 릴리스 및 OS 배포 릴리스와 일치해야 합니다.
    Salt 마스터의 cloud.deploy.d 디렉토리에 있는 필수 파일 목록

    파일이 표시되지 않으면 지원 부서에 문의하십시오.

    참고: 파일 이름의 xxxx(예: salt-xxxx-redhat-8-x86_64-amd64.tar.gz)는 Salt 마스터의 버전과 일치해야 합니다. Salt 마스터의 버전을 확인하려면 Salt 마스터에서 salt-master -V 명령을 실행합니다.
  2. 에어갭 환경이면 다음 단계를 완료하십시오.
    1. /etc/raas/raas에서 RaaS 구성 파일을 엽니다.
    2. 구성 파일에 다음 줄을 추가합니다.
      minion_deployment:
        airgap_install: true
    3. service raas restart 명령을 사용하여 RaaS 서비스를 다시 시작합니다.
    참고: 강화된 Linux VM을 사용하는 경우 VM의 /tmp에서 스크립트를 실행할 수 없는 몇 가지 상황이 있습니다.
    • Automation Assembler 버전 8.10.2 이상을 사용하는 경우: 클라우드 템플릿의 Automation Config 리소스에 additionalAuthParams 속성을 추가합니다. 자세한 내용은 클라우드 템플릿에 Automation Config 리소스 추가를 참조하십시오.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Automation Assembler 버전 8.10.1 이하를 사용하는 경우: /etc/salt/cloud.providers.d/ssc_saltify_provider.conf 파일을 다음으로 수정합니다.
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      이 구성 파일이 없으면 생성하고 위의 설정을 추가합니다.
  3. Salt 마스터의 FQDN을 식별하려면 Salt 마스터의 터미널에서 salt saltmaster grains.get fqdn 명령을 실행합니다.
  4. ping [FQDN] 명령을 실행하여 Salt 마스터에 대해 FQDN이 구성되어 있는지 확인합니다.
    Linux 시스템에서 ping FQDN 명령을 실행한 결과
  5. Python을 열려면 python3을 실행합니다.
  6. 환경에 대해 올바른 자격 증명을 가진 SSEAPI 클라이언트를 사용하여 이 API 호출을 수행합니다.
    from sseapiclient import APIClient
    
    client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
    
    
    client.api.minions.deploy_minion(
    
     master_id = '<master-id>',
    
     host_name_ip = '<prospective minion’s ip>',
    
     os = ‘<prospective minion’s os>’,
    
     minion_id = '<desired-minion-name-for-prospective-minion>',
    
     username = '<ssh-username-for-prospective-minion>', 
    
     password = '<ssh-password-for-prospective-minion>',
    
    )

    deploy.minion 함수가 Automation Config 환경에서 실행되기 시작합니다. Automation Config 사용자 인터페이스의 활동 탭에서 작업이 실행 중인지 확인할 수 있습니다.

    참고: Automation Assembler에서 미니언을 배포하는 경우에는 이 API 호출이 Automation Assembler에 의해 수행됩니다.

결과

Linux 환경 및 API 호출에서 미니언이 성공적으로 배포 및 구성되었습니다.

다음에 수행할 작업

명령 실행 창을 사용하여 미니언에 대해 test.ping 명령을 실행하거나 Salt 마스터 명령 창에서 \* test.ping\* test.versions 명령을 실행하여 미니언이 성공적으로 배포되었는지 확인합니다.