'Development/Infrastructure Troubleshooting'에 해당되는 글 2건

  1. [Puppet] How to remove node from master
  2. [Puppet] Could not request certificate: The certificate retrieved from the master does not match the agent's private key

Why ?

가끔 Puppet Master에서 sign 되어 있는 Puppet Agent Node를 삭제합니다. 그리고 우리는 Puppet cert 명령을 실행하여, Puppet Agent를 수동으로 등록합니다. 마스터 서버에서 Puppet 인증서 명령으로 호스트를 제거하는 방법에 대해 알아봅니다.

How ?

1. First list all the nodes which are register with master server

2. Once the host name is selected run puppet cert clean command as shown below.

3. Now check if the desired host is removed or not with list command.


    아래와 같이 해결합니다.

## Sign 되어 있는 Agent Node List를 확인합니다.
[root@puppetmaster : ~]# puppet cert list -a
+ "puppetagent.example.com" (SHA256) CE:AB:20:57:52:DD:DC:11:3A:A6:C0:45:F7:F8:80:F5:F7:5E:AA:6B:4C:CA:26:0A:36:54:26:52:40:EC:09:25

## cert clean 명령으로 삭제할 Agent를 선택합니다.
[root@puppetmaster : ~]# puppet cert clean puppetagent.example.com
Notice: Revoked certificate with serial 5
Notice: Removing file Puppet::SSL::Certificate puppetagent.example.com at '/var/lib/puppet/ssl/ca/signed/puppetagent.example.com.pem'
Notice: Removing file Puppet::SSL::Certificate puppetagent.example.com at '/var/lib/puppet/ssl/certs/puppetagent.example.com.pem'

## 정상적으로 삭제 되었는지 확인합니다.
[root@puppetmaster : ~]# puppet cert list --all

Why ?

Puppet은 Master와 Agent가 서로 SSL 통신을 하는데, 마스터에서 검색된 인증서가 에이전트의 Private key와 일치하지 않을 때 발생합니다.

How ?

Agent에 생성된 Private Key를 삭제하고 신규 생성해야 합니다.

1. Stop puppet and puppetmaster on client and master

2. Clean up /etc/puppetlabs/puppet/ssl/certs/ on client and master

3. Execute on your puppet agent

4. Check your name certificate and sign


    아래와 같이 해결합니다.

## remove the certificate from both the master and the agent and then start a puppet run
[root@puppetagent:~]#rm -rf /var/lib/puppet/ssl/certs/puppetmaster.example.com.pem  

## puppet ageent server restart
[root@puppetagent:~]#puppet agent --server puppetmaster.example.com --no-daemonize  --verbose

## back for your puppet master
[root@puppetmaster:~]#puppet cert --list

## check your name certificate and sign.
[root@puppetmaster:~]#puppet cert --sign puppetmaster.example.com