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
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Designing Powerful Visuals for Engaging Learning
tmiket
0
220
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Testing 201, or: Great Expectations
jmmastey
46
8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
280
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
80
Exploring anti-patterns in Rails
aemeredith
2
250
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Design in an AI World
tapps
0
140
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