SaltStack Config 클라우드 인스턴스에 대한 액세스 권한을 받은 후에는 Salt 마스터를 SaltStack Config 클라우드에 연결할 수 있습니다. 온-프레미스 또는 클라우드에 있는 Salt 마스터를 연결할 수 있습니다.

각 Salt 마스터는 SaltStack Config 클라우드 인스턴스에 연결할 수 있는 권한을 부여받아야 합니다. Salt 마스터에 권한을 부여하려면 VMware CSP(Cloud Services Platform)의 계정 페이지에서 API 토큰을 생성해야 합니다. 그런 다음 API 토큰을 Salt 마스터의 환경 변수로 내보내고 명령을 실행하여 Salt 마스터를 SaltStack Config 클라우드에 연결합니다.

시작하기 전에

  • 하나의 Salt 마스터와 하나 이상의 Salt 미니언으로 구성된 기존 Salt 환경이 있어야 합니다. 각 Salt 미니언은 Salt 마스터에 이미 연결되어 있어야 합니다. 노드에 Salt 마스터 및 Salt 미니언 서비스를 설치하는 방법에 대한 자세한 내용은 Salt 설치 또는 업그레이드(설치 전)를 참조하십시오.
  • 각 Salt 마스터에 마스터 플러그인 버전 8.10.1.2 이상을 설치해야 합니다.
  • 다음 명령을 사용하여 Salt 마스터에 PyJWT 및 Pika Python 라이브러리를 설치해야 합니다.
    pip3 install pika==1.2.0
    pip3 install pyjwt==2.3.0
  • 다음과 같은 CSP 역할이 있어야 합니다.
    • 조직 역할: 조직 소유자 또는 조직 관리자
    • 서비스 역할: CSP의 SaltStack Config 서비스에 대한 수퍼유저
  • 기본 조직을 SaltStack Config 클라우드 서비스에 대한 액세스 권한이 있는 조직으로 설정합니다.

API 토큰 생성

Salt 마스터를 SaltStack Config 클라우드에 연결하려면 먼저 CSP 콘솔을 사용하여 API 토큰을 생성해야 합니다. 이 토큰은 CSP에서 Salt 마스터를 인증하는 데 사용됩니다.

API 토큰을 생성하려면:

  1. Cloud Services 콘솔 도구 모음에서 사용자 이름을 클릭하고 내 계정 > API 토큰을 선택합니다.
  2. 토큰 생성을 클릭합니다.

    CSP의 API 토큰 페이지

  3. 양식을 작성합니다.

    CSP의 토큰 생성 양식

    1. 토큰의 이름을 입력합니다.
    2. 토큰의 TTL(Time to Live)을 선택합니다. 기본 기간은 6개월입니다.
      참고: 만료되지 않는 토큰은 손상될 경우 보안 위험을 초래할 수 있습니다. 이러한 상황이 발생하는 경우 토큰을 해지해야 합니다.
    3. 토큰의 범위를 정의합니다.
      범위 설명
      조직 역할

      조직 역할은 조직의 리소스에 대한 사용자의 액세스 권한을 결정합니다.

      SaltStack Config 클라우드 서비스에 액세스하려면 조직 관리자 또는 조직 소유자 역할을 선택해야 합니다.

      새 API 토큰 생성 페이지에서 조직 관리자 역할이 선택됨
      서비스 역할

      서비스 역할은 VMware Cloud Services에 대한 액세스 권한을 부여하는 미리 정의된 기본 제공 사용 권한 집합입니다.

      SaltStack Config 클라우드 서비스에 액세스하려면 SaltStack Config 서비스 역할을 선택하고 모든 서비스 역할을 선택합니다.

      SaltStack Config 서비스에 대해 모든 서비스 역할이 선택됨
    4. (선택 사항) 토큰이 곧 만료되는 경우 미리 알림을 받도록 이메일 기본 설정을 지정합니다.
    5. 생성을 클릭합니다.

      새로 생성된 API 토큰이 토큰 생성됨 창에 나타납니다.

  4. 토큰 자격 증명을 안전한 위치에 저장합니다.

    토큰을 생성한 후에는 API 토큰 페이지에서 토큰 이름만 볼 수 있고 자격 증명은 볼 수 없습니다. 토큰을 재생성하려면 재생성을 클릭합니다.

  5. 계속을 클릭합니다.

Salt 마스터를 SaltStack Config 클라우드에 연결

API 토큰을 생성한 후에는 이 토큰을 사용하여 Salt 마스터를 SaltStack Config 클라우드에 연결할 수 있습니다.

Salt 마스터를 연결하려면:

  1. Salt 마스터에 로그인하고 /etc/salt/master.d/raas.conf 파일이 있는지 확인합니다.

    없으면 마스터 플러그인을 설치하고 구성해야 합니다.

  2. Salt 마스터의 터미널에서 API 토큰을 환경 변수로 저장합니다.
    export CSP_API_TOKEN=<api token value>
  3. Salt 마스터가 마스터 플러그인 버전 8.9.0 이하를 실행 중인 경우 Salt 마스터를 SaltStack Config Cloud에 다시 등록해야 합니다. 자세한 내용은 Salt 마스터를 SaltStack Config Cloud에 다시 연결하는 방법을 참조하십시오.
  4. Salt 마스터가 마스터 플러그인 버전 8.9.1 이상을 실행 중인 경우 다음 명령에서 ssc-urlcsp-url 값을 지역별 URL로 대체하고 실행하여 Salt 마스터를 SaltStack Config Cloud에 연결합니다.
    sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    지역 이름 SSC URL CSP URL
    US https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    DE(독일) https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    IN(인도) https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com

    다음 코드 샘플은 미국 지역의 성공적인 응답 예를 보여줍니다.

    2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    2022-08-16 21:28:26 [INFO] Retrieving CSP auth token.
    2022-08-16 21:28:27 [INFO] Creating new oauth app.
    2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85].
    2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master].
    2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN].
    2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect.
    2022-08-16 21:28:29 [INFO] Updated master cloud.conf.
    2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]
    2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'}
    2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    
  5. Salt 마스터 서비스를 다시 시작합니다.
    systemctl restart salt-master
  6. 각 Salt 마스터에 대해 이 절차를 반복합니다.
참고: 각 Salt 마스터를 SaltStack Config Cloud에 연결한 후 API 토큰을 삭제할 수 있습니다. Salt 마스터를 SaltStack Config Cloud에 연결하는 데만 필요합니다.

sseapi-config 명령을 실행하면 각 Salt 마스터에 대해 CSP 조직에 OAuth 애플리케이션이 생성됩니다. Salt 마스터는 OAuth 애플리케이션을 사용하여 SaltStack Config 클라우드에 대한 모든 요청에 추가된 CSP 액세스 토큰을 가져옵니다. 조직 > OAuth 애플리케이션을 선택하여 OAuth 애플리케이션의 세부 정보를 볼 수 있습니다.

또한 이 명령은 Salt 마스터에 CSP_AUTH_TOKEN이라는 pillar 데이터를 생성합니다. pillar는 Salt 마스터에 저장되고 데이터에 액세스할 수 있는 권한이 부여된 하나 이상의 미니언으로 전달되는 데이터 구조입니다. pillar 데이터는 /srv/pillar/csp.sls에 저장되며 클라이언트 ID, 비밀, 조직 ID 및 CSP URL을 포함합니다.

pillar 데이터 예시:
CSP_AUTH_TOKEN:
   csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh
   csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95
   csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85
   csp_url: https://console.cloud.vmware.com

비밀을 순환해야 하는 경우 sseapi-config join 명령을 다시 실행하면 됩니다.

pillar 데이터에 대해 자세히 알아보려면 상태 파일 및 pillar 데이터를 생성하는 방법을 참조하십시오.

Salt 마스터 키 수락

Salt 마스터를 시작하는 동안(암호 인증을 사용하지 않는 한) 공용 키 파일이 생성됩니다. 마스터가 실행되기 시작하지만 SaltStack Config 클라우드와의 통신은 키가 수락될 때까지 실패합니다.

Salt 마스터 키를 수락하려면:

  1. SaltStack Config 사용자 인터페이스에 로그인합니다.
  2. 왼쪽 상단 탐색 모음에서 메뉴 메뉴 아이콘를 클릭한 다음 관리를 선택하여 관리 업무 공간에 액세스합니다. 마스터 키 탭을 클릭합니다.
  3. 사이드 메뉴에서 보류 중을 클릭하여 보류 중인 모든 마스터 키의 목록을 표시합니다.

    마스터 키가 표시되지 않으면 SaltStack Config 클라우드 문제 해결을 참조하십시오.

  4. 마스터 키 옆의 확인란을 선택하여 선택합니다. 그런 다음 키 수락을 클릭합니다.
  5. 마스터 키를 수락하면 수락이 필요한 보류 중인 키가 있다고 알려주는 경고가 나타납니다. 이러한 미니언 키를 수락하려면 미니언 키 > 보류 중으로 이동합니다.
  6. 미니언 옆의 확인란을 선택하여 선택합니다. 그런 다음 키 수락을 클릭합니다.
  7. 확인 대화상자에서 수락을 클릭합니다.

이제 키가 수락됩니다. 몇 초 후에 수락함 탭과 대상 업무 공간에 미니언이 나타납니다.

SaltStack Config 사용자 인터페이스에서 test.ping 명령을 실행하여 Salt 마스터와 Salt 미니언이 통신 중인지 확인할 수 있습니다. 자세한 내용은 대상 업무 공간에서 임시 작업 실행을 참조하십시오.

다음 항목

test.ping 명령을 성공적으로 실행한 후에는 SaltStack Config Cloud를 사용하고 이벤트 기반 자동화를 사용하여 모든 규모의 가상 시스템에 소프트웨어를 프로비저닝, 구성 및 배포할 수 있습니다.

SaltStack Config CloudCloud Assembly와 통합하면 클라우드 템플릿을 사용하여 Salt 미니언 및 상태 파일을 배포할 수도 있습니다.

다음 표에는 자세한 정보를 얻을 수 있는 몇 가지 유용한 리소스가 나열되어 있습니다.

주제... 참조할 항목
SaltStack Config Cloud에 대한 사용자 액세스 관리
SaltStack Config CloudCloud Assembly와 통합 vRealize Automation Cloud에서 SaltStack Config 통합 구성
SaltStack Config의 주요 기능 SaltStack Config 시작