出现此错误可能有三种情况
- SSL 名字不对
- Ingress 配置 secretName 字段一定要在 hosts 最后一行
- secret 内容不正确
以上三种情况都会抛出同一个异常 Error getting SSL certificate ... Use default
笔者的是 secret 内容配置错误,不建议手动配置,推荐使用命令
kubectl create secret tls foo-tls-secret --key private.key --cert full_chain.pem -n kube-system
ingress 中
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: server-ingress
namespace: kube-system
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
- hosts:
- www.baidu.com
secretName: foo-tls-secret
rules:
- host: www.baidu.com
http:
paths:
- path: /
backend:
serviceName: myappservice
servicePort: 80