为了在 Kubernetes 中使用自创的证书,您需要做以下几个步骤:
- 生成证书和私钥
您可以使用 OpenSSL 工具来生成自己的 SSL 证书和私钥。假设您已经安装了 OpenSSL,那么可以使用以下命令来生成自己的证书和私钥:
$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
这条命令将生成一个有效期为 365 天的自签名证书和私钥。
- 创建 Kubernetes Secret
接下来,您需要将证书和私钥存储到 Kubernetes Secret 中。您可以使用以下命令创建一个名为 my-secret 的 Kubernetes Secret:
$ kubectl create secret tls my-secret --cert=cert.pem --key=key.pem
这条命令将使用您之前生成的证书和私钥来创建一个 TLS 类型的 Kubernetes Secret。
- 使用证书和私钥
最后,您可以在 Kubernetes 中使用您的证书和私钥。例如,在部署 Nginx Ingress Controller 时,您可以指定您之前创建的 Secret:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
tls:
- hosts:
- example.com
secretName: my-secret
rules:
- host: example.com
http:
paths:
- path: /
backend:
serviceName: example-service
servicePort: 80
这个 Ingress 将使用您的证书和私钥来加密与客户端的通信。