Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Automating Docker Containers with Puppet
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kylo Ginsberg
October 13, 2014
0
51
Automating Docker Containers with Puppet
Automating Docker Containers with Puppet, 2014-10-13.
Kylo Ginsberg
October 13, 2014
Tweet
Share
More Decks by Kylo Ginsberg
See All by Kylo Ginsberg
Under the Hood - C++ at Puppet Labs
kylog
0
330
Puppet Client: Puppet 4 and Beyond
kylog
0
43
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.9k
Balancing Empowerment & Direction
lara
5
870
Six Lessons from altMBA
skipperchong
29
4.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Statistics for Hackers
jakevdp
799
230k
The Curious Case for Waylosing
cassininazir
0
230
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
The Limits of Empathy - UXLibs8
cassininazir
1
210
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
240
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
88
Transcript
Automating Docker Containers with Puppet Kylo Ginsberg
[email protected]
@kylog irc:
kylo
Puppet?
So you can write: package { ‘ntp’:! ensure => installed,!
}! file { ‘/etc/ntp.conf’:! ensure => file,! source => ‘/root/example/ntp.conf’,! mode => ‘0444’,! }! service { ‘ntp’:! ensure => running,! }
Forge
Instead write include ‘::ntp' or customize: class { '::ntp':! servers
=> [ 'ntp1.corp.com', 'ntp2.corp.com' ],! }
Puppet System Configuration Declarative Language Resource Abstraction
Two ways to run code: puppet apply puppet agent
Docker and Puppet 1. Building containers! 2. Running containers! 3.
Running inside containers
Building: puppet apply FROM ubuntu:14.04 ! RUN apt-get -y update
RUN apt-get -y install ruby RUN gem install puppet RUN puppet module install puppetlabs/ntp RUN puppet apply -e 'include "::ntp"'
Building: puppet agent FROM ubuntu:14.04 ! RUN apt-get -y update
RUN apt-get -y install ruby RUN gem install puppet RUN puppet agent -t —server my_host
Building: puppet apply FROM jamtur01/puppetbase MAINTAINER James Turnbull "
[email protected]
" !
RUN apt-get -y -q install wget git-core ADD Puppetfile / RUN librarian-puppet install RUN puppet apply --modulepath=/modules -e "class { 'nginx': }" RUN echo "daemon off;" >> /etc/nginx/nginx.conf EXPOSE 80 CMD ["nginx"]
System?
Running docker with puppet docker::run { 'helloworld': image => 'ubuntu:precise',
command => '/bin/sh -c "while true; do echo hello world; sleep 1; done"', }
Puppet Agent on a Container?
Container == VM ?
Puppet Agent on a Container? Only if you’re treating it
as a VM
Container == PID? No syslogd, no sshd, no puppet agent
Container == PID?
Bye
Idempotence The state looked like this I ran the function
again The state looked like this