Ingress-controller高可用实战(二)
原创
©著作权归作者所有:来自51CTO博客作者You0tech的原创作品,请联系作者获取转载授权,否则将追究法律责任
Ingress + service + deployment(HTTP)
[root@k8smaster1 ingress]# cat ingress-demo.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: tomcat-deploy
namespace: default
labels:
component: ingress-demo
spec:
replicas: 2
selector:
matchLabels:
app: tomcat
release: canary
template:
metadata:
labels:
app: tomcat
release: canary
spec:
containers:
- name: tomcat
image: docker.io/library/tomcat:8.5-jre8-alpine
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
name: ajp
containerPort: 8009
---
apiVersion: v1
kind: Service
metadata:
name: tomcat
namespace: default
labels:
app: ingress-service-demo
spec:
selector:
app: tomcat
release: canary
ports:
- name: http
targetPort: 8080
port: 8080
- name: ajp
targetPort: 8009
port: 8009
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-demo
labels:
app: test
spec:
ingressClassName: nginx
rules:
- http:
paths:
- backend:
service:
name: tomcat
port:
number: 8080
path: /
pathType: Prefix
Ingress + service + deployment+secret(HTTPS)
[root@k8smaster1 ingress]# cat ingress-demo2.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: tomcat-deploy
namespace: default
labels:
component: ingress-demo
spec:
replicas: 2
selector:
matchLabels:
app: tomcat
release: canary
template:
metadata:
labels:
app: tomcat
release: canary
spec:
containers:
- name: tomcat
image: docker.io/library/tomcat:8.5-jre8-alpine
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
name: ajp
containerPort: 8009
---
apiVersion: v1
kind: Service
metadata:
name: tomcat
namespace: default
labels:
app: ingress-service-demo
spec:
selector:
app: tomcat
release: canary
ports:
- name: http
targetPort: 8080
port: 8080
- name: ajp
targetPort: 8009
port: 8009
---
apiVersion: v1
kind: Secret
metadata:
name: ingress-secret-demo
type: kubernetes.io/tls
data:
tls.crt: |
MIIDRzCCAi+gAwIBAgIJAOksL+SfMNzaMA0GCSqGSIb3DQEBCwUAMDoxCzAJBgNV
BAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRkwFwYDVQQDDBB0b21jYXQuY2hpbmEu
Y29tMB4XDTIzMDcwMTEyMzk1NFoXDTIzMDczMTEyMzk1NFowOjELMAkGA1UEBhMC
Q04xEDAOBgNVBAgMB0JlaWppbmcxGTAXBgNVBAMMEHRvbWNhdC5jaGluYS5jb20w
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTAoMofD8Stka3op1F711A
ECnEOJtibRj4dDg8yF8H5qVlAzbMtZ87P2KOIbdNW8M0tj8MHPGn/BE4oSCBl+w3
mXKGwjD8Bq/geuea3iOyHOIJ2g5U6fRs96/vM0pdMMqr2otvn+wkIBPy/7yIM2rA
HyGuTHDaGjtPzxumV+wxCZToWbZ77WhgqRIAbLkhfRz5VmjAVckdM6q+ud8UL5DL
tdR4laGRdmU9xItvzN4poGkzaLZlg0FGidEcAFf+mb4lzNtiZQHXTtC6up5Dhbq/
7pyJrnHgHZGOLvT9hpp8vMY9zoC4R+BREFQxxfwHEoD2luCMF5+AITPHzOArJxRl
AgMBAAGjUDBOMB0GA1UdDgQWBBSOkO+bcdleeVt2XtFOr3iQkr8wLTAfBgNVHSME
GDAWgBSOkO+bcdleeVt2XtFOr3iQkr8wLTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBCwUAA4IBAQAMwgJ9REzTxPaovEbB3AhuvzoRZDrAGc/2uF48cmfr3axg4IiF
k6NwDh2N9Pw6XQvRzgSOljCm8JBOehXaxO4ZpmNnB3sgcqreTjvCxkYBRlf9aOjt
dNGWE6MoyioHF0YvzfbTYB7WS5AxJPXTMcwt8CxV9dOoklifVbttQRUaFnYi+Qs+
aUo31NsnACUmETsiS9zG31TDpJ1yil9/5ergZGuKlgVY+/QbxvOsqzRWrqjH5uOv
mnsbdWZ2ptWw56RBj+QttRfweQHmBzrOZKR5pAbQ7OcM3FbDuvIDCdf5hKTOzEfQ
mGRtmRhFnKrtRxK8XHNqHqGW/1dCZNZ57Bil
tls.key: |
MIIEpQIBAAKCAQEA0wKDKHw/ErZGt6KdRe9dQBApxDibYm0Y+HQ4PMhfB+alZQM2
zLWfOz9ijiG3TVvDNLY/DBzxp/wROKEggZfsN5lyhsIw/Aav4Hrnmt4jshziCdoO
VOn0bPev7zNKXTDKq9qLb5/sJCAT8v+8iDNqwB8hrkxw2ho7T88bplfsMQmU6Fm2
e+1oYKkSAGy5IX0c+VZowFXJHTOqvrnfFC+Qy7XUeJWhkXZlPcSLb8zeKaBpM2i2
ZYNBRonRHABX/pm+JczbYmUB107QurqeQ4W6v+6cia5x4B2Rji70/YaafLzGPc6A
uEfgURBUMcX8BxKA9pbgjBefgCEzx8zgKycUZQIDAQABAoIBAQCsAnBIoIAKEOy0
5aqvR+EMSCDEBCEmqyif4J23bt+I4UwSe/xABA45jgIZOwLh3NvULHxYs3+LIMAp
GbAV9HJrIHtrvwGPcSQOKiKC7HLMzx60ST1FmzHVYlPY+ka0kQGl9hGUfRlSmZOp
ky9tF/z9gGNEYqvcH2YaOQqhHys7DMjVhSRb/esgP+sWdI6UmvoJHEvrnu78NS54
8PNldxosi+DJ+81msJARlcRVgmUh0DpCGv19yuttyC5UWxKC7gXIis3UT0C11o7/
eQJ+5D3Y7eVeoXVyTF1KF4scglJkq2/e333tyiY1ThtTHrni9fJlerOClq9EIWfG
vrwjKPxBAoGBAPeh0dnLYGN3McVsWan/09PRiZNZikoW5kVq0gtIyz/6DdsVlO8n
WgeREaQujxom7u0sygWleDxm4D1uGFwCtSVYyHAiKN0DvVwiDZZmMlfReh00rSiP
+BCJZFB6KXbvtJpcgcjZ62KkC+hTZ30KLWNrwTgoNU1YsBpImzapL4A/AoGBANoj
4r601Vx6Pfj6Wn24ztxD1LTbDP94NqaBhtuVhPqMUVmn3lBD8GbdWyo1yQYAwDlP
5BQSbDElpP7NrdX3Iwp4cqOvHP3uNuKqRYRqNlgidR5wMKYQu2UoHPX+WrDR0KQM
d77IKkDNgSjuHWr4EMqbj/+nOlQsHYydmcQGvAJbAoGBAOzKpCwrOcRjGgi6jxLs
OtZ1q6RnHsGyHAeNGcUImrJWniE9BemaK5DIu6HPk69iQ14wUg4MKGk5xnt3Z3u0
axuHRkNTpteQ1+Xd+jgzCTjIaoi68kmzQXYuqun5puTAWmawxroVB+yPCYPjHTaI
INbNFzpn2HBZuiun+iPOrElpAoGAI0P37ULI14l/qVe392lAMAXbRl2/bTGfDC4W
gjta4zJ6GFd2Ll29aLPSgDFvzUOjz+AljEUqLovab8MKnnO0u4WbavDta/Pt9Zj3
Yh/Vp0vyyTfz9XTxBrqEbBRxzvIsm8jUNwifJBjVD6vnH5r5A/hAQGFloaP8JvZ3
nGRGUs8CgYEAiF20YtP+P5x8AytfzEYa5vKqKqgKUoAA6wcSPsL/AvUctIu9zgTh
JN618jzjKxh7Vofm94GyRXChYHkPCTmoJoHQGX7EWnkdQGj7yTlAUOyqVbMod+1C
qFm7G8FvYwQgunXAYdoIZpkp/X+DH91ftWjK4wIJzqmsuEFWiAEWi2Y=
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-demo
labels:
app: test
spec:
ingressClassName: nginx
tls:
- hosts:
- tomcat.china.com
secretName: ingress-secret-demo
rules:
- http:
paths:
- backend:
service:
name: tomcat
port:
number: 8080
path: /
pathType: Prefix