Sunt destul de nou în devops/ci/cd, așa că suportați-mă.
În prezent, primesc o configurație de manifest pentru marionete configurată pentru verificarea imaginii docker. Lasă-mă să încerc să-l aranjez:
Am un server puppet master cu următoarea configurație:
- Versiunea Puppetmaster: 5.5.10-4ubuntu3
- Ambele servere sunt Linux 20.04
- Toate găzduite pe AWS
/etc/puppet/code/environments/production/manifests/site.pp
nod implicit {
include „docker”
docker::image { 'jorgemauriciodev/ubuntu-dockerfile-dev-v1': }
}
De fiecare dată când încerc o nouă comandă de verificare în .pp, repornesc serverul puppet master cu următoarea comandă:
sudo systemctl restart puppet-master
Am instalat un modul numit garethr-docker pe ambele servere – agentul și masterul.
Pe serverul slave / agent, am această imagine de docker de imagine prezentă și rulând:
jorgemauriciodev/ubuntu-dockerfile-dev-v1
Pentru primul pas, vreau doar să verific dacă imaginea există pe serverul meu slave. Mai târziu, îmi voi da seama pentru a mă asigura că rulează sau este construit cu Dockerfile.
Pe serverul slave/agent, rulez:
sudo puppet agent âtest
Și primesc următorul mesaj de eroare:
Eroare: Nu s-a putut prelua catalogul de pe serverul la distanță: Eroare 500 pe SERVER: Eroare server: Eroare de evaluare: Eroare la evaluarea unui apel de funcție, Nu s-a putut găsi clasa ::docker pentru ip-123-123-123-123-123.us-east- 2.compute.internal (fișier: /etc/puppet/code/environments/production/manifests/site.pp, linia: 2, coloana: 5) pe nodul ip-123-123-123-123.us-east-2 .calcula.intern
Avertisment: Nu se utilizează memoria cache în catalogul eșuat
Eroare: nu s-a putut prelua catalogul; sărind alergarea
Are cineva idee despre ce greșesc cu fișierul manifest al marionetei?
Editare 1:
Am făcut câteva modificări care mi-au fost sugerate. Acum, fișierul meu are un nume diferit și a schimbat conținutul:
/etc/puppet/code/environments/production/manifests/init.pp
include „docker”
clasa { 'docker':
versiune => 'cel mai recent',
}
docker::image { 'jorgemauriciodev/ubuntu-dockerfile-dev-v1': }
Tot îmi returnează același mesaj de eroare.
Iată mesajul complet:
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:315: avertisment: obiectul depreciat#=~ este apelat pe Puppet::Transaction::Report; se întoarce întotdeauna zero
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:315: avertisment: obiectul depreciat#=~ este apelat pe Puppet::Transaction::Report; se întoarce întotdeauna zero
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
Informații: Utilizarea mediului configurat „producție”
Informații: Preluare pluginfacts
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:315: avertisment: obiectul depreciat#=~ este apelat pe Puppet::Transaction::Report; se întoarce întotdeauna zero
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/indirector/request.rb:272: avertisment: URI.unescape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
Informații: Se preiau pluginul
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:315: avertisment: obiectul depreciat#=~ este apelat pe Puppet::Transaction::Report; se întoarce întotdeauna zero
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/indirector/request.rb:272: avertisment: URI.unescape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
Informații: Preluare localități
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:315: avertisment: obiectul depreciat#=~ este apelat pe Puppet::Transaction::Report; se întoarce întotdeauna zero
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/indirector/request.rb:272: avertisment: URI.unescape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
Eroare: Nu s-a putut prelua catalogul de pe serverul la distanță: Eroare 500 pe SERVER: Eroare server: Eroare de evaluare: Eroare la evaluarea unui apel de funcție, Nu s-a putut găsi clasa ::docker pentru ip-172-31-21-116.us-east- 2.compute.internal (fișier: /etc/puppet/code/environments/production/manifests/init.pp, linia: 1, coloana: 1) pe nodul ip-172-31-21-116.us-east-2 .calcula.intern
Avertisment: Nu se utilizează memoria cache în catalogul eșuat
Eroare: nu s-a putut prelua catalogul; sărind alergarea
/usr/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb:126: avertisment: $SAFE va deveni o variabilă globală normală în Ruby 3.0
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: avertisment: URI.escape este învechit
/usr/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb:126: avertisment: $SAFE va deveni o variabilă globală normală în Ruby 3.0
Editarea 2:
Am instalat alte module pe serverul master și serverul slave/agent cu această comandă:
sudo puppet module instalează puppetlabs-docker --versiunea 4.1.2
Și încă îmi returnează un mesaj de eroare, dar acum se pare că este unul diferit. Deci, probabil o problemă de sintaxă acum.
Iată partea importantă a mesajului.
Eroare: Nu s-a putut prelua catalogul de pe serverul de la distanță: Eroare 500 pe SERVER: Eroare server: Eroare de evaluare: Eroare la evaluarea unei declarații de resurse, Declarație duplicată: Clasa[Docker] este deja declarată; nu poate redeclara (fișier: /etc/puppet/code/environments/production/manifests/init.pp, linia: 3) (fișier: /etc/puppet/code/environments/production/manifests/init.pp, linia: 3, coloană: 1) pe nodul ip-123-123-123-123.us-east-2.compute.internal
Avertisment: Nu se utilizează memoria cache în catalogul eșuat
Eroare: nu s-a putut prelua catalogul; sărind alergarea
Pe lângă acest mesaj, încă îmi returnează acele avertismente, dar lista este mult mai mare. Cu toate acestea, nu cred că este o preocupare în acest moment.