k8s 使用nginx 对外提供服务,在当前全面https的大环境下,https是必须的。
本文简单介绍,如何配置ingress 的https
首先需要https 证书
如果个人网站,可以使用 Let’s Encrypt 生成免费证书
letsencrypt/letsencrypt-auto certonly --email foo@gmail.com -d foo.cn --standalone
使用证书创建secret
kubectl create secret tls foo.cn --key /etc/letsencrypt/live/www.wafunny.com/privkey.pem --cert /etc/letsencrypt/live/www.wafunny.com/fullchain.pem
创建ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: foo-tls
namespace: default
spec:
tls:
- hosts:
- foo.cn
secretName: foo.cn
- hosts:
- bar.cn
secretName: bar.cn
rules:
- host: foo.cn
http:
paths:
- backend:
serviceName: foo-svc
servicePort: 80
path: /
- host: bar.cn
http:
paths:
- backend:
serviceName: bar-svc
servicePort: 80
path: /