2016-11-25 17 views
1

두 개의 RedHat 인스턴스를 실행 중입니다. 한 대의 컴퓨터에 SaltMaster가 설치되어 있고 다른 컴퓨터에 SaltMinion이 설치되어 있습니다. 나는 Salt의 무료 버전을 사용하고있다. 기본 구성 관리 작업을 수행하기 위해 SaltStack을 테스트하고 싶습니다. SaltMaster에서 SaltMinion으로 파일을 전송할 수 있다면 좋을 것입니다. SaltMinion에 Apache 웹 서버를 설치할 수 있다면 좋을 것입니다. 어느 것이 든 내가 배우는 데 도움이 될 것입니다. 내 학습 목표는 반 유연합니다.처음으로 파일을 전송하거나 패키지를 설치하도록 SaltStack을 구성하는 방법은 무엇입니까?

salt '*' test.ping을 사용할 수 있습니다. 응답은 True입니다.

> hostname.fqdn: 
>  Data failed to compile: 
> ---------- 
>  No matching salt environment for environment 'qa' found 
> ---------- 
>  No matching sls found for 'qa1' in env 'qa' 
> ---------- 
>  No matching sls found for 'base1' in env 'base' 
> ---------- 
>  No matching salt environment for environment 'dev' found 
> ---------- 
>  Specified SLS base1 in saltenv dev is not available on the salt master or through a configured fileserver 

I의/etc/소금/마스터 파일을 수정 :이 오류가 발생했습니다 salt '*' state.apply

:이 명령을 시도했다.

fileserver_backend: 
    - git 
    - roots 

내가이 명령을 다시 시도 : : 여기이 지침에 따라 한

> [ERROR ] Error parsing configuration file: /etc/salt/master - 
> expected '<document start>', but found '<block mapping start>' in 
> "<string>", line 547, column 1: 
>  fileserver_backend: 
> ^[ERROR ] Error parsing configuration file: /etc/salt/master - expected '<document start>', but found '<block mapping start>' in 
> "<string>", line 547, column 1: 
>  fileserver_backend: 
> ^

: https://docs.saltstack.com/en/latest/topics/tutorials/states_pt1.html

I를

salt '*' state.apply 내가이 오류를받은 나는이 라인을 주석 처리 webserver.sls 파일을 만들었습니다. 나는 방향으로 세 줄 위의 작업을 SaltStack를 구성하기에 충분 것이라고 표시되지 않습니다

apache:     # ID declaration 
    pkg:     # state declaration 
    - installed   # function declaration 

:

내가 콘텐츠 이러한 라인을 삽입했다. 아파치 설치 매체는 어디에 있어야합니까? 송금은 어디에서 발생합니까? SaltMaster에 미디어를 다운로드해야합니까? 나는 그렇게 생각할 것이다. 그러나 나는 어디에 넣을 까? yum 명령이 작동하도록 위성 서버가 있습니다.

또는 어떻게 SaltStack에서 SaltMaster에서 SaltMinion으로 파일을 전송할 수 있습니까?

답변

0

첫 번째 오류 ([...]No matching sls found for 'qa1' in env 'qa'[...])는 마스터 환경에 존재하지 않는 많은 환경 (file_roots)을 구성했음을 나타냅니다. 이 문제를 해결하기 위해 당신의 접근 방식이 오류에 올바른 방향으로 간다, 그러나 리드 : 당신은 더 이상 소금 마스터가 더 이상 실행하지 않아야로, 그것을 않습니다, 당신의 미니언을 test.ping 할 수 없을 것

[ERROR ] Error parsing configuration file: /etc/salt/master - expected '', but found '' in "", line 547, column 1: fileserver_backend:^[ERROR ] Error parsing configuration file: /etc/salt/master - expected '', but found '' in "", line 547, column 1: fileserver_backend: ^

? 이를 해결하려면 오류 메시지를 읽으십시오. 그것은 당신의 소금 마스터 구성 파일 소금의 어느 점이 불만인지 알려줍니다.

fileserver_backend은 사용할 수있는 백엔드 유형을 구성합니다. file_roots 구성을 점검하여 사용 가능한 루트를 실제로 정의해야합니다. 루트는 파일 시스템의 salt states 폴더를 참조합니다.

아주 간단한 설정은 같을 수 있습니다

file_roots: 
    base: 
    - /srv/salt 

/srv/salt 당신의 상태 트리의 루트 있다고 가정 - 당신의 webserver.sls이 폴더에 위치해야 함을 효과적으로 의미한다.

귀하의 webserver.sls은 유망한 것처럼 보입니다 - 적용시 미니언에 apache2를 설치해야합니다.

구성을 마스터에 저장하고 미니언으로 파일을 전송하면 쉽게 달성 할 수 있습니다. 또한 미디어를 관리 할 파일을 요청

/etc/myawesomeconfigurationfile.conf: 
    file.managed: 
    source: salt://myawesomefile # refers to /srv/salt/myawesomefile 
    user: root 
    group: root 
    mode: 640 

: 같은 간단한 상태를 보일 수 있습니다. 응용 프로그램 관련 데이터에 관해 이야기하는 경우 소금을 사용하여 주변을 이동하는 것은 좋지 않습니다. NFS, GlusterFS 또는 사용자 컨텐츠와 애플리케이션을 분리하는 다른 것과 같은 IMO의 다른 접근 방식이 더 나은 접근 방법입니다.