Skip to content

Commit b6a6f71

Browse files
committed
Add homework 9 - Kubernetes (Services, Ingresses)
1 parent bf3c649 commit b6a6f71

File tree

3 files changed

+140
-0
lines changed

3 files changed

+140
-0
lines changed

homework_9/app.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: ver1
5+
spec:
6+
selector:
7+
app: ver1
8+
ports:
9+
- protocol: TCP
10+
port: 80
11+
targetPort: 80
12+
selector:
13+
app: ver1
14+
---
15+
apiVersion: v1
16+
kind: Service
17+
metadata:
18+
name: ver2
19+
spec:
20+
selector:
21+
app: ver2
22+
ports:
23+
- protocol: TCP
24+
port: 80
25+
targetPort: 80
26+
selector:
27+
app: ver2
28+
---
29+
apiVersion: apps/v1
30+
kind: Deployment
31+
metadata:
32+
name: ver1
33+
spec:
34+
selector:
35+
matchLabels:
36+
app: ver1
37+
template:
38+
metadata:
39+
labels:
40+
app: ver1
41+
spec:
42+
containers:
43+
- name: ver1
44+
image: vuevska/homework8-image:1.0
45+
ports:
46+
- containerPort: 80
47+
---
48+
apiVersion: apps/v1
49+
kind: Deployment
50+
metadata:
51+
name: ver2
52+
spec:
53+
selector:
54+
matchLabels:
55+
app: ver2
56+
template:
57+
metadata:
58+
labels:
59+
app: ver2
60+
spec:
61+
containers:
62+
- name: ver2
63+
image: vuevska/homework8-image:2.0
64+
ports:
65+
- containerPort: 80

homework_9/commands.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# create a cluster
2+
k3d cluster create kube4 -p "80:80@loadbalancer" -a 1 -s 1
3+
4+
# add 127.26.0.2 ver1.203007.com & 127.26.0.4 ver2.203007.com
5+
# into the hosts file in /etc
6+
7+
# deploy 2 pods, and 2 services for the 2 versions of the images
8+
kubectl apply -f app.yml
9+
10+
# deploy the ingress manifest
11+
kubectl apply -f k3ing-complex.yml
12+
13+
# delete the cluster
14+
k3d cluster delete kube4

homework_9/k3ing-complex.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
apiVersion: traefik.containo.us/v1alpha1
2+
kind: Middleware
3+
metadata:
4+
name: mcu-all
5+
spec:
6+
stripPrefix:
7+
forceSlash: false
8+
prefixes:
9+
- /ver1
10+
- /ver2
11+
---
12+
apiVersion: networking.k8s.io/v1
13+
kind: Ingress
14+
metadata:
15+
name: ingress
16+
annotations:
17+
ingress.kubernetes.io/ssl-redirect: 'false'
18+
traefik.ingress.kubernetes.io/router.middlewares: default-mcu-all@kubernetescrd
19+
spec:
20+
rules:
21+
- host: localhost
22+
http:
23+
paths:
24+
- path: /ver1
25+
pathType: Prefix
26+
backend:
27+
service:
28+
name: ver1
29+
port:
30+
number: 80
31+
- host: localhost
32+
http:
33+
paths:
34+
- path: /ver2
35+
pathType: Prefix
36+
backend:
37+
service:
38+
name: ver2
39+
port:
40+
number: 80
41+
- host: ver1.203007.com
42+
http:
43+
paths:
44+
- path: /
45+
pathType: Prefix
46+
backend:
47+
service:
48+
name: ver1
49+
port:
50+
number: 80
51+
- host: ver2.203007.com
52+
http:
53+
paths:
54+
- path: /
55+
pathType: Prefix
56+
backend:
57+
service:
58+
name: ver2
59+
port:
60+
number: 80
61+

0 commit comments

Comments
 (0)