Puppet 설치 – 간단한 4 단계로 Puppet 설치



이 블로그는 Puppet Master 및 Puppet Agent를 설치하는 방법에 대한 가이드입니다. 또한 Puppet Tomcat 모듈을 사용하여 Apache Tomcat을 배포하는 예제도 포함되어 있습니다.

Puppet 설치

이 블로그는 CentOS 컴퓨터에 Puppet Master 및 Puppet Agent (Slave)를 설치하는 방법에 대한 가이드입니다. Puppet을 사용하여 Apache Tomcat을 배포하는 Puppet 예제도 살펴 보겠습니다. 두 개의 CentOS 가상 이미지를 사용하고 있습니다. 하나는 Puppet Master 용이고 다른 하나는 Puppet Agent 용입니다.

다음은 Puppet을 설치하는 단계입니다.





  1. Puppet Master 및 Puppet 에이전트 설치
  2. Puppet Master 및 Agent에서 호스트 및 Puppet 구성 파일 편집
  3. Puppet Master와 Puppet Agent 간의 보안 연결 설정
  4. Puppet을 사용하여 Apache Tomcat 배포

Puppet을 설치하기 전에 몇 가지 전제 조건을 살펴 보겠습니다.

전제 조건

두 개의 가상 이미지를 사용하고 있으므로 그중 하나를 Puppet Master로 선택하고 다른 하나는 Puppet Agent라고 할 수 있습니다.



먼저 Puppet Master 및 Puppet Agent에서 모든 방화벽 규칙을 삭제해야합니다. Iptables는 기본적으로 대부분의 Linux 배포에서 사용할 수있는 기본 방화벽입니다.

이것을 실행하십시오 :

iptables -F

이제 이러한 구성을 저장해야합니다.



이것을 실행하십시오 :

서비스 iptables 저장

Puppet Master와 Puppet Agent 모두에서 공식 Puppet Labs 컬렉션 리포지토리를 활성화해야합니다. 이 저장소를 얻으려면 링크로 이동하십시오. yum.puppetlabs.com .

Puppet 저장소-Puppet 설치-Edureka여기에서 사용중인 CentOS 버전에 따라 저장소의 링크 위치를 복사합니다. CentOS 6을 사용하고 있습니다.

이제이 저장소를 가져 오려면 두 가상 이미지에서 아래 명령을 실행하십시오.

이것을 실행하십시오 :

rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

Puppet 설치로 이동하기 전에이 Puppet 설치 비디오를 확인하십시오.

꼭두각시 설치 자습서 | Puppet 설치 – Tomcat 배포 | DevOps 도구 | Edureka

1. Puppet Master 및 Puppet Agent 설치

1.1. Puppet Master 설치

Puppet Master를 설치하려면 아래 명령을 실행하십시오.

연결 및 연결되지 않은 조회의 차이

이것을 실행하십시오 (마스터에서) :

yum 설치 꼭두각시 서버

1.2. Puppet 에이전트 설치

Puppet Agent를 설치하려면 아래 명령을 실행하십시오.

다음을 실행합니다 (에이전트에서) :

yum 설치 인형

2. Puppet Master 및 Agent에서 호스트 및 Puppet 구성 파일 편집

2.1. Puppet Master에서 호스트 및 Puppet 구성 파일 편집

먼저 Puppet Master 가상 이미지에서 vi 편집기를 사용하여 호스트 파일을 편집합니다. vim, gedit 등과 같은 다른 편집기도 사용할 수 있습니다.

이것을 실행하십시오 (마스터에서) :

vi / etc / hosts

컴퓨터의 IP 주소를 입력하고 도메인 이름을 지정하십시오. 위 스크린 샷에서 192.168.1.182가 내 컴퓨터의 IP 주소이고 도메인 이름을 할당했음을 알 수 있습니다. 꼭두각시 puppet.edureka.co .

컴퓨터의 IP 주소를 확인하려면 아래 명령을 사용하십시오.

이것을 실행하십시오 (마스터에서) :

ifconfig

이제 Puppet 구성 파일을 편집하고 vi 편집기를 사용합니다.

이것을 실행하십시오 (마스터에서) :

vi /etc/puppet/puppet.conf

여기 마스터 섹션에서 서버가 응답 할 DNS 이름을 입력합니다 (Puppet 마스터에 제공 한 도메인 이름 입력). DNS는 노드가 IP 주소 대신 친숙한 이름을 사용하여 통신하도록하는 중요한 요소입니다.

dns_alt_names = puppet, puppet.edureka.co

인증서 이름도 제공해야합니다.

certname = puppet

2.2. Puppet에서 호스트 및 Puppet 구성 파일 편집 에이전트

여기 Puppet Agent 가상 이미지의 Puppet Master와 유사하게 먼저 vi 편집기를 사용하여 호스트 파일을 편집합니다.

다음을 실행합니다 (에이전트에서) :

vi / etc / hosts

스냅 샷에서 aws 시작 인스턴스

이제 Puppet Agent의 IP 주소를 입력하고 도메인 이름을 지정합니다. 인형극 ’. 또한 Puppet Master의 IP 주소와 여기에 연결된 도메인 이름을 제공해야합니다.

192.168.1.119 puppetagent
192.168.1.182 꼭두각시 puppet.edureka.co

이제 Puppet 구성 파일을 편집하겠습니다.

다음을 실행합니다 (에이전트에서) :

vi /etc/puppet/puppet.conf

이제 에이전트 섹션에서 서버 이름을 지정하십시오.
Puppet Master의 도메인 이름을 입력합니다. 도메인 이름을 제공하면 호스트 파일로 이동하여 해당 도메인 이름에 연결된 IP 주소를 확인하기 때문에 이것은 매우 중요한 단계입니다. 올바른 도메인 이름을 입력했는지 확인하십시오.

서버 = puppet.edureka.co

3. Puppet 마스터와 Puppet 에이전트간에 보안 연결 설정

Puppet Agent는 인증서에 대해 Puppet Master를 요청합니다. Puppet Master가 인증서를 보내면 Puppet Agent가 자체 인증서를 생성합니다. 그런 다음 Puppet Master에이 인증서에 서명하도록 요청합니다. Master가이 인증서에 서명하면 Puppet Master와 Puppet Agent간에 보안 연결이 설정됩니다.

3.1. Puppet 마스터 인증서 생성

Puppet Master 가상 이미지에서 Puppet Master 컴퓨터에서 CA 인증서 및 Puppet Master 인증서를 생성하려면 아래 명령을 실행합니다.

이것을 실행하십시오 (마스터에서) :

sudo -u puppet puppet master --no-daemonize --verbose

이 명령은 적절한 DNS 이름이 포함 된 CA 인증서와 Puppet Master 인증서를 생성합니다. Puppet 버전이 표시되면 중지하십시오. Ctrl + c 지금은 Puppet Master를 시작할 수 없기 때문입니다.

이제 Puppet Master를 시작하겠습니다.

이것을 실행하십시오 (마스터에서) :

puppet 리소스 서비스 puppetmaster ensure = running

3.2. Puppet Agent에서 Puppet Master로 인증서 서명 요청 보내기

여기 Puppet Agent 가상 이미지에서 인증서 서명 요청을 Puppet Master에 보내야합니다.

다음을 실행합니다 (에이전트에서) :

꼭두각시 에이전트 -t

3.3. Puppet Master에서 Puppet 에이전트 인증서 서명

Puppet Master 가상 이미지에서 Puppet Agent가 요청한 인증서에 서명해야합니다. 인증서 목록을 얻으려면 아래 명령을 실행하십시오.

이것을 실행하십시오 (마스터에서) :

꼭두각시 인증서 목록

보시다시피 puppetagent라는 이름으로 보류중인 인증서 서명 요청이 있습니다. 해당 인증서에 서명하려면 아래 명령을 실행하십시오.

이것을 실행하십시오 (마스터에서) :

꼭두각시 인증서 기호 puppetagent

여기에서 인증서 서명 요청이 Puppet Agent에서 전송되었으므로 특정 인증서에 서명했습니다. 위의 스크린 샷을 참조하십시오.

3.4. Puppet 에이전트 업데이트

먼저 Puppet Agent를 시작해야합니다.

다음을 실행합니다 (에이전트에서) :

puppet 리소스 서비스 puppet ensure = running

이제 Puppet Master에서 변경 한 내용으로 Puppet Agent를 업데이트해야합니다. 마스터가 최근에 인증서에 서명 했으므로 업데이트합니다.

다음을 실행합니다 (에이전트에서) :

꼭두각시 에이전트 -t

축하합니다! 이제 Puppet Master와 Puppet Agent간에 보안 연결이 있습니다. 이제 Puppet을 사용하여 Apache Tomcat을 배포하는 Puppet 예제를 살펴 보겠습니다.

4. Puppet을 사용하여 Apache Tomcat 배포

4.1. Puppet Master에서 구성 정의

Puppet Master 가상 이미지에서 Tomcat 9를 설치하기 전에 Java 8을 설치해야합니다. Tomcat 9는 Java 8 또는 Java 8 이후에 릴리스 된 Java 버전과 만 호환되기 때문입니다.

4.1.1. Java 및 Tomcat 모듈 설치

Java를 설치하려면 Java 모듈을 설치해야합니다.이 모듈은 Java JDK를 자동으로 설치하고 Puppet을 사용하여 Java 설치를 단순화합니다.

이것을 실행하십시오 (마스터에서) :

puppet 모듈 설치 puppetlabs-java

이 명령은 Java 모듈의 최신 호환 버전을 설치합니다.

이제 Tomcat 모듈을 설치합니다. Puppet을 사용하여 Tomcat을 설치하고 구성 파일을 관리하며 웹 앱을 배포 할 수 있습니다.

Tomcat 모듈의 최신 호환 버전을 설치하려면 :

이것을 실행하십시오 (마스터에서) :

puppet 모듈 설치 puppetlabs-tomcat

4.1.2. Puppet 매니페스트에서 site.pp 파일 편집

좋아하는 편집기를 사용하여 Puppet Manifests에서 site.pp 파일을 편집합니다. vi 편집기를 사용하여 Manifest에 대해 더 많이 알고 싶습니다. 퍼펫 튜토리얼 블로그.

이것을 실행하십시오 (마스터에서) :

vi /etc/puppet/manifests/site.pp

여기에는 다음이 포함됩니다.

class { 'java': package = & gt 'java-1.8.0-openjdk-devel':} tomcat :: install { '/ opt / tomcat': source_url = & gt 'http://redrockdigimark.com/apachemirror/tomcat/ tomcat-9 / v9.0.0.M13 / bin / apache-tomcat-9.0.0.M13.tar.gz ',} tomcat :: instance {'default ': catalana_home = & gt'/ opt / tomcat ',}

다음은 site.pp 파일의 모습입니다.

파일을 저장하고 vi 편집기를 종료하십시오.

확장과 구현의 자바 차이점

4.2. Puppet 에이전트 업데이트

Puppet Agent는 주기적으로 (30 분마다) 마스터에서 구성을 가져옵니다. 메인 매니페스트를 평가하고 Tomcat 설정을 지정하는 모듈을 적용합니다. 즉시 시도하려면 모든 에이전트 노드에서 다음 명령을 실행해야합니다.

다음을 실행합니다 (에이전트에서) :

꼭두각시 에이전트 -t

Apache Tomcat이 Puppet Agent에서 작동하는지 살펴 보겠습니다. Puppet Agent 가상 이미지의 브라우저에서 localhost : 8080이 열리는 지 확인하려면 (포트 8080이 Apache Tomcat의 기본 포트 임)

Puppet을 사용하여 Apache Tomcat을 성공적으로 설치했습니다. 마찬가지로 수백 개의 에이전트가있는 대규모 인프라는 Puppet을 사용하여 자동으로 관리 할 수 ​​있으며 DevOps 달성에 중요한 역할을합니다.

Puppet 설치 가이드를 따를 수 있었기를 바라며 지금까지 Puppet이 컴퓨터에서 실행되고 있어야합니다. , 체크 아웃 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka DevOps 인증 교육 과정은 학습자가 SDLC의 여러 단계를 자동화하기 위해 Puppet, Jenkins, Nagios 및 GIT와 같은 다양한 DevOps 프로세스 및 도구에 대한 전문 지식을 습득하는 데 도움이됩니다.