웹사이트 검색

Foreman에 Puppet Agent를 추가하는 방법


이 페이지에서

  1. 1단계 - 호스트 설정\n
  2. 2단계 - Puppet Agent 설치 및 구성
    1. - Ubuntu 18.04 서버에 Puppet Agent 설치
    2. - CentOS 7 서버에 Puppet Agent 설치

    1. - 터미널 셸을 사용하여 인증서 요청 서명\n
    2. - Foreman 대시보드를 사용하여 인증서 요청 서명\n

    1. - Nginx Puppet 모듈 다운로드
    2. - 퍼펫 모듈 활성화\n
    3. - 에이전트 호스트에 Puppet 모듈 추가\n
    4. - 적용 및 테스트

    Foreman 튜토리얼의 두 번째 부분입니다. 첫 번째 가이드에서는 이미 Ubuntu Server 18.04 LTS에서 Foreman의 설치 및 구성을 보여 드렸으며 이제 Foremen에 Puppet Agent를 추가하는 방법을 보여 드리겠습니다.

    전제 조건

    • 포먼 퍼핏 마스터\n
    • 루트 권한\n

    우리는 무엇을 할 것입니까?

    1. 호스트 설정\n
    2. Puppet Agent 설치 및 구성
    3. Foreman Puppet Master에 서명 인증서
    4. 테스트

    1단계 - 호스트 설정

    먼저 꼭두각시 에이전트 서버의 FQDN(Fully Qualified Domain Name)을 구성해야 합니다.

    아래의 hostnamectl 명령을 사용하여 서버의 호스트 이름을 변경하십시오.

    hostnamectl set-hostname client.hakase-labs.io

    그런 다음 /etc/hosts 파일을 편집합니다.

    vim /etc/hosts

    IP 주소와 FQDN을 자신의 것으로 변경하고 붙여넣습니다.

    10.9.9.20   server.hakase-labs.io   server
    10.9.9.21   client.hakase-labs.io   client

    저장하고 닫습니다.

    이제 다음 명령을 사용하여 호스트를 테스트하고 서버의 FQDN이 유효한 IP 주소로 확인되는지 확인하십시오.

    ping $(hostname -f) -c 3

    2단계 - Puppet Agent 설치 및 구성

    이 단계에서는 Ubuntu 18.04 및 CentOS 7 서버에 Puppet Agent 5를 설치하려고 했습니다. Puppet 리포지토리를 시스템에 추가한 다음 Ubuntu 및 CentOS 서버 모두에 puppet 에이전트 패키지를 설치하려고 합니다.

    - Ubuntu 18.04 서버에 Puppet Agent 설치

    패키지 저장소를 다운로드하고 시스템에 추가하십시오.

    cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
    sudo dpkg -i puppet5-release-bionic.deb

    그런 다음 우분투 리포지토리를 업데이트하고 다음 apt 명령을 사용하여 puppet 에이전트 패키지를 설치합니다.

    sudo apt update
    sudo apt install -y puppet-agent

    - CentOS 7 서버에 Puppet Agent 설치

    패키지 저장소를 다운로드하고 시스템에 추가하십시오.

    cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
    rpm -ivh puppet5-release-el-7.noarch.rpm

    그런 다음 다음 명령을 사용하여 puppet 에이전트 패키지를 설치합니다.

    sudo yum install -y puppet-agent

    설치가 완료되면 기본 꼭두각시 구성을 편집하고 에이전트 설정을 정의해야 합니다.

    /etc/puppetlabs/puppet 디렉토리로 이동하여 puppet.conf 구성 파일을 편집합니다.

    cd /etc/puppetlabs/puppet/
    vim puppet.conf

    서버 FQDN과 인증서 이름을 자신의 이름으로 변경하고 붙여넣습니다.

    [agent]
        server = server.hakase-labs.io
        certname = client.hakase-labs.io
        runinterval = 180
        environment = production
        listen = false
        pluginsync = true
        report = true

    저장 및 종료.

    그런 다음 다음 명령을 사용하여 꼭두각시 에이전트 서비스를 실행하십시오.

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

    또는 필요한 경우 서비스를 다시 시작하십시오.

    sudo systemctl restart puppet

    꼭두각시 에이전트는 Ubuntu 및 CentOS 서버 모두에서 실행 중입니다.

    3단계 - 꼭두각시 에이전트의 인증서 요청 서명

    꼭두각시 에이전트의 인증서 요청에 서명하기 위해 꼭두각시 마스터 서버(이 경우 포어맨 서버 자체)의 터미널 셸을 사용하거나 포먼 대시보드를 사용할 수 있습니다.

    - 터미널 셸을 사용하여 인증서 요청 서명

    꼭두각시 마스터 서버(이 가이드에서는 포어맨 서버)에 로그인하고 다음 명령을 사용하여 인증서 요청을 확인합니다.

    sudo /opt/puppetlabs/bin/puppetserver ca list

    이제 클라이언트 이름 인증서가 표시되고 아래 명령으로 서명합니다.

    sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io

    그리고 꼭두각시 에이전트 인증서가 터미널 서버를 통해 꼭두각시 마스터에 추가되었습니다.

    - Foreman 대시보드를 사용하여 인증서 요청에 서명

    왼쪽의 인프라 메뉴를 클릭한 다음 스마트 프록시를 선택합니다.

    이제 Foreman 서버의 드롭다운 버튼에서 인증서 옵션을 선택합니다.

    이제 보류 상태에서 요청하는 클라이언트 이름을 얻을 수 있습니다. 서명 버튼을 클릭하십시오.

    그런 다음 호스트 페이지로 이동하여 에이전트 호스트를 확인합니다.

    Hosts 메뉴에서 All Hosts를 클릭하고 아래와 같이 서버 목록에 꼭두각시 에이전트의 이름이 있는지 확인합니다.

    아래는 Ubuntu Puppet Agent에 대한 세부 정보입니다.

    4단계 - 테스트

    이 튜토리얼에서는 puppet 에이전트 호스트에 nginx 및 NTP 서비스를 배포하기 위해 puppet foreman 서버 및 puppet 에이전트를 테스트하려고 했습니다. 시작하기 전에 nginx 및 ntp puppet 모듈을 foreman 서버에 다운로드한 다음 이 모듈을 활성화하고 puppet 에이전트에 추가해야 합니다.

    - Nginx Puppet 모듈 다운로드

    puppet master foreman 서버에서 다음 명령을 실행하여 nginx puppet 모듈을 다운로드합니다.

    sudo /opt/puppetlabs/bin/puppet module install puppet/nginx

    - 꼭두각시 모듈 활성화

    그런 다음 포어맨 대시보드를 통해 nginx 모듈을 가져옵니다.

    왼쪽의 구성 메뉴를 클릭하고 퍼펫 클래스를 클릭합니다.

    server.hakase-labs.io에서 환경 가져오기 버튼을 클릭하고 사용 가능한 모듈 클래스를 선택한 다음 업데이트를 클릭합니다.

    이제 목록에 Nginx 모듈이 표시됩니다.

    - 에이전트 호스트에 꼭두각시 모듈 추가

    왼쪽의 호스트 메뉴를 클릭하고 모든 호스트를 클릭하여 사용 가능한 호스트 목록을 가져옵니다.

    이제 client.hakase-labs.io라는 에이전트 호스트에서 편집 버튼을 클릭합니다.

    Puppet Classes 탭으로 이동하여 nginx 및 ntp 모듈을 추가하고 Submit 버튼을 클릭합니다.

    Nginx 및 NTP 모듈이 에이전트 호스트에 추가되었습니다.

    추가:

    호스트에서 활성 클래스를 확인하려면 호스트에 대한 세부 정보에서 YAML 버튼을 클릭하면 YAML 구성의 원시 소스가 표시됩니다.

    - 적용 및 테스트

    변경 사항을 수동으로 적용하려면 puppet 에이전트 호스트에서 다음 명령을 실행할 수 있습니다.

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

    완료되면 아래와 같이 결과가 표시됩니다.

    그런 다음 나열된 포트를 확인하여 nginx 및 ntp 서비스를 확인하여 HTTP 및 NTP 포트가 nginx 및 ntp 서비스에서 사용되는지 확인합니다.

    netstat -plntu

    이제 에이전트 노드에서 nginx 웹 서버에 액세스할 수 있습니다.

    curl client.hakase-labs.io

    ntp 서버 구성을 확인하려면 다음 명령을 실행합니다.

    cat /etc/ntp.conf

    그러면 Puppet에서 관리하는 ntp 구성이 표시됩니다.

    연결

    • https://theforeman.org/manuals/