Preface |
|
ix | |
|
|
1 | (6) |
|
Traditional Operations Teams |
|
|
2 | (1) |
|
How Site Reliability Engineering Helps |
|
|
3 | (1) |
|
OpenShift as a Tool for Site Reliability Engineers |
|
|
4 | (1) |
|
Individual Challenges for SRE Teams |
|
|
5 | (2) |
|
|
7 | (18) |
|
OKD, OCR and Other Considerations |
|
|
7 | (1) |
|
|
7 | (1) |
|
|
8 | (1) |
|
|
8 | (1) |
|
Local Clusters with OpenShift Local |
|
|
8 | (4) |
|
|
12 | (1) |
|
Instance Sizing Recommendations |
|
|
12 | (1) |
|
Node Sizing Recommendations |
|
|
12 | (1) |
|
Master Sizing Recommendations |
|
|
13 | (2) |
|
|
15 | (2) |
|
Basic OpenShift Installations |
|
|
17 | (1) |
|
Installer-Provisioned Infrastructure |
|
|
17 | (7) |
|
Self-Provisioned Infrastructure |
|
|
24 | (1) |
|
|
24 | (1) |
|
3 Running Workloads on OpenShift |
|
|
25 | (34) |
|
|
26 | (1) |
|
Deploying Existing Container Images |
|
|
27 | (2) |
|
Deploying Applications from Git Repositories |
|
|
29 | (2) |
|
Accessing Deployed Services |
|
|
31 | (1) |
|
Accessing Services from Other Pods |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
33 | (1) |
|
Route by Auto-generated DNS Names |
|
|
34 | (1) |
|
|
35 | (2) |
|
|
37 | (3) |
|
Securing Services with TLS |
|
|
40 | (1) |
|
Specifying TLS Certificates |
|
|
40 | (2) |
|
Redirecting Traffic to TLS Route |
|
|
42 | (2) |
|
Let's Encrypt Trusted Certificates |
|
|
44 | (7) |
|
Encrypted Communication to the Service |
|
|
51 | (6) |
|
|
57 | (2) |
|
|
59 | (14) |
|
|
59 | (2) |
|
Role-Based Access Control |
|
|
61 | (1) |
|
|
62 | (1) |
|
RoleBindings and ClusterRoleBindings |
|
|
63 | (2) |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
68 | (4) |
|
|
72 | (1) |
|
|
73 | (38) |
|
|
73 | (1) |
|
|
74 | (7) |
|
Source to Image (S2I) Build |
|
|
81 | (3) |
|
|
84 | (3) |
|
Red Hat OpenShift Pipelines |
|
|
87 | (1) |
|
|
88 | (2) |
|
Install Red Hat OpenShift Pipelines |
|
|
90 | (2) |
|
|
92 | (12) |
|
Turning the Pipeline into Continuous Integration |
|
|
104 | (6) |
|
|
110 | (1) |
|
6 In-Cluster Monitoring Stack |
|
|
111 | (32) |
|
Cluster Monitoring Operator |
|
|
111 | (3) |
|
|
114 | (16) |
|
|
130 | (6) |
|
|
136 | (1) |
|
|
136 | (1) |
|
|
137 | (4) |
|
|
141 | (2) |
|
7 Advanced Monitoring and Observability Strategies |
|
|
143 | (24) |
|
Service Oriented Monitoring |
|
|
143 | (1) |
|
|
144 | (1) |
|
|
145 | (5) |
|
|
150 | (4) |
|
|
154 | (1) |
|
|
154 | (4) |
|
|
158 | (1) |
|
|
158 | (1) |
|
|
159 | (1) |
|
|
159 | (2) |
|
Creating a Grafana Instance |
|
|
161 | (1) |
|
|
161 | (3) |
|
|
164 | (2) |
|
|
166 | (1) |
|
8 Automating OpenShift Cluster Operations |
|
|
167 | (32) |
|
Recurring Operations Tasks |
|
|
168 | (1) |
|
|
169 | (1) |
|
|
169 | (1) |
|
|
169 | (1) |
|
|
170 | (1) |
|
Automating Recurring Operations Tasks |
|
|
170 | (1) |
|
|
170 | (3) |
|
|
173 | (3) |
|
Using Cronjobs for Task Automation |
|
|
176 | (6) |
|
|
182 | (2) |
|
Manage Cluster Configuration with OpenShift GitOps |
|
|
184 | (1) |
|
Installing OpenShift GitOps |
|
|
185 | (4) |
|
Managing Configuration with OpenShift GitOps |
|
|
189 | (4) |
|
Managing Configuration of Multiple Clusters with OpenShift GitOps |
|
|
193 | (4) |
|
|
197 | (2) |
|
9 Developing Custom Operators to Automate Cluster Operations |
|
|
199 | (34) |
|
|
201 | (1) |
|
|
202 | (1) |
|
Bootstrapping the Operator |
|
|
203 | (4) |
|
Setting Up a CA Directory for Development |
|
|
207 | (2) |
|
Designing the Custom Resource Definition |
|
|
209 | (3) |
|
Installing the Custom Resource Definition |
|
|
212 | (1) |
|
Local Operator Development |
|
|
213 | (3) |
|
|
216 | (1) |
|
|
217 | (3) |
|
Creating and Updating OpenShift Resources |
|
|
220 | (3) |
|
Specifying RBAC Permissions |
|
|
223 | (2) |
|
Routing Traffic to the Operator |
|
|
225 | (2) |
|
Adding Additional Controllers |
|
|
227 | (2) |
|
|
229 | (2) |
|
|
231 | (2) |
|
10 Practical Patterns for Operating OpenShift Clusters at Scale |
|
|
233 | (12) |
|
|
233 | (2) |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
238 | (1) |
|
|
238 | (1) |
|
|
239 | (1) |
|
|
239 | (1) |
|
|
239 | (1) |
|
|
239 | (1) |
|
|
240 | (1) |
|
When to Declare an Incident |
|
|
241 | (1) |
|
|
241 | (1) |
|
|
241 | (1) |
|
|
242 | (1) |
|
|
242 | (1) |
|
|
243 | (1) |
|
Accessing OpenShift Clusters |
|
|
243 | (1) |
|
|
243 | (2) |
Index |
|
245 | |