您的位置:首页 > 理论基础 > 计算机网络

在k8s上配置ingress并启用HTTPS证书

2017-09-20 15:48 525 查看

第一步,定义Secret文件

该文件设置tls的证书私钥和公钥内容,通过base64编码的内容

tls.crt: 证书公钥

tls.key: 证书私钥

示例

apiVersion: v1
kind: Secret
metadata:
name: secret-tls
data:
tls.crt: xxxxx cat xxx.crt | base64 -w 0
tls.key: xxxxx cat xxx.pem | base64 -w 0
type: kubernetes.io/tls


第二步,定义ingress文件

如果希望http的强制转到https,把ingress.kubernetes.io/ssl-redirect设为true

hosts:如果是泛域名*,则需要添加该泛域名的定义

secretName:上一步的secret名称

backend:对应后端的service名称和端口

示例

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: secret-tls-ingress
annotations:
ingress.kubernetes.io/ssl-redirect: "False"
spec:
tls:
- hosts:
- aaa.com
- "*.aaa.com"
secretName: secret-tls
rules:
- host: aaa.com
http:
paths:
- backend:
serviceName: jira-svc
servicePort: 9000
path: /


第三步,部署secret,ingress文件

kubectl create -f xxx.yml

第四步,重启ingress-controller组件

由于目前的ingress-controller版本对tls证书的bug,需要重新启动才能生效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: