SlideShare a Scribd company logo
Chef Fundamentals
training@getchef.com
Copyright (C) 2014 Chef Software, Inc.
Nathen Harvey
• Community Director
• Co-host of the Food Fight Show Podcast
• @nathenharvey
Webinar Objectives and Style
3
Multi-week Webinar Series
• After completing of this webinar series you will be
able to
• Automate common infrastructure tasks with Chef
• Describe Chef’s architecture
• Describe Chef’s various tools
• Apply Chef’s primitives to solve your problems
How to learn Chef
• You bring the domain expertise about your business
and infrastructure
• Chef provides a framework for automating your
infrastructure
• Our job is to work together to teach you how to
model and automate your infrastructure with Chef
Chef is a Language
• Learning Chef is like learning the basics of a
language
• 80% fluency will be reached very quickly
• The remaining 20% just takes practice
• The best way to learn Chef is to use Chef
Questions & Answers
• Ask questions in the chat
window when they come to
you
• We’ll answer as many
questions as we can at the
end of the session
Questions & Answers
• Ask questions in the
Google Discussion Forum
• This can be used during
the webinar and outside
of the webinar, too.
• https://groups.google.com/d/
forum/learnchef-fundamentals-
webinar
Slides and Video
• This webinar is being recorded. The video will be
made available shortly after the session has ended.
• The slides used throughout this webinar will be
made available at the end of each webinar.
• Watch http://learnchef.com for updates.
Agenda
10
Topics
• Overview of Chef
• Workstation Setup
• Node Setup
• Chef Resources and Recipes
• Working with the Node object - Today
• Roles - Today
• Common configuration with Data Bags
• Environments
• Community Cookbooks and Further Resources
Quick Recap
Where are we?
12
In the last module
• Login to the node in your Chef Training Lab
• Install Chef nodes using "knife bootstrap"
• Build a web server configured to serve up our home
page.
13
Where did my Node go?
• We still need a CentOS machine to manage
• The one we launched last time has likely expired
• Launch a new one using the Chef Lab
14
Launch Chef Training Lab
15
$ ssh root@<EXTERNAL_ADDRESS>
Lab - Login
The authenticity of host 'uvo1qrwls0jdgs3blvt.vm.cld.sr
(69.195.232.110)' can't be established.
RSA key fingerprint is d9:95:a3:b9:02:27:e9:cd:
74:e4:a2:34:23:f5:a6:8b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'uvo1qrwls0jdgs3blvt.vm.cld.sr,
69.195.232.110' (RSA) to the list of known hosts.
chef@uvo1qrwls0jdgs3blvt.vm.cld.sr's password:
Last login: Mon Jan 6 16:26:24 2014 from
host86-145-117-53.range86-145.btcentralplus.com
[chef@CentOS63 ~]$
16
Checkpoint
• At this point you should have
• One virtual machine (VM) or server that you’ll use
for the lab exercises
• The IP address or public hostname
• An application for establishing an ssh connection
• 'sudo' or 'root' permissions on the VM
17
$ knife bootstrap <EXTERNAL_ADDRESS> -x root -P chef -N "module3" -r "recipe[apache]"
"Bootstrap" the Target Instance
Bootstrapping Chef on uvo1qrwls0jdgs3blvt.vm.cld.sr
...
...
uvo1qrwls0jdgs3blvt.vm.cld.sr Creating a new client identity for
module3 using the validator key.
uvo1qrwls0jdgs3blvt.vm.cld.sr resolving cookbooks for run list: []
uvo1qrwls0jdgs3blvt.vm.cld.sr Synchronizing Cookbooks:
uvo1qrwls0jdgs3blvt.vm.cld.sr Compiling Cookbooks...
uvo1qrwls0jdgs3blvt.vm.cld.sr [2014-01-28T11:03:14-05:00] WARN: Node
module3 has an empty run list.
uvo1qrwls0jdgs3blvt.vm.cld.sr Converging 0 resources
uvo1qrwls0jdgs3blvt.vm.cld.sr Chef Client finished, 0 resources updated
18
Exercise: Verify that the home page works
• Open a web browser
• Type in the the URL for your test node
19
Introducing the Node object
Attributes
20
Lesson Objectives
• After completing the lesson, you will be able to
• Explain what the node object represents in Chef
• Show details about a node
• Describe what node attributes are
• Retrieve a node attribute
21
What is the Node object
• A node is any physical, virtual, or cloud machines
that is configured to be maintained by a Chef
• The 'node object' is the representation of that
physical node within Chef (e.g. in JSON)
22
The Chef Node Object
• Nodes are the objects that you manage with Chef
• They have a few different properties
• attributes
• run_list
• chef_environment
Node
Node Data on the Chef Server
24
Workstation
Chef
Server
The Chef Node Object
• Chef Server stores node object data
• It becomes searchable through the API with knife
and with recipes
• Some of the data comes from ohai, which takes an
inventory of the system and emits JSON data
• You can add data to the node through attributes in
cookbooks, roles, directly on a node, etc
Node Attributes Syntax
• Node attributes are hashes (of hashes)
• Reference hash keys with square brackets and keys
as strings
•node["hostname"]
•node["kernel"]["machine"]
OPEN IN EDITOR:
SAVE FILE!
cookbooks/apache/templates/default/index.html.erb
<p>Hello, world!</p>
<p>My name is <%= node['hostname'] %></p>
Update the home page template
$ knife cookbook upload apache
Upload the cookbook
Uploading apache [0.1.0]
Uploaded 1 cookbook.
root@module3:~$ sudo chef-client
Run the chef-client on your test node
Starting Chef Client, version 11.10.4
resolving cookbooks for run list: ["apache"]
Synchronizing Cookbooks:
- apache
Compiling Cookbooks...
Converging 3 resources
Recipe: apache::default
* package[httpd] action install (up to date)
* service[httpd] action enable (up to date)
* service[httpd] action start (up to date)
* template[/var/www/html/index.html] action create
- update content in file /var/www/html/index.html from 17d291 to 77b6e3
--- /var/www/html/index.html 2014-02-21 08:18:54.710230641 -0500
+++ /tmp/chef-rendered-template20140221-4650-ykt042 2014-02-21 08:41:45.428088171 -0500
@@ -1,2 +1,3 @@
<h1>Hello, world!</h1>
+<p>My name is centos63</p>
Running handlers:
Running handlers complete
Chef Client finished, 1/4 resources updated in 8.151165056 seconds
Homepage
30
root@module3:~$ ohai
Run Ohai on the node
{
"languages": {
"ruby": {
},
"perl": {
"version": "5.14.2",
"archname": "x86_64-linux-gnu-thread-multi"
},
"python": {
"version": "2.7.3",
"builddate": "Aug 1 2012, 05:14:39"
}
},
<SNIP>
root@module3:~$ ohai hostname
Run Ohai on the node
[
"centos63"
]
$ knife node show module3
Show the node object
Node Name: module3
Environment: _default
FQDN: centos63.example.com
IP: 10.160.201.90
Run List: recipe[apache]
Roles:
Recipes: apache, apache::default
Platform: centos 6.4
Tags:
$ knife node show module3 -a hostname
Show specific node attribute
module3:
hostname: centos63
Setting Node Attributes
Setting attributes in recipes and attribute files
35
Lesson Objectives
• After completing the lesson, you will be able to
• Describe where and how attributes are set
• Declare an attribute with a recipe and set its value
36
What are Attributes?
• Attributes represent information from your node as well
as input variables in your cookbooks
• Attributes hold static node data (e.g. platform, memory
installed, disk space, etc)
• Allow you to abstract out data in from cookbooks (e.g.
directory paths, users, software version numbers)
• All attributes are set on the "node object", and are
indexed for search on the server
37
Attribute Sources
• Attributes can be set at various levels (in increasing
order of precedence)
• Automagically on the node itself (by Ohai)
• In roles
• In environments
• In cookbook recipes
• In cookbook attribute files
38
Ohai - set automatically
"languages": {
"ruby": {
},
"perl": {
"version": "5.14.2",
"archname": "x86_64-
linux-gnu-thread-multi"
},
"python": {
"version": "2.6.6",
"builddate": "Jul 10
2013, 22:48:45"
},
"perl": {
"version": "5.10.1",
"archname": "x86_64-
linux-thread-multi"
}
},
"network": {
"interfaces": {
"lo": {
"mtu": "16436",
"flags": [
"LOOPBACK", "UP","LOWER_UP"
],
"encapsulation": "Loopback",
"addresses": {
"127.0.0.1": {
"family": "inet",
"netmask": "255.0.0.0",
"scope": "Node"
},
"::1": {
"family": "inet6",
"scope": "Node"
}
},
},
"eth0": {
"type": "eth",
"number": "0",
"kernel": {
"name": "Linux",
"release": "3.2.0-32-virtual",
"version": "#1 SMP Wed Oct 16
18:37:12 UTC 2013",
"machine": "x86_64",
"modules": {
"isofs": {
"size": "70066",
"refcount": "2"
},
"des_generic": {
"size": "16604",
"refcount": "0"
}
},
"os": "GNU/Linux"
},
"os": "linux",
"os_version":
"2.6.32-358.23.2.el6.x86_64",
"ohai_time": 1389105685.7735305,
39
Setting attributes in attribute files
• Attributes can be set in the cookbook's attributes file
• ./cookbooks/<cookbook>/attributes/default.rb
• Format is
• We'll look at precedence later....
precedence attribute name attribute value
default['apache']['dir'] = "/etc/apache2"
40
OPEN IN EDITOR:
SAVE FILE!
cookbooks/apache/attributes/default.rb
default["apache"]["greeting"] = "World"
Create an attributes file
OPEN IN EDITOR:
SAVE FILE!
cookbooks/apache/templates/default/index.html.erb
<h1>Hello, <%= node['apache']['greeting'] %>!</h1>
<p>My name is <%= node['hostname'] %></p>
Update the home page template
$ knife cookbook upload apache
Upload the cookbook
Uploading apache [0.1.0]
Uploaded 1 cookbook.
root@module3:~$ sudo chef-client
Run the chef-client on your test node
Starting Chef Client, version 11.10.4
resolving cookbooks for run list: ["apache"]
Synchronizing Cookbooks:
- apache
Compiling Cookbooks...
Converging 3 resources
Recipe: apache::default
* package[httpd] action install (up to date)
* service[httpd] action enable (up to date)
* service[httpd] action start (up to date)
* template[/var/www/html/index.html] action create
- update content in file /var/www/html/index.html from 77b6e3 to 455d5b
--- /var/www/html/index.html 2014-02-21 08:41:45.428088171 -0500
+++ /tmp/chef-rendered-template20140221-4957-1j4w9sg 2014-02-21 08:47:51.921529076 -0500
@@ -1,3 +1,3 @@
-<h1>Hello, world!</h1>
+<h1>Hello, World!</h1>
<p>My name is centos63</p>
Checkpoint
• We have a node attribute
• node["apache"]["greeting"]
• We've updated the index.html template to use this
attribute.
• This will be used again soon!
Exercise: Verify new homepage works
• Open a web browser
• The homepage takes the attribute file value
46
Roles
Role-based Attributes and Merge Order Precedence
47
Lesson Objectives
• After completing the lesson, you will be able to
• Explain what Roles are, and how they are used to
provide clarity
• Discuss the Role JSON DSL
• Explain how merge order affects the precedence
hierarchy
48
What is a Role?
• So far, we’ve been just adding our recipe directly to a
single node
• But that’s not how your infrastructure works - think
about how you refer to servers
• "It’s a web server"
• "It’s a database server"
• "It’s a monitoring server"
49
What is a Role?
• Roles allow you to conveniently encapsulate the run
lists and attributes required for a server to "be" what
you already think it is
• In practice, Roles make it easy to configure many
nodes identically without repeating yourself each
time
50
OPEN IN EDITOR:
SAVE FILE!
roles/webserver.json
{
"name" : "webserver",
"default_attributes" : {
"apache" : {
"greeting" : "Webinar"
}
},
"run_list" : [
"recipe[apache]"
]
}
Create a webserver role
Components of a role
• Roles must have a name
• Roles may have a description
• Roles may have a run_list, just like a node
• Roles may set node attributes
• default_attributes
• override_attributes
http://docs.opscode.com/essentials_roles.html
Exercise: Create the role
Updated Role webserver!
53
$ knife role from file webserver.json
Exercise: Create the role
Updated Role webserver!
53
$ knife node run list remove module3 "recipe[apache]"
Remove the apache recipe
module3:
run_list:
$ knife node run list add module3 "role[webserver]"
Add the webserver role
module3:
run_list: role[webserver]
Attributes can be set multiple places
• This is for flexibility
• Set a "sane default" that will be used in a cookbook
• Override it easily in a role (higher priority)
• There are many places where attributes come from
• In practice, you'll use 2-3 most of the time.
• The others are there when you need them.
Checkpoint
• We now have a webserver role.
• We could apply just this role on more nodes to scale
out our Virtual Hosting service.
• Roles are a great way to assign attributes for
specific purposes
root@module3:~$ sudo chef-client
Run chef-client
* template[/srv/apache/bears/index.html] action create
- update content in file /srv/apache/bears/index.html from d8f475 to 60fcf9
--- /srv/apache/bears/index.html 2014-02-21 09:20:53.870834436 -0500
+++ /tmp/chef-rendered-template20140221-6541-m57zkc 2014-02-21 09:28:53.857331666 -0500
@@ -1,4 +1,4 @@
-<h1>Hello, World!</h1>
+<h1>Hello, SCaLE12x!</h1>
<p>My name is centos63</p>
<p>We love bears</p>
<p>Served from 10.160.201.90:80</p>
* template[/etc/httpd/conf.d/clowns.conf] action create (up to date)
* directory[/srv/apache/clowns] action create (up to date)
* template[/srv/apache/clowns/index.html] action create
- update content in file /srv/apache/clowns/index.html from 828461 to d9b384
--- /srv/apache/clowns/index.html 2014-02-21 09:20:53.883834816 -0500
Homepage
59
Chef Fundamentals
Webinar Series
Six Week Series
• Module 1 - Overview of Chef
• Module 2 - Node Setup, Chef Resources & Recipes
• Today - Working with the Node object & Roles
• June 10 - Common configuration data with Databags
• June 17 - Environments
• June 24 - Community Cookbooks and Further Resources
• * Topics subject to change, schedule unlikely to change
Sign-up for Webinar
• http://pages.getchef.com/
cheffundamentalsseries.html
Additional Resources
• Chef Fundamentals Webinar Series
• https://www.youtube.com/watch?
v=S5lHUpzoCYo&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbum
Z
• Discussion group for webinar participants
• https://groups.google.com/d/forum/learnchef-fundamentals-webinar
63
Additional Resources
• Learn Chef
• http://learnchef.com
• Documentation
• http://docs.opscode.com
64

More Related Content

What's hot

Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Software, Inc.
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen Summit
Jennifer Davis
 
Introduction to Chef - April 22 2015
Introduction to Chef - April 22 2015Introduction to Chef - April 22 2015
Introduction to Chef - April 22 2015
Jennifer Davis
 
Automating Infrastructure with Chef
Automating Infrastructure with ChefAutomating Infrastructure with Chef
Automating Infrastructure with Chef
Jennifer Davis
 
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Software, Inc.
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
Knoldus Inc.
 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Josh Padnick
 
Chef-Zero & Local Mode
Chef-Zero & Local ModeChef-Zero & Local Mode
Chef-Zero & Local Mode
Michael Goetz
 
Chef fundamentals
Chef fundamentalsChef fundamentals
Chef fundamentals
Ygor Nascimento
 
Compliance Automation Workshop
Compliance Automation WorkshopCompliance Automation Workshop
Compliance Automation Workshop
Chef
 
Chef introduction
Chef introductionChef introduction
Chef introduction
FENG Zhichao
 
Chef, Devops, and You
Chef, Devops, and YouChef, Devops, and You
Chef, Devops, and You
Bryan Berry
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
Chef
 
The unintended benefits of Chef
The unintended benefits of ChefThe unintended benefits of Chef
The unintended benefits of Chef
Chef Software, Inc.
 
Automating your infrastructure with Chef
Automating your infrastructure with ChefAutomating your infrastructure with Chef
Automating your infrastructure with Chef
John Ewart
 
Introduction to chef
Introduction to chefIntroduction to chef
Introduction to chef
Damith Kothalawala
 
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesChef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS Newbies
Mamun Rashid, CCDH
 
Orchestration with Chef
Orchestration with ChefOrchestration with Chef
Orchestration with Chef
Mayank Gaikwad
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshop
jtimberman
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Edureka!
 

What's hot (20)

Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen Summit
 
Introduction to Chef - April 22 2015
Introduction to Chef - April 22 2015Introduction to Chef - April 22 2015
Introduction to Chef - April 22 2015
 
Automating Infrastructure with Chef
Automating Infrastructure with ChefAutomating Infrastructure with Chef
Automating Infrastructure with Chef
 
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
 
Chef-Zero & Local Mode
Chef-Zero & Local ModeChef-Zero & Local Mode
Chef-Zero & Local Mode
 
Chef fundamentals
Chef fundamentalsChef fundamentals
Chef fundamentals
 
Compliance Automation Workshop
Compliance Automation WorkshopCompliance Automation Workshop
Compliance Automation Workshop
 
Chef introduction
Chef introductionChef introduction
Chef introduction
 
Chef, Devops, and You
Chef, Devops, and YouChef, Devops, and You
Chef, Devops, and You
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
 
The unintended benefits of Chef
The unintended benefits of ChefThe unintended benefits of Chef
The unintended benefits of Chef
 
Automating your infrastructure with Chef
Automating your infrastructure with ChefAutomating your infrastructure with Chef
Automating your infrastructure with Chef
 
Introduction to chef
Introduction to chefIntroduction to chef
Introduction to chef
 
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesChef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS Newbies
 
Orchestration with Chef
Orchestration with ChefOrchestration with Chef
Orchestration with Chef
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshop
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 

Viewers also liked

Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
Sanjeev Sharma
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
Adam Jacob
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Sonatype
 
Chef for beginners module 2
Chef for beginners   module 2Chef for beginners   module 2
Chef for beginners module 2
Chef
 
AWS Developer Fundamentals
AWS Developer FundamentalsAWS Developer Fundamentals
AWS Developer Fundamentals
Josh Padnick
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Josh Padnick
 
Choosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in ProdChoosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in Prod
Josh Padnick
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN World
Cisco DevNet
 
DevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyDevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than Technology
CA Technologies
 
Accenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of businessAccenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of business
Accenture Technology
 

Viewers also liked (10)

Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
Chef for beginners module 2
Chef for beginners   module 2Chef for beginners   module 2
Chef for beginners module 2
 
AWS Developer Fundamentals
AWS Developer FundamentalsAWS Developer Fundamentals
AWS Developer Fundamentals
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
 
Choosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in ProdChoosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in Prod
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN World
 
DevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyDevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than Technology
 
Accenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of businessAccenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of business
 

Similar to Node object and roles - Fundamentals Webinar Series Part 3

Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
Chef Software, Inc.
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Nathen Harvey
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
All Things Open
 
Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and Docker
Mandi Walls
 
Chef + AWS + CodeIgniter
Chef + AWS + CodeIgniterChef + AWS + CodeIgniter
Chef + AWS + CodeIgniterciconf
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chefLeanDog
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
Johannes H. P. Skov Frandsen
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
kevsmith
 
Open Source Recipes for Chef Deployments of Hadoop
Open Source Recipes for Chef Deployments of HadoopOpen Source Recipes for Chef Deployments of Hadoop
Open Source Recipes for Chef Deployments of HadoopDataWorks Summit
 
Chef at WebMD
Chef at WebMDChef at WebMD
Chef at WebMD
adamleff
 
Chef - Infrastructure Automation for the Masses
Chef - Infrastructure Automation for the Masses�Chef - Infrastructure Automation for the Masses�
Chef - Infrastructure Automation for the Masses
Sai Perchard
 
SCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStackSCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStack
Matt Ray
 
Introduction to chef framework
Introduction to chef frameworkIntroduction to chef framework
Introduction to chef framework
morgoth
 
Intro to CakePHP
Intro to CakePHPIntro to CakePHP
Intro to CakePHP
Walther Lalk
 
EC2 AMI Factory with Chef, Berkshelf, and Packer
EC2 AMI Factory with Chef, Berkshelf, and PackerEC2 AMI Factory with Chef, Berkshelf, and Packer
EC2 AMI Factory with Chef, Berkshelf, and Packer
George Miranda
 
Automate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & ChefAutomate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & Chef Michael Lihs
 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for OpenstackMohit Sethi
 
Atmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil DibowitzAtmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil Dibowitz
PROIDEA
 
Configuration management with Chef
Configuration management with ChefConfiguration management with Chef
Configuration management with Chef
Juan Vicente Herrera Ruiz de Alejo
 

Similar to Node object and roles - Fundamentals Webinar Series Part 3 (20)

Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and Docker
 
Chef + AWS + CodeIgniter
Chef + AWS + CodeIgniterChef + AWS + CodeIgniter
Chef + AWS + CodeIgniter
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chef
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Open Source Recipes for Chef Deployments of Hadoop
Open Source Recipes for Chef Deployments of HadoopOpen Source Recipes for Chef Deployments of Hadoop
Open Source Recipes for Chef Deployments of Hadoop
 
Chef at WebMD
Chef at WebMDChef at WebMD
Chef at WebMD
 
Chef - Infrastructure Automation for the Masses
Chef - Infrastructure Automation for the Masses�Chef - Infrastructure Automation for the Masses�
Chef - Infrastructure Automation for the Masses
 
SCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStackSCALE12X: Chef for OpenStack
SCALE12X: Chef for OpenStack
 
Introduction to chef framework
Introduction to chef frameworkIntroduction to chef framework
Introduction to chef framework
 
Intro to CakePHP
Intro to CakePHPIntro to CakePHP
Intro to CakePHP
 
Chef for openstack
Chef for openstackChef for openstack
Chef for openstack
 
EC2 AMI Factory with Chef, Berkshelf, and Packer
EC2 AMI Factory with Chef, Berkshelf, and PackerEC2 AMI Factory with Chef, Berkshelf, and Packer
EC2 AMI Factory with Chef, Berkshelf, and Packer
 
Automate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & ChefAutomate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & Chef
 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for Openstack
 
Atmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil DibowitzAtmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil Dibowitz
 
Configuration management with Chef
Configuration management with ChefConfiguration management with Chef
Configuration management with Chef
 

More from Chef

Habitat Managed Chef
Habitat Managed ChefHabitat Managed Chef
Habitat Managed Chef
Chef
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
Chef
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
Chef
 
London Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef ComplianceLondon Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef Compliance
Chef
 
Learning from Configuration Management
Learning from Configuration Management Learning from Configuration Management
Learning from Configuration Management
Chef
 
London Community Summit 2016 - Fresh New Chef Stuff
London Community Summit 2016 - Fresh New Chef StuffLondon Community Summit 2016 - Fresh New Chef Stuff
London Community Summit 2016 - Fresh New Chef Stuff
Chef
 
London Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBetLondon Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBet
Chef
 
London Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to AuthorshipLondon Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to Authorship
Chef
 
London Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef AutomateLondon Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef Automate
Chef
 
London Community Summit 2016 - Community Update
London Community Summit 2016 - Community UpdateLondon Community Summit 2016 - Community Update
London Community Summit 2016 - Community Update
Chef
 
London Community Summit 2016 - Habitat
London Community Summit 2016 -  HabitatLondon Community Summit 2016 -  Habitat
London Community Summit 2016 - Habitat
Chef
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4
Chef
 
Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3
Chef
 
Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2
Chef
 
Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1
Chef
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with Habitat
Chef
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
Chef
 
Nike pop up habitat
Nike pop up   habitatNike pop up   habitat
Nike pop up habitat
Chef
 
Nike popup compliance workshop
Nike popup compliance workshopNike popup compliance workshop
Nike popup compliance workshop
Chef
 
Chef Automate Workflow Demo
Chef Automate Workflow DemoChef Automate Workflow Demo
Chef Automate Workflow Demo
Chef
 

More from Chef (20)

Habitat Managed Chef
Habitat Managed ChefHabitat Managed Chef
Habitat Managed Chef
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
 
London Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef ComplianceLondon Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef Compliance
 
Learning from Configuration Management
Learning from Configuration Management Learning from Configuration Management
Learning from Configuration Management
 
London Community Summit 2016 - Fresh New Chef Stuff
London Community Summit 2016 - Fresh New Chef StuffLondon Community Summit 2016 - Fresh New Chef Stuff
London Community Summit 2016 - Fresh New Chef Stuff
 
London Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBetLondon Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBet
 
London Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to AuthorshipLondon Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to Authorship
 
London Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef AutomateLondon Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef Automate
 
London Community Summit 2016 - Community Update
London Community Summit 2016 - Community UpdateLondon Community Summit 2016 - Community Update
London Community Summit 2016 - Community Update
 
London Community Summit 2016 - Habitat
London Community Summit 2016 -  HabitatLondon Community Summit 2016 -  Habitat
London Community Summit 2016 - Habitat
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4
 
Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3
 
Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2
 
Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with Habitat
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
Nike pop up habitat
Nike pop up   habitatNike pop up   habitat
Nike pop up habitat
 
Nike popup compliance workshop
Nike popup compliance workshopNike popup compliance workshop
Nike popup compliance workshop
 
Chef Automate Workflow Demo
Chef Automate Workflow DemoChef Automate Workflow Demo
Chef Automate Workflow Demo
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 

Node object and roles - Fundamentals Webinar Series Part 3

  • 2. Nathen Harvey • Community Director • Co-host of the Food Fight Show Podcast • @nathenharvey
  • 4. Multi-week Webinar Series • After completing of this webinar series you will be able to • Automate common infrastructure tasks with Chef • Describe Chef’s architecture • Describe Chef’s various tools • Apply Chef’s primitives to solve your problems
  • 5. How to learn Chef • You bring the domain expertise about your business and infrastructure • Chef provides a framework for automating your infrastructure • Our job is to work together to teach you how to model and automate your infrastructure with Chef
  • 6. Chef is a Language • Learning Chef is like learning the basics of a language • 80% fluency will be reached very quickly • The remaining 20% just takes practice • The best way to learn Chef is to use Chef
  • 7. Questions & Answers • Ask questions in the chat window when they come to you • We’ll answer as many questions as we can at the end of the session
  • 8. Questions & Answers • Ask questions in the Google Discussion Forum • This can be used during the webinar and outside of the webinar, too. • https://groups.google.com/d/ forum/learnchef-fundamentals- webinar
  • 9. Slides and Video • This webinar is being recorded. The video will be made available shortly after the session has ended. • The slides used throughout this webinar will be made available at the end of each webinar. • Watch http://learnchef.com for updates.
  • 11. Topics • Overview of Chef • Workstation Setup • Node Setup • Chef Resources and Recipes • Working with the Node object - Today • Roles - Today • Common configuration with Data Bags • Environments • Community Cookbooks and Further Resources
  • 13. In the last module • Login to the node in your Chef Training Lab • Install Chef nodes using "knife bootstrap" • Build a web server configured to serve up our home page. 13
  • 14. Where did my Node go? • We still need a CentOS machine to manage • The one we launched last time has likely expired • Launch a new one using the Chef Lab 14
  • 16. $ ssh root@<EXTERNAL_ADDRESS> Lab - Login The authenticity of host 'uvo1qrwls0jdgs3blvt.vm.cld.sr (69.195.232.110)' can't be established. RSA key fingerprint is d9:95:a3:b9:02:27:e9:cd: 74:e4:a2:34:23:f5:a6:8b. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'uvo1qrwls0jdgs3blvt.vm.cld.sr, 69.195.232.110' (RSA) to the list of known hosts. chef@uvo1qrwls0jdgs3blvt.vm.cld.sr's password: Last login: Mon Jan 6 16:26:24 2014 from host86-145-117-53.range86-145.btcentralplus.com [chef@CentOS63 ~]$ 16
  • 17. Checkpoint • At this point you should have • One virtual machine (VM) or server that you’ll use for the lab exercises • The IP address or public hostname • An application for establishing an ssh connection • 'sudo' or 'root' permissions on the VM 17
  • 18. $ knife bootstrap <EXTERNAL_ADDRESS> -x root -P chef -N "module3" -r "recipe[apache]" "Bootstrap" the Target Instance Bootstrapping Chef on uvo1qrwls0jdgs3blvt.vm.cld.sr ... ... uvo1qrwls0jdgs3blvt.vm.cld.sr Creating a new client identity for module3 using the validator key. uvo1qrwls0jdgs3blvt.vm.cld.sr resolving cookbooks for run list: [] uvo1qrwls0jdgs3blvt.vm.cld.sr Synchronizing Cookbooks: uvo1qrwls0jdgs3blvt.vm.cld.sr Compiling Cookbooks... uvo1qrwls0jdgs3blvt.vm.cld.sr [2014-01-28T11:03:14-05:00] WARN: Node module3 has an empty run list. uvo1qrwls0jdgs3blvt.vm.cld.sr Converging 0 resources uvo1qrwls0jdgs3blvt.vm.cld.sr Chef Client finished, 0 resources updated 18
  • 19. Exercise: Verify that the home page works • Open a web browser • Type in the the URL for your test node 19
  • 20. Introducing the Node object Attributes 20
  • 21. Lesson Objectives • After completing the lesson, you will be able to • Explain what the node object represents in Chef • Show details about a node • Describe what node attributes are • Retrieve a node attribute 21
  • 22. What is the Node object • A node is any physical, virtual, or cloud machines that is configured to be maintained by a Chef • The 'node object' is the representation of that physical node within Chef (e.g. in JSON) 22
  • 23. The Chef Node Object • Nodes are the objects that you manage with Chef • They have a few different properties • attributes • run_list • chef_environment
  • 24. Node Node Data on the Chef Server 24 Workstation Chef Server
  • 25. The Chef Node Object • Chef Server stores node object data • It becomes searchable through the API with knife and with recipes • Some of the data comes from ohai, which takes an inventory of the system and emits JSON data • You can add data to the node through attributes in cookbooks, roles, directly on a node, etc
  • 26. Node Attributes Syntax • Node attributes are hashes (of hashes) • Reference hash keys with square brackets and keys as strings •node["hostname"] •node["kernel"]["machine"]
  • 27. OPEN IN EDITOR: SAVE FILE! cookbooks/apache/templates/default/index.html.erb <p>Hello, world!</p> <p>My name is <%= node['hostname'] %></p> Update the home page template
  • 28. $ knife cookbook upload apache Upload the cookbook Uploading apache [0.1.0] Uploaded 1 cookbook.
  • 29. root@module3:~$ sudo chef-client Run the chef-client on your test node Starting Chef Client, version 11.10.4 resolving cookbooks for run list: ["apache"] Synchronizing Cookbooks: - apache Compiling Cookbooks... Converging 3 resources Recipe: apache::default * package[httpd] action install (up to date) * service[httpd] action enable (up to date) * service[httpd] action start (up to date) * template[/var/www/html/index.html] action create - update content in file /var/www/html/index.html from 17d291 to 77b6e3 --- /var/www/html/index.html 2014-02-21 08:18:54.710230641 -0500 +++ /tmp/chef-rendered-template20140221-4650-ykt042 2014-02-21 08:41:45.428088171 -0500 @@ -1,2 +1,3 @@ <h1>Hello, world!</h1> +<p>My name is centos63</p> Running handlers: Running handlers complete Chef Client finished, 1/4 resources updated in 8.151165056 seconds
  • 31. root@module3:~$ ohai Run Ohai on the node { "languages": { "ruby": { }, "perl": { "version": "5.14.2", "archname": "x86_64-linux-gnu-thread-multi" }, "python": { "version": "2.7.3", "builddate": "Aug 1 2012, 05:14:39" } }, <SNIP>
  • 32. root@module3:~$ ohai hostname Run Ohai on the node [ "centos63" ]
  • 33. $ knife node show module3 Show the node object Node Name: module3 Environment: _default FQDN: centos63.example.com IP: 10.160.201.90 Run List: recipe[apache] Roles: Recipes: apache, apache::default Platform: centos 6.4 Tags:
  • 34. $ knife node show module3 -a hostname Show specific node attribute module3: hostname: centos63
  • 35. Setting Node Attributes Setting attributes in recipes and attribute files 35
  • 36. Lesson Objectives • After completing the lesson, you will be able to • Describe where and how attributes are set • Declare an attribute with a recipe and set its value 36
  • 37. What are Attributes? • Attributes represent information from your node as well as input variables in your cookbooks • Attributes hold static node data (e.g. platform, memory installed, disk space, etc) • Allow you to abstract out data in from cookbooks (e.g. directory paths, users, software version numbers) • All attributes are set on the "node object", and are indexed for search on the server 37
  • 38. Attribute Sources • Attributes can be set at various levels (in increasing order of precedence) • Automagically on the node itself (by Ohai) • In roles • In environments • In cookbook recipes • In cookbook attribute files 38
  • 39. Ohai - set automatically "languages": { "ruby": { }, "perl": { "version": "5.14.2", "archname": "x86_64- linux-gnu-thread-multi" }, "python": { "version": "2.6.6", "builddate": "Jul 10 2013, 22:48:45" }, "perl": { "version": "5.10.1", "archname": "x86_64- linux-thread-multi" } }, "network": { "interfaces": { "lo": { "mtu": "16436", "flags": [ "LOOPBACK", "UP","LOWER_UP" ], "encapsulation": "Loopback", "addresses": { "127.0.0.1": { "family": "inet", "netmask": "255.0.0.0", "scope": "Node" }, "::1": { "family": "inet6", "scope": "Node" } }, }, "eth0": { "type": "eth", "number": "0", "kernel": { "name": "Linux", "release": "3.2.0-32-virtual", "version": "#1 SMP Wed Oct 16 18:37:12 UTC 2013", "machine": "x86_64", "modules": { "isofs": { "size": "70066", "refcount": "2" }, "des_generic": { "size": "16604", "refcount": "0" } }, "os": "GNU/Linux" }, "os": "linux", "os_version": "2.6.32-358.23.2.el6.x86_64", "ohai_time": 1389105685.7735305, 39
  • 40. Setting attributes in attribute files • Attributes can be set in the cookbook's attributes file • ./cookbooks/<cookbook>/attributes/default.rb • Format is • We'll look at precedence later.... precedence attribute name attribute value default['apache']['dir'] = "/etc/apache2" 40
  • 41. OPEN IN EDITOR: SAVE FILE! cookbooks/apache/attributes/default.rb default["apache"]["greeting"] = "World" Create an attributes file
  • 42. OPEN IN EDITOR: SAVE FILE! cookbooks/apache/templates/default/index.html.erb <h1>Hello, <%= node['apache']['greeting'] %>!</h1> <p>My name is <%= node['hostname'] %></p> Update the home page template
  • 43. $ knife cookbook upload apache Upload the cookbook Uploading apache [0.1.0] Uploaded 1 cookbook.
  • 44. root@module3:~$ sudo chef-client Run the chef-client on your test node Starting Chef Client, version 11.10.4 resolving cookbooks for run list: ["apache"] Synchronizing Cookbooks: - apache Compiling Cookbooks... Converging 3 resources Recipe: apache::default * package[httpd] action install (up to date) * service[httpd] action enable (up to date) * service[httpd] action start (up to date) * template[/var/www/html/index.html] action create - update content in file /var/www/html/index.html from 77b6e3 to 455d5b --- /var/www/html/index.html 2014-02-21 08:41:45.428088171 -0500 +++ /tmp/chef-rendered-template20140221-4957-1j4w9sg 2014-02-21 08:47:51.921529076 -0500 @@ -1,3 +1,3 @@ -<h1>Hello, world!</h1> +<h1>Hello, World!</h1> <p>My name is centos63</p>
  • 45. Checkpoint • We have a node attribute • node["apache"]["greeting"] • We've updated the index.html template to use this attribute. • This will be used again soon!
  • 46. Exercise: Verify new homepage works • Open a web browser • The homepage takes the attribute file value 46
  • 47. Roles Role-based Attributes and Merge Order Precedence 47
  • 48. Lesson Objectives • After completing the lesson, you will be able to • Explain what Roles are, and how they are used to provide clarity • Discuss the Role JSON DSL • Explain how merge order affects the precedence hierarchy 48
  • 49. What is a Role? • So far, we’ve been just adding our recipe directly to a single node • But that’s not how your infrastructure works - think about how you refer to servers • "It’s a web server" • "It’s a database server" • "It’s a monitoring server" 49
  • 50. What is a Role? • Roles allow you to conveniently encapsulate the run lists and attributes required for a server to "be" what you already think it is • In practice, Roles make it easy to configure many nodes identically without repeating yourself each time 50
  • 51. OPEN IN EDITOR: SAVE FILE! roles/webserver.json { "name" : "webserver", "default_attributes" : { "apache" : { "greeting" : "Webinar" } }, "run_list" : [ "recipe[apache]" ] } Create a webserver role
  • 52. Components of a role • Roles must have a name • Roles may have a description • Roles may have a run_list, just like a node • Roles may set node attributes • default_attributes • override_attributes http://docs.opscode.com/essentials_roles.html
  • 53. Exercise: Create the role Updated Role webserver! 53
  • 54. $ knife role from file webserver.json Exercise: Create the role Updated Role webserver! 53
  • 55. $ knife node run list remove module3 "recipe[apache]" Remove the apache recipe module3: run_list:
  • 56. $ knife node run list add module3 "role[webserver]" Add the webserver role module3: run_list: role[webserver]
  • 57. Attributes can be set multiple places • This is for flexibility • Set a "sane default" that will be used in a cookbook • Override it easily in a role (higher priority) • There are many places where attributes come from • In practice, you'll use 2-3 most of the time. • The others are there when you need them.
  • 58. Checkpoint • We now have a webserver role. • We could apply just this role on more nodes to scale out our Virtual Hosting service. • Roles are a great way to assign attributes for specific purposes
  • 59. root@module3:~$ sudo chef-client Run chef-client * template[/srv/apache/bears/index.html] action create - update content in file /srv/apache/bears/index.html from d8f475 to 60fcf9 --- /srv/apache/bears/index.html 2014-02-21 09:20:53.870834436 -0500 +++ /tmp/chef-rendered-template20140221-6541-m57zkc 2014-02-21 09:28:53.857331666 -0500 @@ -1,4 +1,4 @@ -<h1>Hello, World!</h1> +<h1>Hello, SCaLE12x!</h1> <p>My name is centos63</p> <p>We love bears</p> <p>Served from 10.160.201.90:80</p> * template[/etc/httpd/conf.d/clowns.conf] action create (up to date) * directory[/srv/apache/clowns] action create (up to date) * template[/srv/apache/clowns/index.html] action create - update content in file /srv/apache/clowns/index.html from 828461 to d9b384 --- /srv/apache/clowns/index.html 2014-02-21 09:20:53.883834816 -0500
  • 62. Six Week Series • Module 1 - Overview of Chef • Module 2 - Node Setup, Chef Resources & Recipes • Today - Working with the Node object & Roles • June 10 - Common configuration data with Databags • June 17 - Environments • June 24 - Community Cookbooks and Further Resources • * Topics subject to change, schedule unlikely to change
  • 63. Sign-up for Webinar • http://pages.getchef.com/ cheffundamentalsseries.html
  • 64. Additional Resources • Chef Fundamentals Webinar Series • https://www.youtube.com/watch? v=S5lHUpzoCYo&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbum Z • Discussion group for webinar participants • https://groups.google.com/d/forum/learnchef-fundamentals-webinar 63
  • 65. Additional Resources • Learn Chef • http://learnchef.com • Documentation • http://docs.opscode.com 64