Ingress

创建Ingress
访问Ingress
Ingress处理TLS传输
创建私钥和证书
创建Secret资源
将Secret资源绑定至Ingress对象中
访问Ingress
Last updated

Last updated
apiVersion: extensions/v1beta1
kind: Ingress # 资源类型是Ingress
metadata:
name: kubia
spec:
tls: # 当需要使用TLS时,也就是客户端通过HTTPS与Ingress控制器交互时,才需要加
- hosts:
- kubia.example.com # 将接收访问kubia.example.com主机的TLS连接
secretName: tls-secret # 存放了TLS私钥和证书的Secret资源名
rules:
- host: kubia.example.com
http: # 转发HTTP流量
paths:
- path: /kubia # 将kubia.example.com/kubia的请求转发至kubia服务
backend:
serviceName: kubia # 后端的Service名
servicePort: 80 # Service暴露的Port
- path: /foo # 将kubia.example.com/foo的请求转发至bar服务
backend:
serviceName: bar # 后端的Service名
servicePort: 80
- host: foo.example.com
http:
paths:
- path: /foo # 将foo.example.com/foo的请求转发至foo服务
backend:
serviceName: foo # 后端的service名
servicePort: 80>>> get ingresses -o wide
NAME HOSTS ADDRESS PORTS AGE
kubia kubia.example.com 192.168.99.106 80 39s192.168.99.106 kubia.example.comopenssl genrsa -out tls.key 2048openssl req -new -x509 -key tls.key -out -tls.cert -days 360 -subj /CN=kubia.example.comkubectl create secret tls tls-secret --cert=tls.cert --key=tls.keyapiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kubia
spec:
tls: # 使用TLS连接
- hosts:
- kubia.example.com # 接收访问kubia.example.com的TLS连接
secretName: tls-secret # 需要绑定的Secret资源的名字
rules:
- host: kubia.example.com
http:
paths:
- path: /
backend:
serviceName: kubia-nodeport
servicePort: 80NAME HOSTS ADDRESS PORTS AGE
kubia kubia.example.com 192.168.99.106 80, 443 17hcurl -k https://kubia.example.com