SaltStack Config Cloud 인스턴스를 설정하고 확인하려면 Salt 마스터에 Salt 및 마스터 플러그인을 설치하고 Cloud Services 콘솔에서 API 토큰을 생성한 다음 Salt 마스터를 SaltStack Config Cloud에 연결합니다. 온-프레미스 또는 클라우드에 있는 Salt 마스터를 연결할 수 있습니다.

사전 요구 사항

SaltStack Config Cloud를 설정하기 전에 다음 사전 요구 사항을 완료해야 합니다.
  • VMware Cloud Services에 다음 역할이 있어야 합니다.
    • 조직 역할: 조직 소유자 또는 조직 관리자
    • 서비스 역할: SaltStack Config Cloud 서비스의 수퍼유저
  • 기본 조직을 SaltStack Config Cloud 서비스에 대한 액세스 권한이 있는 조직으로 설정합니다.

설정 개요

SaltStack Config Cloud 설정에는 다음과 같은 작업이 포함됩니다.

  1. Salt 마스터 및 SaltStack Config Cloud를 사용하여 관리하려는 노드에 Salt를 설치합니다. 자세한 내용은 1단계: Salt 설치 항목을 참조하십시오.
  2. SaltStack Config Cloud와 통신해야 하는 Salt 마스터에 마스터 플러그인을 설치하거나 업그레이드합니다. 자세한 내용은 2단계: 마스터 플러그인 설치 및 구성 항목을 참조하십시오.
  3. Salt 마스터가 SaltStack Config Cloud에 연결할 수 있도록 API 토큰을 생성합니다. 자세한 내용은 3단계: API 토큰 생성 항목을 참조하십시오.
  4. Salt 마스터를 SaltStack Config Cloud에 연결합니다. 자세한 내용은 4단계: Salt 마스터를 SaltStack Config Cloud에 연결하기 항목을 참조하십시오.
  5. SaltStack Config Cloud 사용자 인터페이스에서 Salt 마스터 키를 수락합니다. 자세한 내용은 5단계: Salt 마스터 키 수락 항목을 참조하십시오.

1단계: Salt 설치

SaltStack Config Cloud를 사용하려면 먼저 Salt 마스터에 Salt를 설치해야 합니다.

Salt 마스터 노드에 Salt 마스터 서비스 및 Salt 미니언 서비스를 설치해야 합니다. 다음 지침은 RHEL 8에 최신 Salt 릴리스를 설치합니다. 다른 운영 체제 또는 Python 버전에 Salt를 설치하는 방법에 대한 자세한 내용은 Salt 설치 가이드를 참조하십시오.

  1. Salt 마스터의 터미널에서 다음 명령을 실행하여 Salt 프로젝트 저장소 및 키를 설치합니다.
    sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/latest/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
  2. sudo yum clean expire-cache를 실행합니다.
  3. Salt 마스터에 salt-minion 서비스 및 salt-master 서비스를 설치합니다.
    sudo yum install salt-master
    sudo yum install salt-minion
  4. /etc/salt/minion.d 디렉토리에 master.conf 파일을 생성합니다. 이 파일에서 Salt 마스터의 IP 주소가 스스로를 가리키도록 설정합니다.
    master: localhost
  5. Salt 마스터 서비스 및 Salt 미니언 서비스를 시작합니다.
    sudo systemctl enable salt-master && sudo systemctl start salt-master
    sudo systemctl enable salt-minion && sudo systemctl start salt-minion

2단계: 마스터 플러그인 설치 및 구성

인프라에 Salt를 설치한 후에는 Salt 마스터가 SaltStack Config Cloud와 통신할 수 있도록 마스터 플러그인을 설치하고 구성해야 합니다.

기존 Salt 마스터가 이미 있는 경우 Salt 마스터를 SaltStack Config Cloud에 연결하기 전에 마스터 플러그인을 업그레이드합니다. 자세한 내용은 마스터 플러그인 업그레이드를 참조하십시오.

마스터 플러그인을 설치 및 구성하려면:

  1. Salt 마스터에 로그인합니다.
  2. 다음 명령을 사용하여 Salt 마스터에 PyJWT 라이브러리 및 Pika Python 라이브러리를 설치합니다.
    salt-call --local pip.install pika==1.2.0 target='/usr'
    salt-call --local pip.install pyjwt==2.3.0 target='/usr'
  3. 필요한 경우 Customer Connect에서 마스터 플러그인 휠을 다운로드합니다.

    마스터 플러그인은 자동 설치 관리자 .tar.gz 파일에 포함되어 있습니다. .tar.gz 파일을 다운로드하여 추출하면 sse-installer/salt/sse/eapi_plugin/files 디렉토리에서 마스터 플러그인을 찾을 수 있습니다.

  4. 업데이트된 Python 휠을 수동으로 설치하여 마스터 플러그인을 설치합니다. 다음 예제 명령을 휠 파일의 정확한 이름을 대체하여 사용합니다.

    RHEL/CentOS

    salt-call --local pip.install SSEAPE-file-name.whl target='/usr'
    Ubuntu
    salt-call --local pip.install SSEAPE-file-name.whl target='/usr'
  5. 마스터 구성 설정을 생성합니다.
    1. /etc/salt/master.d 디렉토리가 있는지 확인합니다. 없는 경우 생성합니다.
    2. 다음 명령을 실행하여 마스터 구성 파일을 생성합니다.
      sudo sseapi-config --all > /etc/salt/master.d/raas.conf

      이 명령을 실행할 때 오류가 발생하면 SaltStack Config Cloud 문제 해결을 참조하십시오.

  6. Salt 마스터 서비스를 다시 시작합니다.
    sudo systemctl restart salt-master

3단계: API 토큰 생성

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

API 토큰을 생성하려면:

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

    CSP의 API 토큰 페이지

  3. 양식을 작성합니다.

    CSP의 토큰 생성 양식

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

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

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

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

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

      SaltStack Config Cloud 서비스에 액세스하려면 SaltStack Config 서비스를 검색하고 Salt 마스터 서비스 역할을 선택합니다.

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

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

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

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

  5. 계속을 클릭합니다.

4단계: Salt 마스터를 SaltStack Config Cloud에 연결하기

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

Salt 마스터를 연결하려면:

  1. Salt 마스터의 터미널에서 API 토큰을 환경 변수로 저장합니다.
    export CSP_API_TOKEN=<api token value>
  2. 다음 명령을 실행하여 Salt 마스터를 SaltStack Config Cloud에 연결합니다. 여기서 ssc-urlcsp-url 값을 사용자의 지역별 URL로 바꿉니다.
    sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    참고:

    sudo 를 사용하는 경우 다음 명령을 실행합니다.

    sudo CSP_API_TOKEN=<api token value> 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
    

    이 명령을 실행할 때 오류가 발생하면 SaltStack Config Cloud 문제 해결을 참조하십시오.

  3. Salt 마스터 서비스를 다시 시작합니다.
    systemctl restart salt-master
  4. 각 Salt 마스터에 대해 이 절차를 반복합니다.
    참고: 각 Salt 마스터를 SaltStack Config Cloud에 연결한 후 API 토큰을 삭제할 수 있습니다. 이 토큰은 alt 마스터를 SaltStack Config Cloud에 연결하는 데만 필요합니다.

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

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

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

5단계: Salt 마스터 키 수락

Salt 마스터를 SaltStack Config Cloud에 연결한 후에는 SaltStack Config Cloud 사용자 인터페이스에서 Salt 마스터의 키를 수락해야 합니다.

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

  1. SaltStack Config 사용자 인터페이스에 로그인합니다.
  2. 왼쪽 상단 탐색 모음에서 메뉴 메뉴 아이콘를 클릭한 다음 관리를 선택하여 관리 업무 공간에 액세스합니다. 마스터 키 탭을 클릭합니다.
  3. 마스터 키 옆의 확인란을 선택하여 선택합니다. 그런 다음 키 수락을 클릭합니다.
  4. Salt 미니언을 Salt 마스터에 이미 연결한 경우 수락할 보류 중인 미니언 키가 있음을 나타내는 경고가 표시됩니다. 이러한 미니언 키를 수락하려면 미니언 키 > 보류 중으로 이동합니다.
    1. 미니언 옆의 확인란을 선택하여 선택합니다. 그런 다음 키 수락을 클릭합니다.

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

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