vRealize Automation 클라우드 템플릿을 사용하여 SaltStack Minion 배포

vRealize Automation SaltStack Config에 대한 몇 가지 블로그 기사를 작성했으며, vRealize Automation에서 배포할 때 SaltStack Config에서 리액터 시스템을 사용하여 키를 자동 수락하고 소프트웨어를 배포하는 방법을 참조했습니다. 기본적으로 관리자는 cloud-init 또는 ABX를 사용하여 초기 미니언 에이전트 설치를 수행할 수 있으며, 그런 다음 SaltStack Config 리액터는 일부 기준에 따라 키를 자동 수용하고, 그 다음 리액터는 상태 파일을 적용하기 위한 일부 조정을 시작할 수 있다.

설명한 방법은 여전히 유용하지만 vRealize Automation 8.4.1에서는 SaltStack 미니언 구성을 위한 추가 vRealize Automation Cloud Template YAML 속성을 도입했습니다. 따라서 Cloud Admins는 Minion 에이전트를 배포하고, 상태 파일을 실행하고, 기본 YAML 속성에서 모든 매개 변수를 추가하도록 쉽게 구성할 수 있습니다.

이 기능에 대해 자세히 알아보기 전에 몇 가지 사전 요구 사항을 검토해보겠습니다.

  1. vRealize Automation 8.4.1
  2. SaltStack Config 8.4.1
  3. SaltStack Config는 vRealize Suite Lifecycle Manager를 통해 vRA 통합되어야 합니다.
  4. FQDN 이름 확인이 minion에서 master까지 작동 중이어야 합니다.
  5. 미니언에 대한 SSH 액세스(SSH는 에이전트를 배포하기 위해 미니언에 원격으로 액세스하는 데 사용됨)

이제 이 문제를 해결했으니, 이 흥미로운 새로운 기능에 대해 좀 더 자세히 살펴보겠습니다.

SaltStack 구성을 위한 vRealize Automation Cloud Template YAML 속성

vRealize Automation 8.4.1 클라우드 템플릿에는 미니언 배포 및 상태 파일 실행을 위해 정의할 수 있는 몇 가지 속성이 있습니다. 이러한 속성을 정의한 다음 어떻게 작동하는지 살펴보겠습니다.

masteridSalt Master id to which the salt minion is to be connected, could be the SaltStack Config Server or a master connected to it.
minionidAssign a minion id to the system, this is what will show up in SaltStack Config as the identifier of the minion
saltEnvironmentSpecify which salt environment to pull state file from
pillarEnvironmentTell it which environment to pull pillar from
stateFilesList of state files to run on deployed minion
additionalMinion
params
Additional configuration parameters for salt minion
additionalAuth
params
Additional authentication parameters passed in for provisioning salt minion (e.g., master_port: 8000)
variablesParameters that may be required by the state file to run on the deployed minion (e.g., role: admin)

다음은 미니언을 배포하고 몇 개의 상태 파일을 실행하도록 구성된 vRealize Automation Cloud Template 예제입니다.

Cloud.vSphere.Machine의 일부인 remoteAccess 속성에 주목하십시오. 시스템은 이러한 자격 증명을 사용하여 시스템에 SSH를 입력하고 미니언을 배포합니다. 원하는 경우 vRealize Automation Cloud Templates “secrets” repo를 사용하여 중요한 암호를 저장할 수 있습니다.

위의 YAML 예제에서 masterId는 Saltstack_enterprise_installer로 설정되어 있습니다. SaltStack Config 시스템의 기본 마스터 ID이기 때문입니다. masterId는 SaltStack Config 시스템에 연결된 마스터의 ID를 가리킬 수도 있습니다. SaltStack Config는 GUI를 통해 여러 Salt Master를 관리할 수 있습니다. SaltStack Config의 참조 아키텍처에 대한 자세한 내용은 여기를 참조하십시오.

stateFiles 속성은 미니언에서 실행할 상태 파일의 목록입니다. State Files는 시스템의 상태를 선언하고 또한 상태를 보증하며, 일반적으로 YAML(및 python)로 작성된다. 경로는 예를 들어 saltEnvironment(base & sse는 기본 환경)와 base 또는 sse 환경 내에서 상태 파일에 대한 일반 경로에 따라 달라집니다. 예를 들어 경로는 다음과 같습니다.

Minion 배포 관리

Minion이 배포되면 vRealize Automation 및 SaltStack Config 모두에서 일부 로그를 보고 정보를 볼 수 있습니다.

vRealize Automation 배포 기록 탭 내에서 SaltStack Config에서 배포 중인 미니언 에이전트와 실행된 모든 상태 파일에 대한 정보 로그를 볼 수 있습니다.

SaltStack Config 인터페이스에서 Activity 섹션을 살펴보고 미니어처 배포가 실행되었는지 확인할 수 있습니다.

미니언 배포 중에 상태 파일을 실행하면 module/function state.apply를 적용한 작업이 표시됩니다. 해당 작업을 클릭하면 미니언에서 가져온 반환 데이터와 작업의 성공 여부를 확인할 수 있습니다.

vRealize 8.4.1부터는 미니언 등록 시 키가 자동으로 승인되지 않습니다. 따라서 auto_accept 값을 사용하여 /etc/salt/master.d 디렉토리에 acceptkey.conf 파일을 생성해야 합니다. 참, service salt-master restart로 마스터 서비스 재시작하십시오. 이 방법은 넌-프러덕션 또는 테스트 환경에 가장 적합합니다.

프러덕션 환경에서는 이 블로그에서 논의하는 키 승인 방법인 리액터 기반 wheel.key를 사용할 수 있다.

주요 허용치는 다음 릴리스에서 제공될 예정이며 .conf 파일 또는 리액터 기반 wheel.key로 대부분의 경우 키 수락 필요성을 무효화한다.

또한 Windows에서 YAML 방법을 사용하는 것은 여전히 진행 중인 작업입니다. 그 기능이 이용 가능해지면 그것에 대한 다른 블로그를 작성하겠습니다.

읽어 주셔서 감사합니다. vRealize Automation Cloud Template에서 기본 제공되는 YAML 속성을 사용하여 미니언을 배포하는 이 방법을 통해 소프트웨어 및 시스템 구축 시간을 단축할 수 있기를 바랍니다!

출처 : https://blogs.vmware.com/management/2021/06/use-vrealize-automation-cloud-templates-to-deploy-saltstack-minions.html

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like
Read More

Agentless Salt – 연결

Salt SSH가 연결 세부 정보를 저장하고 에이전트 없는 시스템에 연결하는 방법을 알아보겠습니다. 로스터 파일 기본적으로 Salt는 YAML 파일을…