WEBVTT

1
00:00:00.040 --> 00:00:03.319
<v Speaker 1>Okay, So we're diving into this ansable Automation steady guide today.

2
00:00:03.680 --> 00:00:08.240
<v Speaker 2>Yeah, specifically geared towards the Red Hat Certified Engineer Exam.

3
00:00:08.080 --> 00:00:10.839
<v Speaker 1>The RCE exactly. This is going to be kind of

4
00:00:10.880 --> 00:00:14.320
<v Speaker 1>like your express lane, not just to passing the exam,

5
00:00:14.560 --> 00:00:19.519
<v Speaker 1>but to becoming a true answerable whiz. I like that.

6
00:00:19.679 --> 00:00:22.359
<v Speaker 1>I like that too. Answable whiz so ansable automation.

7
00:00:22.920 --> 00:00:25.640
<v Speaker 2>It's a it's an interesting way that they tackle automation.

8
00:00:25.839 --> 00:00:29.199
<v Speaker 2>So it's an open source tool, okay, which means anybody

9
00:00:29.280 --> 00:00:32.399
<v Speaker 2>can use it, anybody can contribute to it, and it

10
00:00:32.479 --> 00:00:34.799
<v Speaker 2>lets you manage a whole bunch of servers or network

11
00:00:34.840 --> 00:00:37.079
<v Speaker 2>devices from one central command point.

12
00:00:37.119 --> 00:00:40.560
<v Speaker 1>So that's pretty powerful, very powerful, that one central command point. Yeah,

13
00:00:40.560 --> 00:00:43.719
<v Speaker 1>I mean, are there any security risks to having all

14
00:00:43.759 --> 00:00:45.560
<v Speaker 1>your eggs in one basket like that? Oh?

15
00:00:45.600 --> 00:00:50.759
<v Speaker 2>That's a that's a great question. Yeah. While that central

16
00:00:50.759 --> 00:00:54.759
<v Speaker 2>control node does offer amazing control and efficiency, you also

17
00:00:54.840 --> 00:00:58.000
<v Speaker 2>have to think about redundancy. If that goes down, your

18
00:00:58.119 --> 00:01:01.799
<v Speaker 2>automation is is halted, at LEAs temporarily, right. So, in

19
00:01:01.799 --> 00:01:05.439
<v Speaker 2>production environments, it's very common to have a backup control

20
00:01:05.480 --> 00:01:08.640
<v Speaker 2>node or some kind of high availability setup but for

21
00:01:08.799 --> 00:01:13.079
<v Speaker 2>learning and practicing ansable, yeah, a single node is more

22
00:01:13.159 --> 00:01:13.680
<v Speaker 2>than enough.

23
00:01:14.439 --> 00:01:17.040
<v Speaker 1>So for our purposes in this deep dive, yeah, we're good.

24
00:01:17.079 --> 00:01:21.040
<v Speaker 1>We're good with one absolutely so ansable itself. Yeah, the

25
00:01:21.079 --> 00:01:24.959
<v Speaker 1>study guide focuses on using it with Redhead Enterprise Linux.

26
00:01:25.079 --> 00:01:27.239
<v Speaker 2>Yeah, this is this is very common.

27
00:01:27.519 --> 00:01:29.640
<v Speaker 1>But I'm guessing it's not limited to that.

28
00:01:29.879 --> 00:01:32.799
<v Speaker 2>You are absolutely right, Okay. Ansable is very versatile. It

29
00:01:32.840 --> 00:01:36.280
<v Speaker 2>can be used across a wide range of Linux distros

30
00:01:36.400 --> 00:01:38.120
<v Speaker 2>and even some other operating systems.

31
00:01:38.120 --> 00:01:39.680
<v Speaker 1>Oh wow, yeah, okay.

32
00:01:39.400 --> 00:01:41.359
<v Speaker 2>So for this deep dive, we're going to be using

33
00:01:41.400 --> 00:01:44.959
<v Speaker 2>Sentos eight okay, which is a freely available version of

34
00:01:45.000 --> 00:01:49.599
<v Speaker 2>red Hat Enterprise Linux. Okay, and Ubuntu eighteen point zero four,

35
00:01:50.040 --> 00:01:51.640
<v Speaker 2>just to show you how adaptable it is.

36
00:01:51.719 --> 00:01:54.640
<v Speaker 1>Perfect. Yeah, so before we unleash the magic, Okay, what

37
00:01:54.760 --> 00:01:57.599
<v Speaker 1>kind of setup do we need to get started with ansable?

38
00:01:57.799 --> 00:02:00.000
<v Speaker 2>So, before you can start automating, you need to say

39
00:02:00.159 --> 00:02:03.200
<v Speaker 2>up your ansible environment, and the core of this is

40
00:02:03.280 --> 00:02:06.840
<v Speaker 2>the ansible configuration file antsable dot cfg.

41
00:02:07.120 --> 00:02:07.439
<v Speaker 1>Gotcha.

42
00:02:07.680 --> 00:02:10.000
<v Speaker 2>This is where you can tweak all sorts of settings

43
00:02:10.000 --> 00:02:12.560
<v Speaker 2>to customize how ansable behaves.

44
00:02:12.759 --> 00:02:15.560
<v Speaker 1>Okay, yeah, so it's like fine tuning the engine before

45
00:02:15.599 --> 00:02:16.240
<v Speaker 1>a race.

46
00:02:16.159 --> 00:02:19.240
<v Speaker 2>Yeah, okay, and then you have the ansible inventory Okay.

47
00:02:19.280 --> 00:02:21.759
<v Speaker 2>This is essentially a list of all the systems that

48
00:02:21.800 --> 00:02:23.719
<v Speaker 2>you want to manage. You can think of it as

49
00:02:23.719 --> 00:02:25.280
<v Speaker 2>a map of your IT kingdom.

50
00:02:25.360 --> 00:02:29.280
<v Speaker 1>Okay, so it knows exactly what to manage, what it

51
00:02:29.319 --> 00:02:30.159
<v Speaker 1>has authority over.

52
00:02:30.360 --> 00:02:33.520
<v Speaker 2>Yeah. And there's a couple different ways to create this inventory.

53
00:02:33.680 --> 00:02:34.000
<v Speaker 1>Okay.

54
00:02:34.080 --> 00:02:37.639
<v Speaker 2>You can use a statting list, which is good for smaller,

55
00:02:37.759 --> 00:02:43.759
<v Speaker 2>unchanging environments, but for larger or more dynamic setups, okay,

56
00:02:43.840 --> 00:02:47.120
<v Speaker 2>you might want to explore dynamic inventory. And that's where

57
00:02:47.159 --> 00:02:51.319
<v Speaker 2>ansable actually discovers the hosts for you, cool using network

58
00:02:51.400 --> 00:02:53.120
<v Speaker 2>scanning okay techniques.

59
00:02:53.159 --> 00:02:56.319
<v Speaker 1>So for bigger dynamic setups where you have like servers

60
00:02:56.400 --> 00:02:57.759
<v Speaker 1>coming and going all the time.

61
00:02:57.719 --> 00:03:01.520
<v Speaker 2>Yes, very common in the cloud. And to kind of

62
00:03:01.599 --> 00:03:04.520
<v Speaker 2>keep track of all these servers, you can group servers

63
00:03:04.560 --> 00:03:07.800
<v Speaker 2>together in the inventory, so you might have a group

64
00:03:07.840 --> 00:03:11.560
<v Speaker 2>for web servers, a group for database servers, and so on.

65
00:03:12.000 --> 00:03:15.520
<v Speaker 2>And then to add another layer of customization, you can

66
00:03:15.599 --> 00:03:19.840
<v Speaker 2>use variables, and these allow you to define values that

67
00:03:19.919 --> 00:03:24.759
<v Speaker 2>can be used throughout your answable code, which makes your playbooks,

68
00:03:24.800 --> 00:03:27.159
<v Speaker 2>which we'll get to later, much more adaptable.

69
00:03:27.439 --> 00:03:30.560
<v Speaker 1>Oh, very cool. Yeah, okay, so we've got our control node,

70
00:03:31.000 --> 00:03:34.680
<v Speaker 1>we've got our inventory, our variables all set. How do

71
00:03:34.719 --> 00:03:37.680
<v Speaker 1>we actually start automating things with ansable.

72
00:03:37.800 --> 00:03:41.000
<v Speaker 2>There are two main ways to interact with antsable. You

73
00:03:41.039 --> 00:03:44.280
<v Speaker 2>can either use ad hoc commands or you can use playbooks.

74
00:03:44.360 --> 00:03:44.599
<v Speaker 1>Okay.

75
00:03:45.280 --> 00:03:48.159
<v Speaker 2>Ad hoc commands are kind of like quick one time

76
00:03:48.199 --> 00:03:51.400
<v Speaker 2>instructions that you give to antsable. They're great for simple

77
00:03:51.479 --> 00:03:55.240
<v Speaker 2>tasks or just testing the waters when you're first starting.

78
00:03:54.919 --> 00:03:57.599
<v Speaker 1>Out, so like a quick command line instruction exactly.

79
00:03:58.280 --> 00:04:01.039
<v Speaker 2>For example, you can use an ad hoc command to

80
00:04:01.080 --> 00:04:04.439
<v Speaker 2>see if ansable can even connect to your managed hosts,

81
00:04:04.919 --> 00:04:07.560
<v Speaker 2>and that's done using the ping module. Ping module, But

82
00:04:07.639 --> 00:04:11.280
<v Speaker 2>don't confuse this with the network ping command. It's not

83
00:04:11.319 --> 00:04:14.439
<v Speaker 2>the same thing. It's more of a hair you alive?

84
00:04:15.000 --> 00:04:17.600
<v Speaker 2>Are you listening to me? Check for your servers?

85
00:04:17.759 --> 00:04:18.240
<v Speaker 1>Makes sense?

86
00:04:19.160 --> 00:04:21.959
<v Speaker 2>You can also use it to manage user accounts, which

87
00:04:22.000 --> 00:04:25.360
<v Speaker 2>is a very common task for any sissigmin So you

88
00:04:25.399 --> 00:04:31.160
<v Speaker 2>can create users, set passwords, grant pseudo privileges, all with

89
00:04:31.399 --> 00:04:32.800
<v Speaker 2>just a single command.

90
00:04:33.000 --> 00:04:36.639
<v Speaker 1>That sounds much faster than having to log in, way

91
00:04:36.759 --> 00:04:38.519
<v Speaker 1>faster to each server individually.

92
00:04:38.639 --> 00:04:42.600
<v Speaker 2>Absolutely, and to make these commands even more powerful. Ansable

93
00:04:42.720 --> 00:04:46.279
<v Speaker 2>uses modules. You can think of modules as the building

94
00:04:46.279 --> 00:04:49.959
<v Speaker 2>blocks of ansable. Each module is designed to carry out

95
00:04:49.959 --> 00:04:54.360
<v Speaker 2>a specific task. So for managing users, you'd use the

96
00:04:54.519 --> 00:04:59.199
<v Speaker 2>user module. What copy files to multiple servers, You've got

97
00:04:59.199 --> 00:04:59.959
<v Speaker 2>the copy module.

98
00:05:00.560 --> 00:05:01.040
<v Speaker 1>Makes sense?

99
00:05:01.160 --> 00:05:06.680
<v Speaker 2>And for managing SSH keys, you've got the authorized key module. Okay,

100
00:05:06.759 --> 00:05:08.160
<v Speaker 2>and those are just to name a few.

101
00:05:08.519 --> 00:05:11.800
<v Speaker 1>I'm starting to see how these modules can be really useful. Yes,

102
00:05:12.079 --> 00:05:15.800
<v Speaker 1>and powerful, very much so. But it seems like these

103
00:05:15.839 --> 00:05:19.879
<v Speaker 1>ad hoc commands are only good for those one off tasks,

104
00:05:19.920 --> 00:05:21.560
<v Speaker 1>you got it? What if you want to automate a

105
00:05:21.560 --> 00:05:23.120
<v Speaker 1>whole series of actions.

106
00:05:22.720 --> 00:05:25.040
<v Speaker 2>That's where playbooks come in. Okay, that's when things get

107
00:05:25.120 --> 00:05:25.879
<v Speaker 2>really exciting.

108
00:05:26.079 --> 00:05:28.279
<v Speaker 1>All right, let's hear about these playbooks. Yeah, what makes

109
00:05:28.279 --> 00:05:29.199
<v Speaker 1>them so special? So?

110
00:05:29.279 --> 00:05:31.480
<v Speaker 2>Playbooks are like the heart and soul of antsable.

111
00:05:31.639 --> 00:05:31.920
<v Speaker 1>Okay.

112
00:05:32.000 --> 00:05:35.600
<v Speaker 2>They allow you to define a series of tasks that

113
00:05:35.959 --> 00:05:39.480
<v Speaker 2>ansable will execute in order, giving you a repeatable and

114
00:05:39.560 --> 00:05:45.000
<v Speaker 2>predictable way to automate complex workflows. Instead of typing individual commands,

115
00:05:45.279 --> 00:05:48.439
<v Speaker 2>you write a playbook once, right, and ansable does the rest.

116
00:05:48.639 --> 00:05:50.319
<v Speaker 1>So that can save a ton of time and effort.

117
00:05:50.399 --> 00:05:54.759
<v Speaker 1>Oh yeah, absolutely, What do these playbooks actually look like.

118
00:05:55.240 --> 00:05:59.519
<v Speaker 2>Okay. So playbooks are written in YAML yea yemol, which

119
00:05:59.560 --> 00:06:02.199
<v Speaker 2>stands for or yamel ain't markup language.

120
00:06:02.319 --> 00:06:03.000
<v Speaker 1>Okay.

121
00:06:03.079 --> 00:06:06.600
<v Speaker 2>It's a human readable data serialization language.

122
00:06:06.680 --> 00:06:06.959
<v Speaker 1>Okay.

123
00:06:07.079 --> 00:06:09.199
<v Speaker 2>So it's designed to be easy for both humans and

124
00:06:09.279 --> 00:06:10.480
<v Speaker 2>machines to understand.

125
00:06:11.040 --> 00:06:13.360
<v Speaker 1>Okay, So no need to be a coding guru to

126
00:06:13.399 --> 00:06:15.519
<v Speaker 1>work with these, not at all. That's good. Yeah.

127
00:06:15.959 --> 00:06:19.879
<v Speaker 2>YAMIL uses indentation and a simple structure to define the

128
00:06:20.000 --> 00:06:21.600
<v Speaker 2>tasks and their order.

129
00:06:21.720 --> 00:06:22.120
<v Speaker 1>Okay.

130
00:06:22.279 --> 00:06:25.360
<v Speaker 2>So your first playbook could be as simple as installing

131
00:06:25.360 --> 00:06:29.120
<v Speaker 2>a certain software package on a group of servers, and

132
00:06:29.160 --> 00:06:32.079
<v Speaker 2>you would define the servers, the package to install, and

133
00:06:32.199 --> 00:06:35.319
<v Speaker 2>any other necessary parameters, all in this YAMAL format.

134
00:06:35.519 --> 00:06:37.959
<v Speaker 1>And so I just define the steps and it goes

135
00:06:38.000 --> 00:06:40.279
<v Speaker 1>off you got it, and does them. That's the beauty

136
00:06:40.319 --> 00:06:42.079
<v Speaker 1>of it on all the servers that specify.

137
00:06:42.360 --> 00:06:45.720
<v Speaker 2>Okay. And to make your playbooks even smarter, ansable has

138
00:06:45.720 --> 00:06:48.319
<v Speaker 2>this neat feature called facts facts.

139
00:06:48.079 --> 00:06:50.600
<v Speaker 1>Facts like it's doing its own research. You got it, okay.

140
00:06:50.680 --> 00:06:54.560
<v Speaker 2>So Ansible facts are pieces of information about each managed

141
00:06:54.600 --> 00:06:59.560
<v Speaker 2>host that ansable gathers automatically, things like the operating system,

142
00:06:59.800 --> 00:07:01.920
<v Speaker 2>the amount of RAM, the IP address.

143
00:07:02.000 --> 00:07:05.319
<v Speaker 1>Oh cool, and so on, So it can actually make decisions.

144
00:07:04.839 --> 00:07:08.399
<v Speaker 2>Based on exactly Yeah. So you can create playbooks that

145
00:07:08.439 --> 00:07:12.759
<v Speaker 2>are adaptable, that can handle different server configurations without you

146
00:07:12.879 --> 00:07:14.720
<v Speaker 2>having to manually adjust them every time.

147
00:07:15.240 --> 00:07:19.639
<v Speaker 1>That's amazing. Okay, Yeah, this is getting really interesting, it is.

148
00:07:19.839 --> 00:07:22.319
<v Speaker 1>We're only scratching the surface here. Yeah, and I can

149
00:07:22.360 --> 00:07:24.959
<v Speaker 1>already see how powerful this is. Yeah, and we're just

150
00:07:24.959 --> 00:07:25.680
<v Speaker 1>getting started.

151
00:07:25.759 --> 00:07:29.000
<v Speaker 2>And believe me, we're just getting started. There's so much

152
00:07:29.040 --> 00:07:30.720
<v Speaker 2>more to explore with playbooks.

153
00:07:30.759 --> 00:07:33.800
<v Speaker 1>Well, let's dive deeper into this antsible world. Sounds good,

154
00:07:33.839 --> 00:07:35.839
<v Speaker 1>and move on to some of those more advanced topics.

155
00:07:36.040 --> 00:07:39.199
<v Speaker 2>Let's do it now. Let's shift gears a little bit, okay,

156
00:07:39.360 --> 00:07:44.600
<v Speaker 2>and talk about managing users like a pro. Okay, remember

157
00:07:44.639 --> 00:07:47.560
<v Speaker 2>those user modules that we talked about earlier with ad

158
00:07:47.560 --> 00:07:50.680
<v Speaker 2>hoc commands, Well, when you combine those with the power

159
00:07:50.759 --> 00:07:52.160
<v Speaker 2>of playbooks.

160
00:07:52.160 --> 00:07:55.839
<v Speaker 1>You unlock a whole new level of user management capabilities.

161
00:07:55.959 --> 00:07:59.279
<v Speaker 2>Okay, So what can you do with users and playbooks? Yeah,

162
00:07:59.279 --> 00:08:01.399
<v Speaker 2>that you can't do with the ad hoc commands.

163
00:08:02.360 --> 00:08:06.600
<v Speaker 1>So playbooks let you create these intricate workflows for managing users.

164
00:08:07.199 --> 00:08:13.240
<v Speaker 1>Think about creating, deleting, and modifying user accounts across dozens

165
00:08:13.319 --> 00:08:16.680
<v Speaker 1>or even hundreds of servers, all with a few lines

166
00:08:16.680 --> 00:08:17.439
<v Speaker 1>of Yamel code.

167
00:08:17.519 --> 00:08:20.240
<v Speaker 2>Yeah, that would be a huge time saver. Huge But

168
00:08:20.319 --> 00:08:23.199
<v Speaker 2>doesn't that mean writing the same code over and over?

169
00:08:23.480 --> 00:08:26.800
<v Speaker 1>No, not at all. Answable has this great feature called loops.

170
00:08:27.600 --> 00:08:30.879
<v Speaker 1>With loops, you can define a set of tasks to

171
00:08:30.959 --> 00:08:34.639
<v Speaker 1>be repeated multiple times, making your playbooks much more efficient

172
00:08:34.720 --> 00:08:35.799
<v Speaker 1>and a lot less repetitive.

173
00:08:36.000 --> 00:08:39.200
<v Speaker 2>So if I needed to create like ten new users exactly,

174
00:08:39.240 --> 00:08:41.120
<v Speaker 2>I wouldn't have to write it ten times exactly.

175
00:08:41.159 --> 00:08:43.960
<v Speaker 1>You would just use a loop to iterate through a

176
00:08:43.960 --> 00:08:47.080
<v Speaker 1>list of user names gotcha, and have answerble create each

177
00:08:47.120 --> 00:08:50.000
<v Speaker 1>account automatically. That's pretty cool. But what if you needed

178
00:08:50.000 --> 00:08:53.879
<v Speaker 1>to apply different rules for different users, like some users

179
00:08:53.919 --> 00:08:55.960
<v Speaker 1>need Zudo access some users don't.

180
00:08:56.080 --> 00:08:59.279
<v Speaker 2>Yeah, that's a great question. Yeah, that's where conditional statements

181
00:08:59.279 --> 00:09:04.080
<v Speaker 2>come in. Ansiple uses when statements in playbooks to add

182
00:09:04.120 --> 00:09:06.440
<v Speaker 2>logic and decision making to your automation.

183
00:09:07.000 --> 00:09:10.120
<v Speaker 1>So it's not just blindly executing, right, it can adapt.

184
00:09:10.320 --> 00:09:14.519
<v Speaker 2>Okay, So you can tell antsple, hey, only execute this

185
00:09:14.600 --> 00:09:18.000
<v Speaker 2>task if this condition is true. Okay, So in your example,

186
00:09:18.039 --> 00:09:20.639
<v Speaker 2>you could have a playbook that creates a user account

187
00:09:20.879 --> 00:09:24.840
<v Speaker 2>and then only grants pseudo privileges if the username is

188
00:09:24.879 --> 00:09:26.200
<v Speaker 2>in a specific list.

189
00:09:26.399 --> 00:09:28.600
<v Speaker 1>Okay. Cool, So it's a lot smarter than I initially thought.

190
00:09:28.799 --> 00:09:33.279
<v Speaker 1>Oh yeah, okay, smarter. What about handling sensitive information like

191
00:09:33.399 --> 00:09:34.279
<v Speaker 1>user passwords?

192
00:09:34.480 --> 00:09:38.279
<v Speaker 2>That's a great question. Yeah, security is paramount when dealing

193
00:09:38.320 --> 00:09:39.080
<v Speaker 2>with passwords.

194
00:09:39.559 --> 00:09:41.639
<v Speaker 1>I wouldn't want those just stored in plain text. No,

195
00:09:41.759 --> 00:09:43.360
<v Speaker 1>absolutely not in my playbooks.

196
00:09:43.440 --> 00:09:44.799
<v Speaker 2>That's where ansple vault comes in.

197
00:09:44.879 --> 00:09:47.600
<v Speaker 1>Okay, Ansible Vault. Ansible Vault so like a digital lock

198
00:09:47.639 --> 00:09:49.799
<v Speaker 1>box for my passwords exactly. Okay.

199
00:09:49.840 --> 00:09:53.879
<v Speaker 2>Ansple Vault uses strong encryption to protect variables and files,

200
00:09:54.399 --> 00:09:57.960
<v Speaker 2>so you can encrypt sensitive information like passwords, API keys,

201
00:09:58.600 --> 00:10:00.879
<v Speaker 2>or any other data that you don't want just sitting

202
00:10:00.919 --> 00:10:01.799
<v Speaker 2>out in plain text.

203
00:10:01.919 --> 00:10:02.200
<v Speaker 1>Okay.

204
00:10:02.480 --> 00:10:05.000
<v Speaker 2>And then when you run your playbooks, you provide the

205
00:10:05.039 --> 00:10:08.720
<v Speaker 2>vault password gosh, and ansable decrypts the data on the fly.

206
00:10:09.120 --> 00:10:12.440
<v Speaker 1>So even if someone got a hold of my playbook,

207
00:10:13.840 --> 00:10:15.159
<v Speaker 1>they wouldn't be able to get to those.

208
00:10:15.000 --> 00:10:17.200
<v Speaker 2>Passes exactly, they wouldn't be able to use it without

209
00:10:17.200 --> 00:10:18.799
<v Speaker 2>the vault password, without the vault past.

210
00:10:18.919 --> 00:10:22.840
<v Speaker 1>Okay, that definitely eases my security concerns. Speaking of real

211
00:10:22.879 --> 00:10:29.039
<v Speaker 1>world applications, this study guide mentions using ansable to deploy

212
00:10:29.080 --> 00:10:32.399
<v Speaker 1>an Apache web server. Yeah, now that sounds like a

213
00:10:32.399 --> 00:10:33.440
<v Speaker 1>pretty complex task.

214
00:10:33.639 --> 00:10:34.080
<v Speaker 2>It can be.

215
00:10:34.159 --> 00:10:36.679
<v Speaker 1>It can ansable really handle all of that absolutely.

216
00:10:37.080 --> 00:10:42.080
<v Speaker 2>Deploying a web server involves multiple steps, right from installing

217
00:10:42.360 --> 00:10:46.919
<v Speaker 2>the web server software to configuring virtual hosts, setting up security,

218
00:10:47.200 --> 00:10:49.360
<v Speaker 2>and even handling the website content.

219
00:10:49.440 --> 00:10:51.000
<v Speaker 1>I can't imagine doing all that manually.

220
00:10:51.240 --> 00:10:52.360
<v Speaker 2>Oh it would be a.

221
00:10:52.360 --> 00:10:55.559
<v Speaker 1>Nightmare logging into each server running commands exactly.

222
00:10:55.679 --> 00:10:58.120
<v Speaker 2>But with antsable, you define all those steps in a

223
00:10:58.159 --> 00:11:01.399
<v Speaker 2>playbook and it takes care of their Wow. Okay, So

224
00:11:01.480 --> 00:11:04.440
<v Speaker 2>imagine you have a group of servers that are designated

225
00:11:04.440 --> 00:11:08.720
<v Speaker 2>as your web servers. Your ansable playbook would first make

226
00:11:08.759 --> 00:11:12.600
<v Speaker 2>sure that the Apache web server software, which is often

227
00:11:12.679 --> 00:11:17.120
<v Speaker 2>called HDTPD on red Hat systems and Apache two on

228
00:11:17.279 --> 00:11:21.279
<v Speaker 2>Debian based systems, is installed on each server. After installing

229
00:11:21.320 --> 00:11:24.279
<v Speaker 2>the web server software, the playbook would then move on

230
00:11:24.480 --> 00:11:28.200
<v Speaker 2>to configuring the server itself. So you might use the

231
00:11:28.279 --> 00:11:33.320
<v Speaker 2>line and file module to modify directives within the main

232
00:11:33.840 --> 00:11:37.679
<v Speaker 2>Apache configuration file, like setting the server name for each

233
00:11:37.960 --> 00:11:38.639
<v Speaker 2>virtual host.

234
00:11:38.679 --> 00:11:42.799
<v Speaker 1>So that's the server configuration. What about the actual website content?

235
00:11:43.000 --> 00:11:45.799
<v Speaker 2>Yeah, so that's where the copy and template modules come in.

236
00:11:46.240 --> 00:11:50.039
<v Speaker 2>For simple static websites, you can use the copy module

237
00:11:50.600 --> 00:11:54.320
<v Speaker 2>to transfer files from a central location to your web servers.

238
00:11:54.399 --> 00:11:57.799
<v Speaker 2>Ok But if you need more dynamic content, like files

239
00:11:57.799 --> 00:12:00.480
<v Speaker 2>that need to be tailored for each server, then you'd

240
00:12:00.519 --> 00:12:04.200
<v Speaker 2>use the template module. Gotcha, and ansable uses a powerful

241
00:12:04.240 --> 00:12:08.000
<v Speaker 2>templating engine called Jinga two for this, Okay, gingit tooo.

242
00:12:08.080 --> 00:12:10.879
<v Speaker 1>Yeah, So I could have a template for like a

243
00:12:10.919 --> 00:12:15.080
<v Speaker 1>configuration file right that automatically inserts exactly like the correct

244
00:12:15.080 --> 00:12:17.120
<v Speaker 1>server name yes, or IP address.

245
00:12:17.440 --> 00:12:21.279
<v Speaker 2>And you can even embed variables, logic, and even loops

246
00:12:21.279 --> 00:12:24.159
<v Speaker 2>within your template files, making them really flexible and adaptive.

247
00:12:24.279 --> 00:12:26.559
<v Speaker 1>So I could create one template right and it would

248
00:12:26.639 --> 00:12:30.159
<v Speaker 1>work across all my different servers exactly. Okay, that's powerful,

249
00:12:30.360 --> 00:12:34.000
<v Speaker 1>very powerful. But what about security? Good point, especially with web.

250
00:12:33.759 --> 00:12:38.039
<v Speaker 2>Servers, right, security is crucial, right, and ansable provides a

251
00:12:38.120 --> 00:12:40.480
<v Speaker 2>variety of modules to help you lock down your web

252
00:12:40.519 --> 00:12:43.639
<v Speaker 2>servers okay. For instance, you can use the firewalled module

253
00:12:43.679 --> 00:12:48.320
<v Speaker 2>to configure firewall rules ensuring that only the necessary ports

254
00:12:48.399 --> 00:12:52.360
<v Speaker 2>are open. Okay, you know, like port eighty for HTTP

255
00:12:52.519 --> 00:12:56.279
<v Speaker 2>traffic or four forty three for HTTPS traffic.

256
00:12:56.360 --> 00:12:56.600
<v Speaker 1>Right.

257
00:12:56.679 --> 00:12:59.960
<v Speaker 2>You can also use the Apple module to manage file permissions,

258
00:13:00.559 --> 00:13:04.159
<v Speaker 2>making sure that sensitive files and directories are only accessible

259
00:13:04.639 --> 00:13:07.399
<v Speaker 2>to authorized users and processes.

260
00:13:07.440 --> 00:13:10.679
<v Speaker 1>Okay, so you can actually enforce those security best practices.

261
00:13:10.759 --> 00:13:12.240
<v Speaker 1>You got it from the beginning.

262
00:13:11.960 --> 00:13:14.519
<v Speaker 2>From the get go. Cool, and often a web server

263
00:13:14.600 --> 00:13:19.080
<v Speaker 2>isn't just a standalone entity. It's part of a larger ecosystem,

264
00:13:19.519 --> 00:13:23.799
<v Speaker 2>often involving databases and server side scripting languages. For example,

265
00:13:23.840 --> 00:13:28.679
<v Speaker 2>the LMP stack, which stands for Linux, Apache, Mysuquel, and PHP,

266
00:13:29.240 --> 00:13:31.879
<v Speaker 2>is a very common combination for web applications.

267
00:13:31.960 --> 00:13:33.559
<v Speaker 1>Can Ansible handle setting up all of that?

268
00:13:33.799 --> 00:13:39.039
<v Speaker 2>Absolutely? In fact, Ansable excels at managing complex, multi layered

269
00:13:39.039 --> 00:13:41.759
<v Speaker 2>systems like the LMP stack. Oh wow, And this is

270
00:13:41.759 --> 00:13:44.919
<v Speaker 2>where ansable roles really shine. Remember how we talked about

271
00:13:44.919 --> 00:13:49.080
<v Speaker 2>grouping servers and the inventory, Well, roles take that concept

272
00:13:49.080 --> 00:13:52.279
<v Speaker 2>a step further and they allow you to group tasks

273
00:13:52.320 --> 00:13:57.320
<v Speaker 2>and configurations together, making your playbooks even more modular and reusable.

274
00:13:57.519 --> 00:14:00.200
<v Speaker 1>So instead of having one giant playbook that does every thing,

275
00:14:00.679 --> 00:14:02.039
<v Speaker 1>I can have like smaller ones.

276
00:14:02.200 --> 00:14:07.120
<v Speaker 2>You can break it down into these smaller, more manageable roles.

277
00:14:07.159 --> 00:14:09.679
<v Speaker 2>You could have a role for Apache, a role for

278
00:14:09.759 --> 00:14:12.799
<v Speaker 2>my sequel, a role for a PHP and so on

279
00:14:13.480 --> 00:14:17.080
<v Speaker 2>and each role would contain all the tasks and configurations

280
00:14:17.200 --> 00:14:18.600
<v Speaker 2>specific to that component.

281
00:14:18.679 --> 00:14:20.000
<v Speaker 1>Okay, and then you could.

282
00:14:19.919 --> 00:14:23.639
<v Speaker 2>Just include those roles in your main playbook like building blocks,

283
00:14:23.799 --> 00:14:25.200
<v Speaker 2>exactly like building blocks.

284
00:14:25.240 --> 00:14:26.399
<v Speaker 1>But what if I don't want to write all those

285
00:14:26.480 --> 00:14:27.120
<v Speaker 1>roles myself?

286
00:14:27.320 --> 00:14:31.159
<v Speaker 2>Ah, good question. Yeah, that's where ansable galaxy comes in.

287
00:14:31.759 --> 00:14:33.840
<v Speaker 1>Answable Galany ansable Galaxy.

288
00:14:33.879 --> 00:14:38.039
<v Speaker 2>It's a public repository of pre built ansable roles created

289
00:14:38.080 --> 00:14:39.960
<v Speaker 2>and shared by the ansable community.

290
00:14:40.039 --> 00:14:40.320
<v Speaker 1>Cool.

291
00:14:40.960 --> 00:14:43.080
<v Speaker 2>Think of it like an app store for automation.

292
00:14:43.320 --> 00:14:43.799
<v Speaker 1>I like that.

293
00:14:44.039 --> 00:14:46.639
<v Speaker 2>So you can search for a role that installs and

294
00:14:46.679 --> 00:14:50.279
<v Speaker 2>configures my sequel, for example, and just use that instead

295
00:14:50.279 --> 00:14:51.200
<v Speaker 2>of writing it yourself.

296
00:14:51.399 --> 00:14:53.879
<v Speaker 1>Yeah. That would be a huge time saver. Huge if

297
00:14:53.960 --> 00:14:55.799
<v Speaker 1>you can find a role that already does what you

298
00:14:55.840 --> 00:14:57.080
<v Speaker 1>needed to do exactly.

299
00:14:57.440 --> 00:15:00.799
<v Speaker 2>And antsable galaxy has this vast collection of roles okay

300
00:15:00.840 --> 00:15:04.519
<v Speaker 2>for all sorts of tasks, from setting up web servers

301
00:15:04.559 --> 00:15:08.679
<v Speaker 2>to configuring databases to managing firewalls.

302
00:15:09.000 --> 00:15:09.360
<v Speaker 1>Wow.

303
00:15:09.559 --> 00:15:11.480
<v Speaker 2>And the beauty of it is that these roles are

304
00:15:11.480 --> 00:15:16.440
<v Speaker 2>often well documented and maintained by experienced ansable users.

305
00:15:16.480 --> 00:15:18.039
<v Speaker 1>That makes me feel better about using it.

306
00:15:18.200 --> 00:15:21.080
<v Speaker 2>Yeah, okay, so you can be confident in their quality

307
00:15:21.080 --> 00:15:21.919
<v Speaker 2>and reliability.

308
00:15:22.039 --> 00:15:24.679
<v Speaker 1>This is amazing. It sounds like ansable can take a

309
00:15:24.720 --> 00:15:28.759
<v Speaker 1>lot of the hard work out of system administration. Oh yeah,

310
00:15:28.799 --> 00:15:32.519
<v Speaker 1>but what about managing other aspects of my infrastructure like storage?

311
00:15:32.799 --> 00:15:35.879
<v Speaker 2>Ansable can do that too. If not limited to just

312
00:15:36.000 --> 00:15:40.200
<v Speaker 2>managing software and services, it can also automate storage related

313
00:15:40.240 --> 00:15:43.639
<v Speaker 2>tasks okay, which is often a critical part of any.

314
00:15:43.440 --> 00:15:47.759
<v Speaker 1>IT infrastructure storage tasks. That sounds pretty specialized. It is

315
00:15:48.000 --> 00:15:49.480
<v Speaker 1>what kind of things can ansable do?

316
00:15:49.879 --> 00:15:52.159
<v Speaker 2>So the study guide actually goes over a range of

317
00:15:52.240 --> 00:15:55.519
<v Speaker 2>storage related modules. You can use the parted module to

318
00:15:55.600 --> 00:15:58.759
<v Speaker 2>partition discs okay, which is often the first step in

319
00:15:58.799 --> 00:16:03.159
<v Speaker 2>preparing storage device right. And then there's the filesystem module,

320
00:16:03.720 --> 00:16:08.120
<v Speaker 2>which lets you create filesystems on those newly created partitions,

321
00:16:08.679 --> 00:16:11.720
<v Speaker 2>allowing you to format them with different filesystems like XT

322
00:16:11.840 --> 00:16:12.960
<v Speaker 2>four xfs.

323
00:16:13.159 --> 00:16:17.480
<v Speaker 1>Okay. So it handles like the basic setup of storage devices. Yeah,

324
00:16:17.480 --> 00:16:21.200
<v Speaker 1>but what a more advanced storage concepts like logical volumes.

325
00:16:21.279 --> 00:16:24.600
<v Speaker 2>Ancable can handle that too, Okay. It provides modules for

326
00:16:24.720 --> 00:16:28.840
<v Speaker 2>managing logical volumes using LVM. LVM LVM which stands for

327
00:16:28.879 --> 00:16:33.480
<v Speaker 2>a Logical Volume Manager, and LVM is a very powerful technology.

328
00:16:33.519 --> 00:16:37.200
<v Speaker 2>It allows you to create these flexible and resizable storage volumes.

329
00:16:37.200 --> 00:16:40.519
<v Speaker 2>Oh cool, abstracting away the underlying physical discs.

330
00:16:40.279 --> 00:16:42.879
<v Speaker 1>So I could use ansable to create or re size,

331
00:16:43.519 --> 00:16:45.600
<v Speaker 1>or even delete logical volumes on the fly.

332
00:16:45.879 --> 00:16:46.360
<v Speaker 2>You got it?

333
00:16:46.600 --> 00:16:46.879
<v Speaker 1>Wow?

334
00:16:46.960 --> 00:16:50.600
<v Speaker 2>Okay, The LVG and LVALL modules give you very fine

335
00:16:50.600 --> 00:16:53.240
<v Speaker 2>grained control over your logical volumes.

336
00:16:53.279 --> 00:16:56.159
<v Speaker 1>This is pretty impressive. It seems like ansable can handle

337
00:16:56.279 --> 00:17:00.600
<v Speaker 1>just about any storage task. But what about storage efficiency? Ah?

338
00:17:00.639 --> 00:17:03.960
<v Speaker 2>Good question. As our data grows, storage can become a

339
00:17:04.000 --> 00:17:04.960
<v Speaker 2>real bottleneck.

340
00:17:05.160 --> 00:17:05.920
<v Speaker 1>Yeah, for sure.

341
00:17:06.680 --> 00:17:10.119
<v Speaker 2>The study guide goes into using the veto module, the

342
00:17:10.200 --> 00:17:15.359
<v Speaker 2>vito veto module, which manages video volumes. Video stands for

343
00:17:15.839 --> 00:17:19.920
<v Speaker 2>virtual data Optimizer virtual data optimizer, and it's a technology

344
00:17:19.960 --> 00:17:24.880
<v Speaker 2>that enhances storage efficiency through techniques like compression and data deduplication.

345
00:17:25.119 --> 00:17:28.279
<v Speaker 1>So it's like squeezing more data in the same amount

346
00:17:28.279 --> 00:17:29.119
<v Speaker 1>of space exactly.

347
00:17:29.559 --> 00:17:33.720
<v Speaker 2>Video can significantly reduce your storage footprint. Cool, especially for

348
00:17:33.799 --> 00:17:36.559
<v Speaker 2>workloads that involve a lot of redundant data. That makes

349
00:17:36.599 --> 00:17:40.319
<v Speaker 2>sense and answerable gives you the tools to create, manage,

350
00:17:40.359 --> 00:17:42.680
<v Speaker 2>and monitor video volumes.

351
00:17:42.759 --> 00:17:47.279
<v Speaker 1>Awesome. This is all incredibly powerful, But sometimes storage tasks

352
00:17:47.319 --> 00:17:51.400
<v Speaker 1>require like a very specific order of operations. What if

353
00:17:51.440 --> 00:17:54.079
<v Speaker 1>I need to make sure that certain tasks are executed

354
00:17:54.519 --> 00:17:56.440
<v Speaker 1>and a precise sequence.

355
00:17:56.799 --> 00:17:57.839
<v Speaker 2>Yeah, that's a great point.

356
00:17:58.200 --> 00:18:02.000
<v Speaker 1>Yeah, when you're dealing with sensitive operations like storage management,

357
00:18:02.599 --> 00:18:06.880
<v Speaker 1>the order of tasks can be critical, and ansable provides

358
00:18:06.880 --> 00:18:10.680
<v Speaker 1>a mechanism called serial execution to.

359
00:18:10.680 --> 00:18:12.160
<v Speaker 2>Address that serial execution.

360
00:18:12.319 --> 00:18:16.119
<v Speaker 1>Serial execution. With serial execution, you can define the exact

361
00:18:16.279 --> 00:18:19.160
<v Speaker 1>order in which tasks are run on different hosts.

362
00:18:19.720 --> 00:18:23.599
<v Speaker 2>Gotcha. Yeah, so if one task depends on another one completing, right,

363
00:18:24.079 --> 00:18:27.119
<v Speaker 2>I can use serial execution, you got it to enforce that.

364
00:18:27.319 --> 00:18:31.000
<v Speaker 1>Yeah. This level of control is essential Okay for ensuring

365
00:18:31.079 --> 00:18:34.680
<v Speaker 1>the integrity and consistency of your infrastructure.

366
00:18:34.119 --> 00:18:36.279
<v Speaker 2>Right, especially with storage.

367
00:18:35.920 --> 00:18:39.359
<v Speaker 1>Especially with storage. Okay, when dealing with critical components.

368
00:18:39.559 --> 00:18:42.400
<v Speaker 2>Wow, we've covered a lot of ground here. We have

369
00:18:42.599 --> 00:18:47.119
<v Speaker 2>gone from basic user management to deploying web servers to

370
00:18:47.480 --> 00:18:51.880
<v Speaker 2>managing complex storage systems. Yeah, it seems like ansable can

371
00:18:51.960 --> 00:18:54.000
<v Speaker 2>really automate just about anything.

372
00:18:54.079 --> 00:18:58.119
<v Speaker 1>It's true. Ansable is a remarkably versatile tool, and we've

373
00:18:58.160 --> 00:18:59.960
<v Speaker 1>only scratched the surface of what it can do.

374
00:19:00.720 --> 00:19:03.319
<v Speaker 2>But the key takeaway here is that it empowers you

375
00:19:03.359 --> 00:19:07.400
<v Speaker 2>to take control of your infrastructure, automate those repetitive tasks,

376
00:19:07.960 --> 00:19:11.319
<v Speaker 2>and free up your time to focus on more strategic initiatives.

377
00:19:11.640 --> 00:19:14.279
<v Speaker 1>That sounds like the dream for any busy sissemen, it is,

378
00:19:14.599 --> 00:19:17.160
<v Speaker 1>it is, all right, Well, I'm eager to learn even

379
00:19:17.200 --> 00:19:20.960
<v Speaker 1>more about what ansable can do. Okay, we've really explored

380
00:19:21.039 --> 00:19:27.319
<v Speaker 1>the power and versatility of antsable for automation. But even

381
00:19:27.359 --> 00:19:31.519
<v Speaker 1>with a study guide like this, prepping for a certification exam. Yeah,

382
00:19:31.680 --> 00:19:35.079
<v Speaker 1>like the r EFCE can feel a little overwhelming. Yeah,

383
00:19:35.160 --> 00:19:38.599
<v Speaker 1>what are some of the key insights from this study

384
00:19:38.640 --> 00:19:42.279
<v Speaker 1>guide that would help someone actually tackle the RCE.

385
00:19:42.960 --> 00:19:46.759
<v Speaker 2>So one thing that's interesting about the RHC exam, okay,

386
00:19:46.960 --> 00:19:51.160
<v Speaker 2>is that it's not your typical multiple choice memory tests. Okay,

387
00:19:51.279 --> 00:19:54.279
<v Speaker 2>it's a very hands on, practical exam.

388
00:19:54.440 --> 00:19:54.880
<v Speaker 1>Oh wow.

389
00:19:54.960 --> 00:19:57.240
<v Speaker 2>That puts you in the driver's seat of a real

390
00:19:57.279 --> 00:20:00.680
<v Speaker 2>world scenario. So you're actually going to be task with

391
00:20:01.000 --> 00:20:05.279
<v Speaker 2>managing a set of Linux systems using ansable, just like

392
00:20:05.319 --> 00:20:06.279
<v Speaker 2>you would on the job.

393
00:20:06.559 --> 00:20:12.480
<v Speaker 1>So it's more like a simulation than a traditional exam exact, Okay,

394
00:20:12.599 --> 00:20:16.400
<v Speaker 1>that sounds pretty intessee. It is, But it's also incredibly valuable,

395
00:20:16.440 --> 00:20:20.839
<v Speaker 1>oh absolutely, because it tests your ability to apply your.

396
00:20:20.720 --> 00:20:23.160
<v Speaker 2>Knowledge, yes, in a practical setting, right in a real

397
00:20:23.160 --> 00:20:25.559
<v Speaker 2>world setting. And the good news is that the exam

398
00:20:25.599 --> 00:20:30.559
<v Speaker 2>objectives are very clearly defined, okay, outlining the specific skills

399
00:20:30.599 --> 00:20:32.519
<v Speaker 2>and knowledge that you need to demonstrate.

400
00:20:32.720 --> 00:20:34.119
<v Speaker 1>That's good, that's reassuring to know.

401
00:20:34.240 --> 00:20:37.279
<v Speaker 2>Yes, so you can focus your study efforts effectively.

402
00:20:37.359 --> 00:20:39.799
<v Speaker 1>I wouldn't want to waste time studying something right that's

403
00:20:39.839 --> 00:20:41.960
<v Speaker 1>not going to be on there exactly. So what are

404
00:20:42.000 --> 00:20:45.240
<v Speaker 1>some of the key areas that the exam focuses on.

405
00:20:45.720 --> 00:20:49.079
<v Speaker 2>So one of the most important skills that the RHCEE

406
00:20:49.319 --> 00:20:54.000
<v Speaker 2>exam emphasizes, okay, is the ability to troubleshoot and debug

407
00:20:54.480 --> 00:20:55.480
<v Speaker 2>ansable playbooks.

408
00:20:55.519 --> 00:20:58.920
<v Speaker 1>Because in the real world, exact things don't always work out.

409
00:20:59.079 --> 00:21:01.279
<v Speaker 1>They don't the way they're supposed to you, got it,

410
00:21:01.519 --> 00:21:05.079
<v Speaker 1>So being able to fix those issues right is important.

411
00:21:05.240 --> 00:21:08.359
<v Speaker 2>So how does the study guide help with those debugging skills?

412
00:21:09.319 --> 00:21:12.839
<v Speaker 2>So the study guide provides a number of helpful debugging techniques.

413
00:21:13.079 --> 00:21:16.720
<v Speaker 2>For example, it covers using the ung V flag with

414
00:21:16.799 --> 00:21:20.960
<v Speaker 2>the ansable playbook command, and this gives you more verbose output,

415
00:21:21.400 --> 00:21:24.039
<v Speaker 2>which can help you pinpoint exactly where things are going wrong.

416
00:21:24.400 --> 00:21:24.759
<v Speaker 1>Gotcha.

417
00:21:24.880 --> 00:21:28.039
<v Speaker 2>It also introduces the debug module, which allows you to

418
00:21:28.119 --> 00:21:32.200
<v Speaker 2>inspect variables and the state of your system at various

419
00:21:32.200 --> 00:21:34.079
<v Speaker 2>points in your playbook execution.

420
00:21:34.279 --> 00:21:36.599
<v Speaker 1>So it's like giving you tools exactly to kind of

421
00:21:36.680 --> 00:21:39.960
<v Speaker 1>understand what's happening under the hood. Are there any other

422
00:21:40.119 --> 00:21:43.200
<v Speaker 1>essential concepts that the study guide highlights.

423
00:21:44.480 --> 00:21:49.240
<v Speaker 2>One concept that's crucial for the RHCE and for good

424
00:21:49.319 --> 00:21:54.519
<v Speaker 2>automation practice in general is idempotency, idemptencdempotency.

425
00:21:54.599 --> 00:21:57.079
<v Speaker 1>Okay, that's a mouthful, it is. What does that mean? Yeah?

426
00:21:57.079 --> 00:22:00.000
<v Speaker 2>So idempotency means that you can run your answable place

427
00:22:00.119 --> 00:22:05.640
<v Speaker 2>books multiple times without causing unintended side effects changes. So

428
00:22:05.640 --> 00:22:07.839
<v Speaker 2>it's like, in other words, if a task has already

429
00:22:07.880 --> 00:22:12.799
<v Speaker 2>been completed, antsable won't try to do it again unnecessarily.

430
00:22:12.039 --> 00:22:14.079
<v Speaker 1>So apply only if needed exactly.

431
00:22:14.319 --> 00:22:18.559
<v Speaker 2>So, imagine you have a playbook that installs a softer package.

432
00:22:18.759 --> 00:22:21.119
<v Speaker 2>If you run that playbook multiple times on a server

433
00:22:21.359 --> 00:22:24.880
<v Speaker 2>where the package is already installed, an idempatent playbook would

434
00:22:24.880 --> 00:22:27.839
<v Speaker 2>recognize that and skip the installation step.

435
00:22:28.000 --> 00:22:28.359
<v Speaker 1>Okay.

436
00:22:28.680 --> 00:22:32.359
<v Speaker 2>This prevents unnecessary changes and potential conflicts.

437
00:22:32.400 --> 00:22:34.920
<v Speaker 1>So it's all about ensuring that your automation.

438
00:22:34.599 --> 00:22:38.240
<v Speaker 2>Is predictable exactly, okay, and that it doesn't introduce instability

439
00:22:38.279 --> 00:22:39.200
<v Speaker 2>into your systems.

440
00:22:39.400 --> 00:22:44.599
<v Speaker 1>Right, So, how do you actually write a tempatent playbooks.

441
00:22:44.920 --> 00:22:48.759
<v Speaker 2>So the study guide provides practical examples of how to

442
00:22:48.839 --> 00:22:53.720
<v Speaker 2>achieve idempotency in your playbooks. This often involves using conditional

443
00:22:53.759 --> 00:22:56.880
<v Speaker 2>statements like when to check if a certain condition is

444
00:22:57.000 --> 00:22:59.079
<v Speaker 2>met before executing a task.

445
00:22:59.200 --> 00:22:59.759
<v Speaker 1>Gotcha.

446
00:23:00.240 --> 00:23:04.559
<v Speaker 2>It might also involve using modules that are designed to

447
00:23:04.640 --> 00:23:09.279
<v Speaker 2>be idempatent. For example, the package module, which is used

448
00:23:09.319 --> 00:23:13.839
<v Speaker 2>to install software packages, can be configured to only install

449
00:23:13.880 --> 00:23:16.400
<v Speaker 2>a package if it's not already present.

450
00:23:16.519 --> 00:23:19.720
<v Speaker 1>So you're basically building in those checks and balances exactly

451
00:23:19.759 --> 00:23:24.079
<v Speaker 1>to make sure everything's running smoothly. What about ansable modules?

452
00:23:24.359 --> 00:23:25.880
<v Speaker 2>Yes, ansable modules I.

453
00:23:25.880 --> 00:23:28.519
<v Speaker 1>Soalked about them before. Yes, but how important are they?

454
00:23:29.240 --> 00:23:33.880
<v Speaker 2>They're essential for the RHCE exam. The exam expects you

455
00:23:33.920 --> 00:23:37.359
<v Speaker 2>to have a solid understanding of a wide range of

456
00:23:37.440 --> 00:23:42.480
<v Speaker 2>modules and their specific use cases. That think of modules

457
00:23:42.599 --> 00:23:46.559
<v Speaker 2>as the tools in your ansible toolbox. Each module is

458
00:23:46.559 --> 00:23:50.359
<v Speaker 2>designed to perform a particular task, and knowing which module

459
00:23:50.440 --> 00:23:52.160
<v Speaker 2>to use for the job is crucial.

460
00:23:52.759 --> 00:23:55.720
<v Speaker 1>So it's not enough to just know that they exist.

461
00:23:56.319 --> 00:23:59.000
<v Speaker 1>You actually need to know how to use them exactly.

462
00:23:59.079 --> 00:24:01.960
<v Speaker 2>You need to know this speci of each one and

463
00:24:02.000 --> 00:24:03.119
<v Speaker 2>how to use them effectively.

464
00:24:03.400 --> 00:24:07.000
<v Speaker 1>So the study guide provides a comprehensive overview it does

465
00:24:07.119 --> 00:24:08.640
<v Speaker 1>of those commonly used modules.

466
00:24:08.720 --> 00:24:12.039
<v Speaker 2>Yeah, it covers things like the user module, the group module,

467
00:24:12.319 --> 00:24:17.680
<v Speaker 2>the copy module, the file module, the service moduleum APT,

468
00:24:18.359 --> 00:24:24.079
<v Speaker 2>and many others. It explains their purpose, their syntax, and

469
00:24:24.519 --> 00:24:27.599
<v Speaker 2>the various options and parameters that you can use to

470
00:24:27.680 --> 00:24:28.880
<v Speaker 2>fine tune their behavior.

471
00:24:29.039 --> 00:24:32.279
<v Speaker 1>So it's like a dictionary of Ansible tools exact. Any

472
00:24:32.279 --> 00:24:34.240
<v Speaker 1>other advice from the study guide.

473
00:24:35.079 --> 00:24:37.599
<v Speaker 2>One of the most important pieces of advice okay that

474
00:24:37.599 --> 00:24:42.759
<v Speaker 2>the study Guide emphasizes is the importance of hands on practice. Okay,

475
00:24:42.920 --> 00:24:45.200
<v Speaker 2>you can't just read about ansable, you need to actually

476
00:24:45.319 --> 00:24:48.160
<v Speaker 2>use it to really solidify your understanding.

477
00:24:48.240 --> 00:24:51.519
<v Speaker 1>Yeah, practice makes perfect exactly. So how does the study

478
00:24:51.519 --> 00:24:54.640
<v Speaker 1>guide suggest getting that hands on experience?

479
00:24:54.920 --> 00:24:58.079
<v Speaker 2>So the study Guide strongly recommends setting up your own

480
00:24:58.119 --> 00:25:02.240
<v Speaker 2>virtual lab environment. Can use tools like virtual box or

481
00:25:02.319 --> 00:25:06.079
<v Speaker 2>Vagrant to create virtual machines that you can then manage

482
00:25:06.119 --> 00:25:08.799
<v Speaker 2>with antsable. Okay, yeah, so this gives you a safe

483
00:25:08.839 --> 00:25:09.920
<v Speaker 2>and controlled environment.

484
00:25:10.359 --> 00:25:12.319
<v Speaker 1>Right, I'm not going to break anything exactly for my

485
00:25:12.359 --> 00:25:13.240
<v Speaker 1>production environment.

486
00:25:13.519 --> 00:25:16.880
<v Speaker 2>And the study guide even provides sample playbooks oh cool,

487
00:25:16.960 --> 00:25:19.640
<v Speaker 2>and configurations that you can use as starting points for

488
00:25:19.720 --> 00:25:20.839
<v Speaker 2>your lab exercises.

489
00:25:20.960 --> 00:25:21.640
<v Speaker 1>Oh that's great.

490
00:25:21.680 --> 00:25:23.880
<v Speaker 2>It gives you that foundation to build on. It helps

491
00:25:23.880 --> 00:25:25.000
<v Speaker 2>you get up and running quickly.

492
00:25:25.240 --> 00:25:27.319
<v Speaker 1>So the key takeaway here is really just.

493
00:25:27.559 --> 00:25:30.319
<v Speaker 2>Yeah, roll up your sleeves, roll up my sleeves, get

494
00:25:30.359 --> 00:25:31.359
<v Speaker 2>your hands dirty.

495
00:25:31.119 --> 00:25:33.920
<v Speaker 1>And get my hands dirty with ansable ansable exactly. The

496
00:25:33.920 --> 00:25:37.319
<v Speaker 1>more I practice, the more comfortable you'll become. Yeah. Yeah,

497
00:25:37.599 --> 00:25:39.359
<v Speaker 1>if we kind of connect all this back to the

498
00:25:39.359 --> 00:25:44.119
<v Speaker 1>bigger picture. Okay, this deep dive has really highlighted the

499
00:25:44.319 --> 00:25:48.319
<v Speaker 1>value of antsible absolutely, not just as like a powerful

500
00:25:48.359 --> 00:25:53.640
<v Speaker 1>automation tool, but as a stepping stone to a successful

501
00:25:53.720 --> 00:25:57.240
<v Speaker 1>career in it. Absolutely because it's such an in demand skill.

502
00:25:57.319 --> 00:25:58.680
<v Speaker 2>It's a very in demand skill.

503
00:25:58.799 --> 00:25:59.000
<v Speaker 1>Yeah.

504
00:25:59.440 --> 00:26:04.000
<v Speaker 2>Yeah, ansible skills are in high demand across a wide

505
00:26:04.160 --> 00:26:08.519
<v Speaker 2>range of industries, and as more organizations are adopting DevOps

506
00:26:08.599 --> 00:26:14.839
<v Speaker 2>practices and embrace automation, ANSABLE expertise is becoming increasingly valuable and.

507
00:26:14.799 --> 00:26:18.440
<v Speaker 1>The race certification is really respected. It is. So it's

508
00:26:18.480 --> 00:26:21.119
<v Speaker 1>a good thing, very much so to have on your resume.

509
00:26:21.240 --> 00:26:24.640
<v Speaker 2>Yeah, it validates your skills to potential employers.

510
00:26:24.880 --> 00:26:30.200
<v Speaker 1>Okay, So learning ANSABLE and pursuing the certification, it's really

511
00:26:30.240 --> 00:26:31.599
<v Speaker 1>a smart investment in your future.

512
00:26:31.640 --> 00:26:35.000
<v Speaker 2>It is, and As automation continues to play a more

513
00:26:35.039 --> 00:26:38.880
<v Speaker 2>central role in the IT landscape, those ansible skills are

514
00:26:38.880 --> 00:26:40.640
<v Speaker 2>only going to become more sought after.

515
00:26:40.920 --> 00:26:42.079
<v Speaker 1>It's only going to become more.

516
00:26:42.000 --> 00:26:42.920
<v Speaker 2>Valuable, exactly.

517
00:26:43.000 --> 00:26:45.319
<v Speaker 1>Okay, Yeah, Well, I think we've given you a really

518
00:26:45.359 --> 00:26:48.799
<v Speaker 1>solid overview I think so of ansable and how it

519
00:26:48.839 --> 00:26:53.599
<v Speaker 1>can be used for everything from basic system administration to

520
00:26:54.119 --> 00:26:58.799
<v Speaker 1>complex deployments. Absolutely, and we've explored some valuable insights from

521
00:26:58.839 --> 00:27:01.839
<v Speaker 1>the study guide that will hopefully help you prepare for

522
00:27:01.880 --> 00:27:05.880
<v Speaker 1>the race exam. Yes, and maybe even launch a successful

523
00:27:05.880 --> 00:27:08.000
<v Speaker 1>career I hope so in IT automation.

524
00:27:08.319 --> 00:27:10.000
<v Speaker 2>Yeah, we've covered a lot of ground.

525
00:27:10.160 --> 00:27:10.640
<v Speaker 1>Yeah, we have.

526
00:27:10.759 --> 00:27:13.920
<v Speaker 2>Hopefully this deep dive has parked your curiosity, ark your

527
00:27:13.920 --> 00:27:17.039
<v Speaker 2>curiosity and inspired you to dive deeper.

528
00:27:16.880 --> 00:27:19.079
<v Speaker 1>Dive deeper into the world of antsable. I think so.

529
00:27:19.359 --> 00:27:22.920
<v Speaker 2>Yeah, that's all the time we have for today's deep

530
00:27:23.000 --> 00:27:27.039
<v Speaker 2>dive into ansable. We hope you found it informative and engaging.

531
00:27:27.559 --> 00:27:29.480
<v Speaker 2>If you're ready to take your ansible skills to the

532
00:27:29.519 --> 00:27:32.960
<v Speaker 2>next level, we highly recommend checking out the study guide

533
00:27:33.000 --> 00:27:36.440
<v Speaker 2>we discussed today, and don't forget to explore the vast

534
00:27:36.519 --> 00:27:41.359
<v Speaker 2>resources available on ansable galaxy until next time, happy automating
