kubectl TLS保密自动化



我试图在gke入口(gpc LB7)上使用tls secret,我被卡住了。为了清楚起见,我可以使用kubectl命令创建tls密钥:

kubectl create secret tls wildcard-cert --cert fullchain.pem --key private.pem

这工作得很好,但为了自动化的目的,我希望能够使用相同的文件从一个yaml文件部署的秘密,这些通配符在多个地方使用,并存储在一个秘密引擎。

我不能使用secretgenerator,因为它似乎不支持tls,并且秘密类型tls似乎不能接受文件。

我希望能够创建:

---
apiVersion: v1
kind: Secret
metadata:
name: wildcard-cert
type: kubernetes.io/tls
data:
tls.crt: fullchain.pem
tls.key: private.pem

你应该能够使用secretGenerator,因为我不认为nginx关心它是TLS还是不透明的秘密。TLS秘密实际上只是一个具有已知布局的不透明秘密。

将您的密钥/证书文件:fullchain.pem重命名为tls.crt,private.pem重命名为tls.key

使用secretGenerator:

secretGenerator:
- name: wildcard-cert
files:
- tls.crt
- tls.key

应该生成如下的Secret:

apiVersion: v1
kind: Secret
metadata:
name: wildcard-cert
data:
tls.crt: |
MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
tls.key: |
MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...

应该与GKE Ingress一起工作。

编辑:

注意

kubectl create secret tls wildcard-cert --cert fullchain.pem --key private.pem

实际上会创建一个如下的secret:

apiVersion: v1
kind: Secret
metadata:
name: wildcard-cert
type: kubernetes.io/tls
data:
tls.crt: |
MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
tls.key: |
MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ....

,它应该等于secretGenerator在所有实际用途中生成的。

相关内容

  • 没有找到相关文章

最新更新