配置Ingress

1.编写资源清单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
root@k8s-master01:~/yaml/chapter13# vim ingress-v1beta1-demo.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-v1beta1-demo
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: www.mylinuxops.com # 使用虚拟主机配置ingress
http:
paths:
- path:
backend:
serviceName: demoapp
servicePort: 80
# - host: www.mylinuxops.cn
# http:
# paths:
# - path: /foo # 使用路径配置ingress
# backend:
# serviceName: foo-svc
# servicePort: 80
# - path: /bar
# backend:
# serviceName: bar-svc
# servicePort: 8080
# tls:
# - hosts:
# - www.mylinuxops.com
# secretName: tls-mylinuxops
# backend:
# serviceName: default-backend
# servicePort: 80

2.应用资源清单

1
2
3
4
root@k8s-master01:~/yaml/chapter13# kubectl apply -f ingress-v1beta1-demo.yaml
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress

# v1beta1版本将会在k8s v1.22之后废弃。

部署deployment

1.编写deployment

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
root@k8s-master01:~/yaml/chapter13# vim deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-demo
spec:
replicas: 4
selector:
matchLabels:
app: demoapp
release: stable
template:
metadata:
labels:
app: demoapp
release: stable
spec:
containers:
- name: demoapp
image: ikubernetes/demoapp:v1.0
ports:
- containerPort: 80
name: http
---
apiVersion: v1
kind: Service
metadata:
name: demoapp
spec:
selector:
app: demoapp
release: stable
ports:
- name: http
port: 80
targetPort: 80

2.应用配置清单

1
2
3
root@k8s-master01:~/yaml/chapter13# kubectl  apply -f deployment.yaml
deployment.apps/deployment-demo created
service/ik8s created

测试访问

1
2
3
4
5
6
root@k8s-master01:~/yaml/chapter13# curl -H "HOST:www.mylinuxops.com" 172.16.11.83
iKubernetes demoapp v1.0 !! ClientIP: 192.168.131.3, ServerName: deployment-demo-fb544c5d8-d2k7v, ServerIP: 192.168.96.24!
root@k8s-master01:~/yaml/chapter13# curl -H "HOST:www.mylinuxops.com" 172.16.11.83
iKubernetes demoapp v1.0 !! ClientIP: 192.168.131.3, ServerName: deployment-demo-fb544c5d8-h97bv, ServerIP: 192.168.96.23!
root@k8s-master01:~/yaml/chapter13# curl -H "HOST:www.mylinuxops.com" 172.16.11.83
iKubernetes demoapp v1.0 !! ClientIP: 192.168.131.3, ServerName: deployment-demo-fb544c5d8-h97bv, ServerIP: 192.168.96.23!