Skip to content

Commit 5e6b42a

Browse files
authored
Merge pull request #41 from wendev27/kubernetes
feat: add Kubernetes fundamentals and local Kind cluster setup
2 parents 772682a + 32724d5 commit 5e6b42a

6 files changed

Lines changed: 285 additions & 1 deletion

File tree

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,12 @@ This repository was created to:
125125

126126
## ☁️ Phase 8 — Cloud & Orchestration
127127

128-
- [ ] Kubernetes
128+
- [ ] Kubernetes Fundamentals
129+
- [ ] Pods
130+
- [ ] Deployments
131+
- [ ] Services
132+
- [ ] ConfigMaps
133+
- [ ] Secrets
129134
- [ ] Helm
130135
- [ ] Cloud Deployment
131136
- [ ] Infrastructure Best Practices
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# ☁️ Phase 8 — Cloud & Orchestration
2+
3+
---
4+
5+
## 📚 Checkpoint 26 — Kubernetes Fundamentals
6+
7+
### 🎯 Objective
8+
9+
Understand why Kubernetes exists and learn the core building blocks of container orchestration.
10+
11+
### ✅ Topics Covered
12+
13+
- [x] What problem Kubernetes solves
14+
- [x] Cluster, Node, Pod, Container
15+
16+
### 🧠 Key Concepts
17+
18+
#### Why Kubernetes?
19+
20+
Docker makes it easy to run containers, but managing many containers across multiple servers becomes difficult.
21+
22+
Kubernetes solves problems such as:
23+
24+
- Automatic scaling
25+
- Self-healing containers
26+
- Load balancing
27+
- Service discovery
28+
- Rolling updates
29+
- High availability
30+
31+
---
32+
33+
#### Core Components
34+
35+
| Component | Description |
36+
| --------- | ------------------------------------------ |
37+
| Cluster | The entire Kubernetes environment |
38+
| Node | A machine that runs workloads |
39+
| Pod | The smallest deployable unit in Kubernetes |
40+
| Container | The application running inside a Pod |
41+
42+
---
43+
44+
### 🔄 Docker vs Kubernetes
45+
46+
| Docker | Kubernetes |
47+
| ---------------------- | ----------------- |
48+
| Container | Pod |
49+
| Docker Compose Service | Deployment |
50+
| Docker Network | Service |
51+
| Docker Volume | Persistent Volume |
Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
# ☁️ Phase 8 — Cloud & Orchestration
2+
3+
---
4+
5+
## 🖥️ Checkpoint 27 — Local Kubernetes Setup
6+
7+
### 🎯 Objective
8+
9+
Set up a local Kubernetes environment for development and experimentation.
10+
11+
### ✅ Topics Covered
12+
13+
- [x] Install kubectl
14+
- [x] Install Kind
15+
- [x] Create your first cluster
16+
17+
---
18+
19+
### 🛠️ Tools Used
20+
21+
#### kubectl
22+
23+
The Kubernetes command-line tool used to interact with clusters.
24+
25+
```bash
26+
kubectl version --client
27+
```
28+
29+
---
30+
31+
#### Kind
32+
33+
Kind (Kubernetes in Docker) allows you to create local Kubernetes clusters using Docker containers.
34+
35+
```bash
36+
kind create cluster --name devops-lab
37+
```
38+
39+
---
40+
41+
### 🔍 Verify the Cluster
42+
43+
Check cluster information:
44+
45+
```bash
46+
kubectl cluster-info
47+
```
48+
49+
Expected output:
50+
51+
```text
52+
Kubernetes control plane is running
53+
CoreDNS is running
54+
```
55+
56+
---
57+
58+
List all system pods:
59+
60+
```bash
61+
kubectl get pods --all-namespaces
62+
```
63+
64+
Example output:
65+
66+
```text
67+
kube-apiserver
68+
etcd
69+
coredns
70+
kube-scheduler
71+
kube-controller-manager
72+
kube-proxy
73+
```
74+
75+
---
76+
77+
### 🧠 Architecture Overview
78+
79+
```text
80+
Laptop (Ubuntu)
81+
82+
83+
Docker Engine
84+
85+
86+
Kind Cluster Container
87+
88+
89+
Kubernetes Control Plane
90+
91+
92+
Pods and Applications
93+
```
94+
95+
---
96+
97+
### 🎉 Milestone Achieved
98+
99+
At this point, the local Kubernetes cluster is running successfully.
100+
101+
You can now:
102+
103+
- Deploy Pods
104+
- Scale applications
105+
- Expose services
106+
- Manage configurations
107+
- Explore Kubernetes networking
108+
109+
The next step is learning how Pods work inside the cluster.
110+
111+
## 🖥️ Checkpoint 27 — Local Kubernetes Setup
112+
113+
### 🎯 Objective
114+
115+
Set up a local Kubernetes environment for development and experimentation.
116+
117+
### ✅ Topics Covered
118+
119+
- [x] Install kubectl
120+
- [x] Install Kind
121+
- [x] Create your first cluster
122+
123+
---
124+
125+
### 🛠️ Tools Used
126+
127+
#### kubectl
128+
129+
The Kubernetes command-line tool used to interact with clusters.
130+
131+
```bash
132+
kubectl version --client
133+
```
134+
135+
---
136+
137+
#### Kind
138+
139+
Kind (Kubernetes in Docker) allows you to create local Kubernetes clusters using Docker containers.
140+
141+
```bash
142+
kind create cluster --name devops-lab
143+
```
144+
145+
---
146+
147+
### 🔍 Verify the Cluster
148+
149+
Check cluster information:
150+
151+
```bash
152+
kubectl cluster-info
153+
```
154+
155+
Expected output:
156+
157+
```text
158+
Kubernetes control plane is running
159+
CoreDNS is running
160+
```
161+
162+
---
163+
164+
List all system pods:
165+
166+
```bash
167+
kubectl get pods --all-namespaces
168+
```
169+
170+
Example output:
171+
172+
```text
173+
kube-apiserver
174+
etcd
175+
coredns
176+
kube-scheduler
177+
kube-controller-manager
178+
kube-proxy
179+
```
180+
181+
---
182+
183+
### 🧠 Architecture Overview
184+
185+
```text
186+
Laptop (Ubuntu)
187+
188+
189+
Docker Engine
190+
191+
192+
Kind Cluster Container
193+
194+
195+
Kubernetes Control Plane
196+
197+
198+
Pods and Applications
199+
```
200+
201+
---
202+
203+
### 🎉 Milestone Achieved
204+
205+
At this point, the local Kubernetes cluster is running successfully.
206+
207+
You can now:
208+
209+
- Deploy Pods
210+
- Scale applications
211+
- Expose services
212+
- Manage configurations
213+
- Explore Kubernetes networking
214+
215+
The next step is learning how Pods work inside the cluster.

checkpoints/checkpoint-28-kubernetes-pods.md

Whitespace-only changes.

checkpoints/checkpoint-29-kubernetes-deployments.md

Whitespace-only changes.

labs/kubernetes/pods-lab/pod.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
3+
kind: Pod
4+
5+
metadata:
6+
name: hello-pod
7+
8+
spec:
9+
containers:
10+
- name: nginx-container
11+
image: nginx:latest
12+
ports:
13+
- containerPort: 80

0 commit comments

Comments
 (0)