서버 PUPPET 중앙 집중식 관리 (1) 배포 및 노드 추가
하나.FAQ
Q:puppet이 뭐예요?
A:puppet 영어는 원래 인형을 뜻하는데 여기서pupet은 원본을 시작하는 관리 소프트웨어를 가리킨다.서버를 중앙 집중식으로 관리할 수 있습니다.이 소프트웨어는 서버를 관리하는 방식이 인형을 조종하는 것과 유사하기 때문에 소프트웨어의 이름은puppet이다.
Q:puppet은 나에게 유용합니까?
A:linux unixfreebsd나macos시스템 관리자라면puppet은 당신에게 매우 유용합니다. 만약 당신이 윈도우즈 사용자라면 당분간 당신에게 쓸모가 없습니다.만약 수백 수천 대의 서버를 관리하고 있지만, for 순환에 ssh나expect를 추가하는 방식으로 서버를 관리하고 있다면,puppet를 시도해 보아야 한다.하루 종일 다른 서버에서 로그아웃하고 싶지 않으면.시간을 내서 놀러 오거나 새로운 것을 배우는 것은 고려하지 않는다.
Q:puppet은 이미 생산 환경에 사용할 수 있습니까?
A:네, 전혀 문제가 없습니다. 구글도 6000대가 넘는 애플 데스크톱 시스템을 puppet으로 관리했습니다. 다음은 공식적인 puppet 사용자 목록입니다. who using puppet
Q:puppet 인증서 오류
A:puppet 클라이언트와 서버 측은 ssl 연결을 통해 안전성을 확보하고 ssl 연결에 사용되는 인증서는 x.509 인증서입니다.puppet는 인증서를 직접 생성합니다.클라이언트든 서버든ssl은 연결할 때 인증서의 CN 이름이 호스트 이름과 일치하는지 비교합니다. 일치하지 않으면 인증서 검증 오류가 발생합니다.이것은 가장 흔히 볼 수 있는 문제다.
이 문제를 해결하는 방법은 먼저 기계의 호스트 이름을 고정한 다음에puppet가 이미 자체적으로 생성한 ssl 디렉터리를 삭제하는 것이다. 예를 들어/etc/puppet/ssl이다.새 인증서를 생성하기 위해puppet을 다시 실행합니다.서로 다른 방법으로 설치된puppet, ssl의 경로가 다르고 debian 아래에는/var/lib/puppet/ssl
서버 측과 클라이언트에서 동시에 이렇게 조작한다.
고정된 기계의 호스트 이름이란 호스트 이름 설정 파일에 설정된 호스트 이름 (debian은/etc/hostname,centos는/etc/sysconfig/network의 HOSTNAME) 과 호스트name 명령을 실행하여 출력된 호스트 이름이 일치하도록 보장하는 것이다.
2.배포 만들기 배포 만들기
1. 설치 배포
표준 Puppet Enterprise 배포는 다음과 같습니다.
공식 문서는 쓸데없는 말이 너무 많다.열거하지 마라, 마른 물건을 말해라.
두 개의 가상 머신을 준비합니다. 하나는 관리자이고 하나는 클라이언트입니다.
이곳은 두 대의 centos6 가상 기기를 준비하여 실험을 한다.
Rubu에 대한 Puppet 지원
Ruby version puppet2.6 puppet2.7 puppet3.0
1.85 지원은 지원되지 않음
1.8.7 지원
1.9.3 지원되지 않음 지원되지 않음
1.9.0/1/2 지원되지 않음 지원되지 않음
1.8.1/6 지원되지 않음 지원되지 않음
Puppet 설치 단계
Linux에서 설치(Puppet3.x, RHEL5.X+, CentOS5.x+)
패키지 관리자를 사용하여 설치
puppet 공식 소스http://yum.puppetlabs.com
원본을 사용할 때 시스템 버전을 확인하여baseurl을 변경합니다
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)
[root@localhost ~]# vim /etc/yum.repos.d/puppet.repo
[puppet-labs]
name=puppet-labs-repo
baseurl=http://yum.puppetlabs.com/el/6Server/products/x86_64/
gpgcheck=0
enabled=1
[root@localhost ~]# yum list
...
[root@localhost ~]# yum -y install ruby ruby-libs ruby-shadow
...
[root@localhost ~]# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
puppetlabs-release.noarch
[root@localhost ~]# yum install puppetlabs-release.noarch
...
[root@localhost ~]# yum install puppet-server
...
[root@localhost ~]# yum install puppet
hosts
[root@localhost ~]# vim /etc/hosts
192.168.181.42 puppet.domain.com
192.168.181.43 agent.domain.com
방화벽 구성
iptables -A INPUT -p tcp --dport 8140 -j ACCEPT
호스트 프로필 구성
[root@localhost ~]# vim /etc/puppet/manifests/site.pp
node default { file { "/tmp/puppettest1.txt": content => "hello,First Puppet test"; }}
[root@localhost ~]# service puppetmaster start
[root@agent ~]# service puppet start
[root@agent ~]# puppet agent --server puppet.domain.com --test
Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for agent.domain.com
Info: Certificate Request fingerprint (SHA256): 09:3C:54:13:5B:AF:00:3E:B3:6E:18:C6:79:84:EB:A8:70:2C:B2:B0:04:7E:42:23:5C:1B:1E:44:B0:5C:39:00
Info: Caching certificate for ca
Exiting; no certificate found and waitforcert is disabled
[root@localhost ~]# puppet cert --list
"agent.domain.com" (SHA256) 09:3C:54:13:5B:AF:00:3E:B3:6E:18:C6:79:84:EB:A8:70:2C:B2:B0:04:7E:42:23:5C:1B:1E:44:B0:5C:39:00
[root@localhost manifests]# puppet cert sign agent.domain.com
Notice: Signed certificate request for agent.domain.com
Notice: Removing file Puppet::SSL::CertificateRequest agent.domain.com at '/var/lib/puppet/ssl/ca/requests/agent.domain.com.pem'
[root@agent ~]# puppet agent --test --server puppet.domain.com
Info: Caching certificate for agent.domain.com
Info: Caching certificate_revocation_list for ca
Info: Caching certificate for agent.domain.com
Info: Retrieving plugin
Info: Caching catalog for agent.domain.com
Info: Applying configuration version '1386938219'
Notice: /Stage[main]/Main/Node[default]/File[/tmp/puppettest1.txt]/ensure: defined content as '{md5}69edbc23ca13613a136d61fb4f662d5e'
Info: Creating state file /var/lib/puppet/state/state.yaml
Notice: Finished catalog run in 0.03 seconds
[root@agent ~]# more /tmp/puppettest1.txt
hello,First Puppet test
기타 주의에 서명하다
클라이언트가 다시 서명할 때'hostname'을 삭제해야 합니다.pem
Find /var/lib/puppet/ssl/ -iname 'hostname'.pem -exec /bin/rm -rf {}
서버도 서명 관련 파일을 삭제해야 합니다
find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete
클라이언트의 인증 정보를 삭제하고 명령을 사용합니다.
puppet cert --clean {node certname}
동시에
Find /var/lib/puppet/ssl/ -iname 'hostname'.pem -exec /bin/rm -rf {}
본인은 대변과 유반도 (데스크톱 linux) 에 싫증이 나기 때문에 스스로 깨닫도록 하세요.
소스 설치 사용
추가
Windows에서 설치 사용
추가
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.