Salt SSH가 연결 세부 정보를 저장하고 에이전트 없는 시스템에 연결하는 방법을 알아보겠습니다.

로스터 파일

기본적으로 Salt는 YAML 파일을 사용하여 에이전트 없는 시스템(목록)에 대한 연결 상세 내역을 저장합니다. 기본 목록 파일에는 ID, 호스트 및 사용자가 포함됩니다.

ID:
  host: [IP or DNS name] 
  user: [username]

목록 파일의 기본 위치는 /etc/salt/roster입니다. 다른 곳에 저장하려는 경우 --roster-file=  인수(아래 참조)를 사용하여 다른 경로를 지정할 수 있습니다.

로스터에는 많은 추가 옵션이 있습니다. 자세한 내용은 로스터 작동 방식을 참조하십시오.

명령 기본 사항

salt-ssh 명령은 에이전트 없는 시스템에 연결하는 데 사용됩니다. 이 명령은 salt 명령과 매우 유사합니다.

salt-ssh [target] [command] [arguments]

주된 차이점은 대상에 지정된 시스템은 목록 파일에 정의되어야 하며 대상은 glob 또는 regex을 통해서만 일치될 수 있다는 점입니다.

초기 연결

시스템에 처음 연결하면 Salt SSH가 키 지문이 포함된 메시지를 반환합니다. 이 키 지문을 검사한 다음 -i 옵션을 사용하여 연결하여 키를 수락할 수 있습니다.

salt-ssh -i '*' test.ping
Permission denied for host managed, do you want to deploy the salt-ssh key? (password required):
[Y/n] y
Password for vagrant@managed:
managed:
    True

Salt SSH가 인증에 사용할 로컬 SSH RSA 키를 생성했습니다. 키를 처음 배포하려면 사용자 암호가 필요하며, 이후 연결은 사용자 암호를 제공하지 않고 작동합니다.

salt-ssh '*' disk.usage 
managed:
    ----------
    /:
        ----------
        1K-blocks:
            41251136
        available:
            38318832
        capacity:
            4%
        filesystem:
            /dev/sda1
        used:
            1196392
    /dev:
        ----------
        1K-blocks:
            245916
        available:
            245904
        capacity:
            1%
        filesystem:
            udev
        used:
            12
...

튜토리얼 – 목록 파일 작성 및 연결

목록 파일을 추가하고 테스트 명령을 실행하겠습니다. 이전에 생성한 Salt SSH 디렉토리(~/salt-ssh)에 있고 가상 환경(source venv/bin/activate)을 활성화했는지 확인합니다.

  1. salt-ssh/roster 텍스트 파일을 생성하고 에이전트 없는 각 시스템에 대한 연결 상세 내역을 저장합니다.
managed:
  host: 192.168.70.11
  user: vagrant

이 형식을 사용하여 이 파일에 원하는 수의 시스템을 추가할 수 있습니다. 위의 예는 이전 섹션의 vagrant 데모 시스템을 기반으로 하지만 사용자 환경의 값을 쉽게 대체할 수 있습니다.

2. salt-ssh/Saltfile 텍스트 파일을 생성하고 연결 옵션을 추가합니다.

salt-ssh:
  roster_file: /home/vagrant/salt-ssh/roster # replace 'vagrant' with your username if needed
  config_dir: /home/vagrant/salt-ssh
  log_file: /home/vagrant/salt-ssh/log.txt  

Salt 파일을 사용하면 명령을 실행할 때마다 포함할 명령줄 옵션을 지정할 수 있습니다.

3. 다음 명령을 실행하여 연결을 테스트합니다.

salt-ssh -i '*' test.ping

모든 작업이 잘 진행되면 각 시스템에서 응답을 받게 됩니다.

출처 : https://docs.saltproject.io/en/getstarted/ssh/connect.html
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

You May Also Like

솔트(Salt) 시스템 아키텍처

솔트란 무엇인가? 솔트(Salt)는 파이썬 기반 오픈 소스 원격 실행 프레임워크이다. 구성 관리 자동화 프로비저닝 오케스트레이션 솔트 시스템 아키텍처…

SaltStack 이해 – 파이썬

파이썬 아까 우리가 솔트를 사용하기 위해서 파이썬이나 다른 코드를 쓸 필요가 없다고 말한 것을 압니다. 사실입니다. 그러나 파이썬,…