获取证书
可以选择购买证书,也有部分免费证书渠道。
这里使用自签名证书。
生成自签名证书:使用工具(如OpenSSL)生成自签名证书。请注意,自签名证书不受信任的证书颁发机构(CA)签署,因此在浏览器或客户端中可能会显示不安全的警告。以下是一个示例命令来生成自签名证书
openssl req -newkey rsa:2048 -nodes -keyout tls.key -x509 -days 365 -out tls.crt
创建Kubernetes Secret
将生成的私钥和证书文件添加到Kubernetes集群中的Secret对象。使用kubectl命令行工具执行以下命令:
kubectl create secret tls my-secret --cert=tls.crt --key=tls.key
创建Ingress资源
使用Ingress资源来配置HTTP和HTTPS路由规则。创建一个名为my-ingress的Ingress配置文件,并将以下内容添加到文件中
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
tls:
- hosts:
- your-domain.com
secretName: my-secret
rules:
- host: your-domain.com
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: your-service
port:
number: 80
创建资源:
kubectl apply -f my-ingress.yaml
其他
上面是ingress配置证书方式,还可以将证书配置在SLB/CLB或其他负载均衡器上。