Kubernetes
CIS 1912
HW1 Recap
Docker/Docker Compose
Recap
Docker
Recap
docker run
Container
Task app
Running on port 80
Local Machine
Docker
Recap
docker run -p 80:80
Container
Task app
Running on port 80
Local Machine
Docker
Recap
docker run -p 80:8000
Container
Task app
Running on port 80
Local Machine
Docker
Recap
docker run -p 8000:80
Container
Task app
Running on port 80
Local Machine
Docker Compose
Recap
services:
web:
Image: web:v1
command: poetry run uvicorn main:app --host 0.0.0.0
--port _____
ports:
- "_____:_____"
depends_on:
- redis
redis:
image: redis:latest
command: ["redis-server", "--appendonly", "yes"]
Docker Compose → k8s
Clustering Wishlist
What is Kubernetes?
Pods
Pods
apiVersion: v1
kind: Pod
metadata:
name: static-web
labels:
app: nginx
release: stable
spec:
containers:
- name: web
image: nginx:1.21.6
ports:
- name: web
containerPort: 80
protocol: TCP
Nodes
Deployments
Deployments
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # pod count
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
Deployments
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # pod count
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
If we define a deployment,
do we need to define pods?
Services
Services
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 9376
https://dev.to/lovestaco/6-kubernetes-ports-a-definitive-look-expose-nodeport-targetport-more-2enc
Kubernetes Demo (github.com/cis1912/kube-demo)
Cattle not Pets
k8s in practice
…unless you h8 k8s
✨Extra Info✨
Microservice
apiVersion: v1
kind: Service
metadata:
name: micro-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
Microservice
Microservice
Microservice
Fin
Fin
Credits
Thanks to the kubernetes team for awesome images!!
Kube images:
https://kubernetes.io/docs/tutorials/kubernetes-basics/
Networking images: