SaltStack Config 설치를 실행하려면 Salt가 필요합니다. 최소한 표준 SaltStack Config 설치 시나리오와 관련된 노드에 Salt 및 해당 종속성을 설치해야 합니다.
SaltStack Config로 관리하려는 인프라에 미리 Salt를 설치하는 것이 좋습니다. Salt를 설치하면 Salt의 향후 버전으로 업데이트하는 프로세스가 간소화되고 합리화됩니다. SaltStack Config 설치를 시작하기 전에 인프라에 Salt를 설치한 후 일정 기간 동안 모니터링하여 예상대로 안정적으로 실행되는지 확인하는 것이 좋습니다.
인프라에서 Salt를 구현할 때 환경이 모범 사례를 따르는지 확인하려면 다음 가이드를 참조하십시오.
SaltStack Config 표준 설치를 위해 시스템을 준비하려면 Salt 및 Python을 설치하거나 업그레이드해야 합니다. Salt 및 Python은 설치와 관련된 모든 노드에 존재해야 하고 업데이트되어야 합니다. Salt 및 설치 관리자의 종속성이 노드에 설치되어 있지 않으면 설치가 실패합니다.
Salt 종속성 설치
종속성은 설치와 관련된 모든 노드에 설치해야 합니다. 표준 설치에서는 Salt 마스터, RaaS, Redis 데이터베이스 및 PostgreSQL 데이터베이스를 호스팅할 모든 노드에 이러한 종속성을 설치해야 합니다.
- OpenSSL
- EPEL(Enterprise Linux용 추가 패키지)
- Python 암호화
- Python OpenSSL 라이브러리
이러한 종속성의 존재 여부를 확인하려면:
- 터미널에서 이러한 종속성이 각 노드에 설치되어 있는지 확인합니다.
sudo yum list installed | grep openssl sudo yum list installed | grep epel-release sudo yum list installed | grep python36-cryptography sudo yum list installed | grep python36-pyOpenSSL
- 종속성이 없는 경우 종속성을 설치합니다.
sudo yum install openssl sudo yum install epel-release -y sudo yum install python36-cryptography sudo yum install python36-pyOpenSSL
경고:python36-pyOpenSSL
패키지를 설치했는지 확인합니다. 설치 후 SSL을 구성해야 하지만 이 단계는 설치 전에 완료해야 합니다.
Salt 마스터에 Salt 설치
표준 설치에서는 Salt 마스터 호스트에 Salt 마스터 서비스와 미니언 서비스를 모두 설치해야 합니다.
firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
firewall-cmd --reload
- Salt 프로젝트 저장소 및 키를 설치합니다.
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
- 캐시를 지웁니다.
sudo yum clean expire-cache
- Salt 마스터 노드에 Salt 마스터 서비스 및 미니언 서비스를 설치합니다.
sudo yum install salt-master sudo yum install salt-minion
/etc/salt/minion.d
디렉토리에master.conf
파일을 생성합니다. 이 파일에서 Salt 마스터의 IP 주소가 스스로를 가리키도록 설정합니다.master: localhost
- 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 설명서의 미니언 구성을 참조하십시오.
미니언 서비스를 설치하려면:
- 다음 명령을 실행하여 미니언 서비스만 설치합니다.
sudo yum install salt-minion
- 모든 프롬프트에
y
로 응답하여 모든 변경 사항을 수락합니다. /etc/salt/minion.d
디렉토리에master.conf
파일을 생성하여 각 미니언이 Salt 마스터와 통신하도록 구성합니다. 이 파일에 Salt 마스터의 IP 주소를 입력합니다. 예를 들면 다음과 같습니다.master: 192.0.2.1
- 미니언 서비스를 시작합니다.
sudo systemctl enable salt-minion sudo systemctl start salt-minion
필요한 경우
servicesalt-minionrestart
를 사용하여 미니언을 다시 시작합니다. - 나머지 모든 노드에 대해 이전 단계를 반복합니다.
마스터의 미니언 키 수락
이 시점에, Salt 마스터 서비스 및 미니언 서비스를 설치했고 Salt 마스터의 IP 주소를 미니언에 제공했습니다. 이제는 Salt 마스터가 미니언에 명령을 보내기 위해 Salt 마스터에서 미니언 키를 수락하는 다음 단계입니다.
계속하기 전에:
- Salt 마스터 서비스가 사용되도록 설정되고 시작되었는지 확인합니다.
- 미니언이 모든 노드에서 사용되도록 설정되고 시작되었는지 확인합니다.
키를 수락하려면:
- Salt 마스터의 터미널에서 Salt 마스터에 있는 모든 키를 나열합니다.
salt-key -L
Unacceptedkeys
에 모든 미니언 ID가 나열되어 있는지 확인합니다.Acceptedkeys
에 미니언 ID가 보이면 추가 작업이 필요하지 않습니다. 이것이 최종 목표이기 때문입니다.- 다음 명령을 사용하여(<your-minion-id>를 네트워크의 ID로 대체) 각 미니언 ID를 수락합니다.
salt-key -a <your-minion-ID>
salt-key-A
를 실행하면 모든 키가 수락됩니다. - 모든 메시지에
y
로 답합니다. 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를 설치하는 것이 좋습니다.