Ansible, Terraform, Puppet, and Chef Flashcards

1
Q

What is configuration drift?

A

When individual changes made over time cause a device’s configuration to deviate from the standard/correct configurations as defined by the company

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Explain why configuration drift can lead to issues

A

As problems occur, records of individual fixes and their config changes aren’t kept, therefore it becomes hard to know what parts of the config are necessary/meaningful and which aren’t

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is configuration provisioning?

A

How configuration changes are applied to devices. Includes configuring new devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the two essential components of configuration provisioning?

A
  1. Templates
  2. Variables
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ansible, Puppet, Chef, and Terraform are all examples of:

A

Configuration management tools

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Is Ansible agentless?

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does agentless mean?

A

No special software has to be run on managed devices for the config management tool to run properly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Does Ansible use a push or pull model of getting updates to managed devices?

A

Push model. The Ansible server (control node) uses SSH to connect to managed devices and push config changes to them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Does Puppet use a push or pull model of getting updates to managed devices?

A

Pull model. Managed devices connect to the Puppet sever to get updates from it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Does Chef use a push or pull model of getting updates to managed devices?

A

Pull model. Managed devices connect to the Chef server to get updates from it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are Ansible playbooks?

A

Files that are the “blueprints of automation tasks”. Outline the logic and actions of the tasks that Ansible should do. Written in YAML.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What language are Ansible playbooks written in?

A

YAML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is an Ansible inventory?

A

File that lists the devices that will be managed by Ansible, as well as the characteristics of each device. Written in INI, YAML, or other formats

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is an Ansible template?

A

File that represents the device’s configuration file, but without specific values for the configuration variables.

Written in Jinja2 templating lang

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is an Ansible variable file?

A

File that lists variables and their values. Values are substituted into the templates to create complete config files. Written in YAML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Is Puppet agentless or agent based?

A

Typically agent based. A proxy agent can be used, but at that point most people just use Ansible.

17
Q

What is a Puppet manifest file?

A

Defines the desired configuration state of a network device

18
Q

What is a Puppet template?

A

The same thing as an Ansible template. Used to generate Manifests

19
Q

Is Chef agentless or agent based?

A

Agent based. Most Cisco devices don’t support Chef agents

20
Q

What protocol and port does Puppet use for communicating between devices?

A

TCP 8140

21
Q

What protocol and port does Chef use for communicating between devices?

A

TCP 10002

22
Q

What language are Chef files written in?

A

A domain-specific lang based on Ruby

23
Q

What language are Puppet files written in?

A

Puppet proprietary lang

24
Q

What is a Chef resource file?

A

A file of configuration objects managed by chef

25
Q

What is a Chef recipe file?

A

A file that outlines the logic and actions of the tasks performed on the resources

26
Q

What is a Chef cookbook file?

A

A set of related recipe files grouped together

27
Q

What is a Chef run-list?

A

An ordered list of recipes that are run to bring a device to a desired config state

28
Q

What programming langauge is Ansible written in?

A

Python

29
Q

What programming language is Puppet written in?

A

Ruby

30
Q

What programming language is Chef written in?

A

Ruby

31
Q

How to both Puppet and Chef communicate?

A

HTTPS via their REST APIs

32
Q

How does Ansible communicate?

A

SSH

33
Q

Which of the following config management tools connects to devices using SSH?

a) Chef
b) Ansible
c) Puppet
d) None of the above

A

b) Ansible

34
Q

Which of the config management tools use a pull model (select all that apply)?

a) Chef
b) Ansible
c) Puppet
d) All of the above

A

a) Chef
c) Puppet

35
Q

Which of the following config management tools use a client-sever model?

a) Chef
b) Ansible
c) Puppet
d) All of the above

A

d) All of the above

36
Q

Which of the following config management tools are written in Ruby?

a) Chef
b) Ansible
c) Puppet
d) None of the above

A

a) Chef
c) Puppet

37
Q

Which of the following config management tools uses playbooks?

a) Chef
b) Ansible
c) Puppet
d) All of the above

A

b) Ansible

38
Q

Which of the following config management tools accepts inbound requests from agents by using HTTPS on TCP port 8140?

a) Ansible
b) Salt
c) Chef
d) Puppet

A

d) Puppet

39
Q

You are creating a Puppet DSL resource declaration for code that will ensure that members of a group named CoAdmins will be able to issue commands by using the sudo command. What would the code segment for accomplishing this look like?

A
sudo::conf { 'CoAdmins':
ensure => present,
content => '%admin ALL=(ALL) ALL',
}