CRT证书
首先我们需要搞一个证书,然后我们会有一个 .crt文件和一个 .key文件
导入到K8S Secret
我们创建一个yaml
apiVersion: v1kind: Secretmetadata:name: home-certtype: Opaquedata:tls.crt: base64 encoded certtls.key: base64 encoded key
假定我们现在有1.crt和2.key两个文件
然后使用kubectl create secret tls home-cert -n home --cert=1.crt --key=2.key导入我们的证书
注意:貌似在secret里面指定**namespace**好像不太行,需要在create的时候手动指定**-n**参数才可以
创建Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: myhome
namespace: home
labels:
name: myhome
spec:
tls:
- hosts:
- www.daemonwow.com
secretName: home-cert
rules:
- host: www.daemonwow.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: myhome
port:
number: 80
和普通的ingress的yaml没啥大区别,唯一的地方是
tls:
- hosts:
- www.daemonwow.com
secretName: home-cert
这个地方有两个地方需要注意
- 这个地方需要指定你的域名和secret,域名错了容易出现HTTPS证书错误
- 创建之前先跑一下
kubectl describe secret home-cert -n home确认一下证书是不是存在,否则会出现404错误,注意一下namespace哈
