웹사이트 검색

CentOS 7에서 Puppet Master 및 Agent를 설정하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 센트OS 8
  • 센트OS 7

이 페이지에서

  1. 전제 조건
  2. 우리가 할 일:\n
  3. 1단계 - Puppet 사전 설치
    1. - 호스트 구성\n
    2. - NTP 서버 구성
    3. - SELinux 비활성화\n
    4. - 꼭두각시 저장소 추가

    Puppet은 오픈 소스 구성 관리 도구이자 서버 자동화 프레임워크입니다. Puppet은 Unix 계열 운영 체제와 Microsoft Windows 시스템에서 실행할 수 있습니다. 하나의 마스터 서버에서 관리 작업과 수백 개의 시스템 구성을 관리하고 수행할 수 있습니다.

    이 튜토리얼에서는 CentOS 7에 Puppet을 설치하는 방법을 설명합니다. CentOS 7 서버를 Puppet 마스터로, 다른 서버를 에이전트로 설치 및 구성하겠습니다.

    전제 조건

    • 2개의 CentOS 7 서버
      • 10.0.15.10 master.hakase.io 2GB 메모리
      • 10.0.15.11 agent.hakase.io

      우리가 할 일:

      1. Puppet 사전 설치
      2. Puppet 서버 설치 및 구성
      3. Puppet Agent 설치 및 구성
      4. Puppet 에이전트 구성 확인\n
      5. 첫 번째 꼭두각시 매니페스트 만들기

      1단계 - Puppet 사전 설치

      이 단계에서는 puppet master 서버와 puppet agent 서버 모두에서 설치 및 구성을 포함한 몇 가지 작업을 수행합니다. 호스트 파일을 구성하고 NTP 서버를 사용하여 시간을 동기화하고 SELinux를 비활성화하고 꼭두각시 저장소를 시스템에 추가합니다.

      - 호스트 구성

      루트 사용자를 사용하여 Puppet 마스터 및 에이전트에 연결합니다.

      ssh 

      이제 vim 편집기를 사용하여 호스트를 수정합니다.

      vim /etc/hosts

      줄 끝에 다음 구성을 추가합니다.

      10.0.15.10      master.hakase.io
      10.0.15.11      agent.hakase.io

      저장 및 종료.

      이제 ping 명령을 사용하여 테스트합니다.

      ping master.hakase.io
      ping agent.hakase.io

      그리고 서버 IP 주소 10.0.15.10 및 10.0.15.11을 얻었는지 확인하십시오.

      - NTP 서버 구성

      마스터와 에이전트 서버 간의 시간 동기화를 유지하는 것이 매우 중요합니다.

      yum 명령을 사용하여 두 서버 모두에 NTP 패키지를 설치합니다.

      yum -y install ntp ntpdate

      설치가 완료되면 아래와 같이 명령어를 실행하여 원하는 NTP 풀을 선택합니다.

      sudo ntpdate 0.centos.pool.ntp.org

      이제 NTP 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.

      sudo systemctl start ntpd
      sudo systemctl enable ntpd

      NTP 설치 및 구성이 완료되었습니다.

      - SELinux 비활성화

      vim을 사용하여 SELinux 구성을 편집합니다.

      vim /etc/sysconfig/selinux

      SELINUX 값을 비활성화로 변경합니다.

      SELINUX=disabled

      저장 및 종료.

      - 꼭두각시 저장소 추가

      이제 아래의 rpm 명령을 사용하여 꼭두각시 저장소를 시스템에 추가합니다.

      rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm

      완료되면 두 서버를 모두 재부팅합니다.

      reboot

      이제 꼭두각시 설치 및 구성 준비가 되었습니다.

      2단계 - Puppetserver 설치 및 구성

      이 단계에서는 master.hakase.io 서버에 puppetserver를 설치합니다. 아래 yum 명령을 사용하여 puppetserver를 설치합니다.

      sudo yum -y install puppetserver

      설치가 완료되면 puppetserver에 대한 메모리 할당을 구성해야 합니다. puppetserver의 최대 메모리 할당을 1GB로 설정합니다.

      vim을 사용하여 puppetserver 구성을 편집합니다.

      vim /etc/sysconfig/puppetserver

      이제 아래와 같이 줄을 변경합니다.

      JAVA_ARGS="-Xms1g -Xmx1g ...."

      저장 및 종료.

      그런 다음 puppet 구성 디렉터리로 이동하여 puppet.conf 파일을 편집합니다.

      cd /etc/puppetlabs/puppet
      vim puppet.conf

      다음 구성을 추가합니다.

      [master]
      dns_alt_names=master.hakase.io,puppet

      [main]
      certname = master.hakase.io
      server = master.hakase.io
      environment = production
      runinterval = 1h

      저장 및 종료.

      이제 puppetserver를 시작하고 시작할 때마다 실행되도록 설정합니다.

      systemctl start puppetserver
      systemctl enable puppetserver

      Puppetserver 설치 및 구성이 성공적으로 완료되었습니다.

      시스템에서 firewalld를 사용하는 경우 아래의 firewall-cmd 명령을 사용하여 puppetserver 포트를 목록에 추가합니다.

      firewall-cmd --add-port=8140/tcp --permanent
      firewall-cmd --reload

      3단계 - Puppet Agent 설치 및 구성

      agent.hakase.io 서버에 꼭두각시 에이전트를 설치하겠습니다.

      아래의 yum 명령을 사용하여 꼭두각시 에이전트를 설치합니다.

      yum install -y puppet-agent

      설치가 완료되면 puppet 구성 디렉토리로 이동하여 puppet.conf 파일을 편집합니다.

      cd /etc/puppetlabs/puppet
      vim puppet.conf

      다음 구성을 붙여넣습니다.

      [main]
      certname = agent.hakase.io
      server = master.hakase.io
      environment = production
      runinterval = 1h

      저장 및 종료.

      다음으로 꼭두각시 에이전트를 꼭두각시 마스터에 등록합니다.

      꼭두각시 에이전트 셸에서 아래 명령을 실행합니다.

      /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

      Puppet 에이전트는 이제 서버에서 실행 중이며 Puppet 마스터에 자신을 등록하려고 합니다.

      이제 꼭두각시 마스터 셸로 돌아가서 아래 명령을 실행합니다.

      /opt/puppetlabs/bin/puppet cert list

      그리고 꼭두각시 에이전트 서버 agent.hakase.io에서 보류 중인 인증서 서명 요청(CSR)을 받게 됩니다.

      아래 명령을 사용하여 인증서에 서명하십시오.

      /opt/puppetlabs/bin/puppet cert sign agent.hakase.io

      결과는 다음과 유사해야 합니다.

      Puppet 에이전트는 이제 시스템에서 실행 중이며 에이전트의 인증서는 Puppet 마스터가 서명했습니다.

      4단계 - Puppet Agent 구성 확인

      Puppet 마스터가 에이전트의 인증서 파일에 서명한 후 Puppet 에이전트에서 아래 명령을 실행하여 구성을 확인합니다.

      /opt/puppetlabs/bin/puppet agent --test

      그러면 아래와 같은 결과를 얻을 수 있습니다.

      Puppet 에이전트는 Puppet 마스터에서 구성을 가져와 오류 없이 서버에 적용했습니다.

      5단계 - 첫 번째 매니페스트 만들기

      퍼펫 마스터와 에이전트 설치 및 구성이 완료되었습니다. 이 단계에서는 테스트를 위한 간단한 매니페스트를 만듭니다.

      Apache httpd 웹 서버 설치를 위한 매니페스트를 생성합니다.

      Puppet 마스터 서버에서 /etc/puppetlabs/code/ 디렉토리로 이동하고 vim을 사용하여 새 매니페스트 파일 site.pp를 생성합니다.

      cd /etc/puppetlabs/code/
      cd environments/production/manifests

      새 매니페스트 파일을 만듭니다.

      vim site.pp

      다음 구성을 붙여넣습니다.

      node 'agent.hakase.io' {
          package { 'httpd':
              ensure  => "installed",
          }
          service { 'httpd':
              ensure => running,
          enable => true
          }
      }

      저장 및 종료.

      이제 꼭두각시 에이전트 서버 셸을 열고 아래 명령을 실행합니다.

      /opt/puppetlabs/bin/puppet agent --test

      이 명령은 Puppet 마스터에서 새 매니페스트 구성 파일을 검색한 다음 에이전트 서버에 적용합니다.

      다음은 결과입니다.

      웹 브라우저를 열고 꼭두각시 에이전트의 IP 주소를 입력합니다.

      http://10.0.15.11/

      그러면 아래와 같이 기본 HTTP 페이지가 표시됩니다.

      꼭두각시 매니페스트를 사용하여 httpd 웹 서버가 설치되었습니다.

      CentOS 7에서 Puppet Master 및 Puppet Agent의 설치 및 구성이 성공적으로 완료되었습니다.

      참조

      • https://docs.puppet.com/