작년에 SaltStack 제품군을 탑재했을 때, 우리는 이 훌륭한 기술이 고객의 성공을 도울 수 있다는 것을 알고 있는 많은 사용 사례를 가지고 있었습니다. 소프트웨어 구축, 자가 복구, 드리프트 교정 등과 같은 사용 사례를 활용할 수 있습니다. 또한 SaltStack Config를 vRealize Automation에 통합하여 추가 기능을 제공하기 위해 노력했습니다.

Salt가 AWS, NSX-T 및 vSphere의 VMware Cloud와 같은 구성 요소에 후크를 제공하는 오픈 소스 Salt Modules의 조직에 가치를 제공하는 최신 프로젝트를 소개하게 되어 기쁘게 생각합니다. 이러한 추가 모듈은 Salt에 다양한 기능을 제공하고 고객이 SDDC를 관리할 수 있도록 실질적인 가치를 제공합니다. 모듈은 여기 깃허브에서 찾을 수 있습니다. 또한 올해 초에 vRealize Automation용으로 만들어진 다른 모듈도 여기서 확인할 수 있습니다.

vRealize Automation 모듈을 사용하여 기존 vRealize Automation 인스턴스를 구성하고 클라우드 계정, 클라우드 영역, 프로젝트 및 클라우드 템플릿 등을 생성할 수 있습니다. 자동화 플랫폼에 표준 구성을 쉽게 유지할 수 있는 좋은 방법입니다.

이 오픈 소스 프로젝트는 SaltStack Config 고객과 SaltStack Config 고객에게 모두 제공되며, 현재 진행 중인 작업이므로 더욱 많은 기능이 제공될 것입니다! 일반적인 목록은 다음과 같습니다.

시작하기

모듈을 로드하려면 모듈이 위치할 salt master에 로그인하여 이를 위한 개발 시스템을 지정하는 것이 좋습니다. 시스템에 모든 모듈을 로드하기 위해 모듈을 설치하려는 경우 최신 버전으로 연결되는 링크는 https://pypi.org/project/saltext.vmware/입니다. 예를 들어 마스터에 대해 다음과 같은 작업을 수행할 수 있습니다.

pip3 install saltext.vmware

그러면 AWS에서 vSphere, vCenter, ESXi 및 VMC에 사용할 솔트 확장 모듈 컬렉션이 설치됩니다. 그런 다음 CLI를 통해 명령을 실행하거나 상태 파일을 빌드하여 모듈을 호출할 수 있습니다. SaltStack Config이 있다면 State Files and Pillar를 사용하는 것을 추천합니다. 필러 데이터는 Config ->Pillar 섹션 또는 /srv/pillar의 솔트 마스터에 보관할 수 있습니다. 기둥 파일을 만들고 /srv/pillar에 top.sls도 만들 경우 기둥을 새로 고쳐야 합니다.

SaltStack Config에서 상태 파일을 실행하면 Activity–>Completed 섹션에 반환 데이터가 표시됩니다. 예를 들어, 모든 클러스터를 가져오는 명령을 실행하면 다음과 같은 메시지가 나타납니다.

모듈 및 기타 데이터는 일반적으로 다음 위치에 있습니다.

/python/site-packages/saltext...

현재 즉시 사용 가능한 상태 파일은 없지만 쉽게 직접 작성할 수 있습니다. 모듈의 python 코드를 보면 명령의 첫 번째 부분(모듈 이름)으로 __virtualname__을 참조하고 함수는 인수를 참조한다.

예를 들어 VMC Security Group 생성 함수에 대해 전달해야 하는 인수를 참조하기 위해 코드를 참조할 수 있습니다.

상태 파일 만들기

이러한 모듈과 상호 작용할 상태 파일을 만들 수 있습니다. 다음은 필러 데이터를 사용하여 “테스트” VMC SDDC를 생성하는 상태 파일의 예입니다.

{% set sddc_name = salt['pillar.get']('sddc_name',) %}
{% set numhosts = "2" %}
create_sddc:
  module.run:
    - name: vmc_sddc.create:
    - hostname: {{ pillar['vars']['hostname'] }}
    - refresh_key: {{ pillar['vars']['refresh_key'] }}
    - authorization_host: console.cloud.vmware.com
    - org_id: {{ pillar['vars']['org_id'] }}
    - sddc_name: {{ sddc_name }}
    - num_hosts: {{ numhosts }}
    - provider: ZEROCLOUD
    - region: US_WEST_1
    - verify_ssl: False

SaltStack Config에서 상태 파일을 생성하는 경우 이 상태 파일을 호출하는 작업을 생성할 수 있습니다. 그런 다음 모듈을 로드한 솔트 마스터에 대해 작업을 실행합니다.

vRealize Automation 모듈

vRealize Automation 모듈은 사용자 지정 모듈로 만들었기 때문에 약간 다릅니다. 따라서 기본적으로 모듈 파일은 /srv/salt/_modules로 git 클로닝할 수 있습니다(이 디렉터리가 존재하지 않으면 생성해야 합니다). 모듈은 여기에서 찾을 수 있습니다. 그런 다음 saltutil.refresh_modules 명령을 실행한 다음 위의 명령과 유사한 상태 파일을 만들고 호출하는 함수에 대한 인수를 전달할 수 있습니다.

예를 들어 모듈을 통해 vRealize Automation에서 AWS 클라우드 계정을 생성하려면 다음과 같은 상태 파일을 사용할 수 있습니다.

create_aws_cloud_account:
  module.run:
    - name: vra.create_aws_ca
    - url: {{ pillar['vars']['url'] }}
    - username: {{ pillar['vars']['username'] }}
    - password: {{ pillar['vars']['password'] }}
    - aws_key_id: {{ pillar['vars']['aws_key_id'] }}
    - aws_access_key: {{ pillar['vars']['aws_access_key'] }}
    - m_name: AWS-Cloud-Account
    - region_name: us-west-1,us-west-2

Salt용 SDDC 모듈 컬렉션의 좋은 시작입니다. VMware의 공개 커뮤니티와 Salt folk 모두로부터 이러한 모듈이 개발되기를 기대합니다. 고객이 SDDC를 관리하기 위해 SaltStack을 사용하는 것은 매우 흥미로운 일이며 github 사이트에 채널을 고정하여 진행 상황과 새로운 개발 사항을 추적합니다!

출처 : https://blogs.vmware.com/management/2021/10/introducing-saltstack-sddc-modules.html
답글 남기기

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

You May Also Like

Agentless Salt – 원격 실행

시스템이 목록에 추가되면 즉시 셸 명령을 실행하고 패키지를 업데이트하고 모든 대상 시스템에 파일을 배포할 준비가 됩니다. 또한 모든…