Ingress
Yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test
spec:
rules:
- host: xxx.ctg.com # optional
http:
paths:
- path: /foo
backend:
serviceName: service1
servicePort: xxHTTPS
假设我们想通过https://tomcat.ctg.com来访问tomcat服务,步骤如下。
首先,制作证书,此处我们使用自签名证书
生成的tls.key与tls.crt的内容如下
然后,创建一个secret,用来存储tls.key与tls.crt。在存储tls.key与tls.crt文件内容到secret时,要把文件的首尾两行去掉,然后把中间的行拼成一行(即去掉换行符),最后secret的内容如下:
然后,创建一个Ingress(记得要创建deployment与service)
然后,我们在就能访问了https://tomcat.ctg.com了
未定义行为
1. 同一个Ingress中path相同
以上的Ingress可以创建成功,不会报错,但是当我们访问x.x.x.x:80/foo时,是不确定Nginx-Ingress-Controller会转发到test:8080还是test:8081
2. 两个Ingress的Host相同
非法行为
1. 同一个Ingress中的Host相同
以下Yaml文件创建时会报错,因为host一样
Last updated
Was this helpful?