gpt4 book ai didi

ssl - Kubernetes 入口 tls

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:45 26 4
gpt4 key购买 nike

我使用以下命令在本地生成 key 。

openssl genrsa -out testsvc.testns.ing.lb.xyz.io.key.pem 2048

并使用以下命令生成 CSR(证书签名请求)。

openssl req -new -sha256 -key testsvc.testns.ing.lb.xyz.io.key.pem -subj "/CN=testsvc.testns.ing.lb.xyz.io"

我使用上面的 CSR 文件生成了证书链文件,最后得到了下面的文件。

testsvc.testns.ing.lb.xyz.io.chain.pem

我正在尝试将它们用于入口 tls,下面是入口 tls 的命令。

kubectl create secret tls custom-tls-cert --key /path/to/tls.key --cert /path/to/tls.crt

不确定,我如何通过上述命令使用 chain.pem 文件和 key.pem 文件。尝试从 chain.pem 生成 crt 并在 kubectl create secret 上出错。

"error: failed to load key pair tls: failed to find any PEM data in certificate input"

我想创建以下 secret 。

apiVersion: v1
data:
tls.crt: base64 encoded cert
tls.key: base64 encoded key
kind: Secret
metadata:
name: testsecret
namespace: default
type: Opaque

不确定如何使用 chain.pem 文件生成 .crt 和 .key 文件。

谢谢

最佳答案

首先,让我们弄清楚 key 、CSR 和证书是什么。

key - 本地生成的 secret 文件显示/发送给任何人 (key.pem)
csr - 由 key.pem 生成的文件 (request.pem),需要发送给 CA(证书颁发机构)。 (您可以拥有自己的 CA,但通常由其他人管理)。
cert - CA根据request.pem和自己的CA私钥创建的文件(cert.pem)

现在您可以使用这两个文件 - key.pemcert.pem - 在您的服务和客户端之间创建安全连接。

我想您只创建了一个 key 和一个请求。因此,您需要更进一步并从 CA 获得证书。

出于测试目的,您可以使用一条命令创建新 key 和自签名证书:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/C=US/ST=Florida/L=Miami/O=SomeCompany/OU=ITdepartment/CN=www.mydomain.com"

(根据自己的需要调整)

key 和证书有多种类型,很容易找到将一种格式转换为另一种格式的方法。

创建 Secret 时使用 PEM 格式的证书和 key 应该可以正常工作。

只需将 key 和证书插入该命令,如下所示:

kubectl create secret tls testsecret --key key.pem --cert cert.pem  

此命令创建一个 Secret 对象并使用 base64 对 key.pemcert.pem 内容进行编码。

您可以使用以下命令检查创建的对象的内容:

kubectl get secret testsecret -o yaml

echo "tls.crt: content" | base64 --decode

例如:

echo "LS0t...tLS0tLQo=" | base64 --decode

在此处阅读有关使用和生成证书的更多信息:
https://www.sslshopper.com/article-most-common-openssl-commands.html

How to create a self-signed certificate with openssl?

https://docs.bitnami.com/kubernetes/how-to/secure-kubernetes-services-with-ingress-tls-letsencrypt/

https://kubernetes.io/docs/concepts/configuration/secret/

关于ssl - Kubernetes 入口 tls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49803845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com