Salt 마스터 및 Salt 미니언 서비스 설치로 구성된 인프라에 Salt를 설치해야 합니다.

최소한 표준 SaltStack Config 설치 시나리오와 관련된 노드에 Salt 및 해당 종속성을 설치해야 합니다.

SaltStack Config로 관리하려는 인프라에 미리 Salt를 설치하는 것이 좋습니다. Salt를 설치하면 Salt의 향후 버전으로 업데이트하는 프로세스가 간소화되고 합리화됩니다. SaltStack Config 설치를 시작하기 전에 인프라에 Salt를 설치한 후 일정 기간 동안 모니터링하여 예상대로 안정적으로 실행되는지 확인하는 것이 좋습니다.

인프라에서 Salt를 구현할 때 환경이 모범 사례를 따르는지 확인하려면 다음 가이드를 참조하십시오.

SaltStack Config 표준 설치를 위해 시스템을 준비하려면 Salt 및 Python을 설치하거나 업그레이드해야 합니다. Salt 및 Python은 설치와 관련된 모든 노드에 존재해야 하고 업데이트되어야 합니다. Salt 및 설치 관리자의 종속성이 노드에 설치되어 있지 않으면 설치가 실패합니다.

Salt 마스터에 Salt 설치

표준 설치에서는 Salt 마스터 호스트에 Salt 마스터 서비스와 미니언 서비스를 모두 설치해야 합니다.

이 지침에서는 Redhat/Centos 7 PY3에 최신 Salt 릴리스를 설치합니다. 시스템에서 다른 운영 체제 또는 Python 버전을 실행하는 경우 스크립트가 작동하지 않습니다. 다른 운영 체제 또는 Python 버전에 Salt를 설치하는 방법에 대한 자세한 내용은 Salt 설치 가이드를 참조하십시오.
참고: Centos 7은 기본적으로 Salt 마스터에 대한 연결을 차단합니다. 연결을 허용하려면 방화벽 규칙을 생성해야 합니다.
  • firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
  • firewall-cmd --reload
자세한 내용은 Salt용 방화벽 열기를 참조하십시오.
  1. Salt 프로젝트 저장소 및 키를 설치합니다.
    sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
  2. 캐시를 지웁니다.
    sudo yum clean expire-cache
  3. Salt 마스터 노드에 Salt 마스터 서비스 및 미니언 서비스를 설치합니다.
    sudo yum install salt-master
    sudo yum install salt-minion
  4. /etc/salt/minion.d 디렉토리에 master.conf 파일을 생성합니다. 이 파일에서 Salt 마스터의 IP 주소가 스스로를 가리키도록 설정합니다.
    master: localhost
  5. Salt 마스터 서비스 및 미니언 서비스를 시작합니다.
    sudo systemctl start salt-master
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    필요한 경우 service salt-minion restart를 사용하여 미니언을 다시 시작합니다.

Salt 미니언에 Salt 설치

이전 섹션의 설명처럼 Salt 마스터에 Salt를 설치한 후, 다음 단계는 세 개의 노드 즉, RaaS, Redis 데이터베이스 및 PostgreSQL 데이터베이스에 미니언 서비스(마스터 서비스 아님)를 설치하는 것입니다.

그런 다음 Salt 마스터와 통신하도록 미니언을 구성해야 합니다. 미니언 서비스 설치에 대한 자세한 내용은 Salt 설명서의 미니언 구성을 참조하십시오.

미니언 서비스를 설치하려면:

  1. 다음 명령을 실행하여 미니언 서비스만 설치합니다.
    sudo yum install salt-minion
  2. 모든 프롬프트에 y로 응답하여 모든 변경 사항을 수락합니다.
  3. /etc/salt/minion.d 디렉토리에 master.conf 파일을 생성하여 각 미니언이 Salt 마스터와 통신하도록 구성합니다. 이 파일에 Salt 마스터의 IP 주소를 입력합니다. 예를 들면 다음과 같습니다.
    master: 192.0.2.1
  4. 미니언 서비스를 시작합니다.
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    필요한 경우 service salt-minion restart를 사용하여 미니언을 다시 시작합니다.

  5. 나머지 모든 노드에 대해 이전 단계를 반복합니다.

마스터의 미니언 키 수락

이 시점에, Salt 마스터 서비스 및 미니언 서비스를 설치했고 Salt 마스터의 IP 주소를 미니언에 제공했습니다. 이제는 Salt 마스터가 미니언에 명령을 보내기 위해 Salt 마스터에서 미니언 키를 수락하는 다음 단계입니다.

계속하기 전에:

  • Salt 마스터 서비스가 사용되도록 설정되고 시작되었는지 확인합니다.
  • 미니언이 모든 노드에서 사용되도록 설정되고 시작되었는지 확인합니다.

키를 수락하려면:

  1. Salt 마스터의 터미널에서 Salt 마스터에 있는 모든 키를 나열합니다.
    salt-key -L
  2. Unacceptedkeys에 모든 미니언 ID가 나열되어 있는지 확인합니다.

    Acceptedkeys에 미니언 ID가 보이면 추가 작업이 필요하지 않습니다. 이것이 최종 목표이기 때문입니다.

  3. 다음 명령을 사용하여(<your-minion-id>를 네트워크의 ID로 대체) 각 미니언 ID를 수락합니다.
    salt-key -a <your-minion-ID>

    salt-key -A를 실행하면 모든 키가 수락됩니다.

  4. 모든 메시지에 y로 답합니다.
  5. salt-key -L 명령을 다시 실행하여 모든 미니언이 Acceptedkeys에 나타나는지 확인합니다.

에어갭 시스템에 Salt 설치

미리 Salt를 설치하는 일반적인 권장 사항에 대한 한 가지 예외는 에어갭 시스템에 SaltStack Config를 설치하는 경우입니다. 에어갭 시스템의 인프라에 Salt를 설치하는 데는 상반 관계가 있습니다.

SaltStack Config 설치 관리자는 실행할 때 안정적인 최신 Salt 버전을 설치할 수 있습니다. 단, SaltStack Config 설치 관리자가 설치한 Salt 버전은 Salt Crystal 패키지라고 합니다. 이 패키지는 주로 에어갭 시스템에서 사용하기 위한 것이며, 이 경우 인터넷을 통해 Salt를 업데이트할 수 없습니다. 에어갭 시스템에서 사용하기 위한 것이기 때문에 Salt Crystal 패키지의 Salt 버전은 인터넷을 통해 업데이트할 수 없으며 수동으로 업데이트해야 합니다. Salt Crystal 패키지 업데이트에 대한 자세한 내용은 Salt Crystal 업그레이드를 참조하십시오.

네트워크가 에어갭이 아닌 경우 인터넷을 통해 정기적으로 Salt를 업데이트할 수 없으면 네트워크에 문제가 될 수 있습니다. 이런 이유 때문에 Salt Crystal 패키지를 사용하기 보다는 미리 Salt를 설치하는 것이 좋습니다.