Kubernetes 如何使用kubectl将根证书添加到现有的truststore.jks文件中?
我是kubernetes的新手,正在尝试将根证书添加到现有的secrets truststore.jks文件中。使用Kubernetes 如何使用kubectl将根证书添加到现有的truststore.jks文件中?,kubernetes,kubectl,Kubernetes,Kubectl,我是kubernetes的新手,正在尝试将根证书添加到现有的secrets truststore.jks文件中。使用get secret mysecret-o yaml。我可以在mysecret中查看truststore文件的详细信息,但不确定如何替换为新的truststore文件或使用最新的根证书编辑现有文件。有人能帮我用kubectl获得正确的命令吗 谢谢秘密是包含少量敏感数据(如密码、令牌或密钥)的对象。有一份关于这个问题的官方文件 假设您通过以下方式创建了您的秘密: $kubectl创建
get secret mysecret-o yaml
。我可以在mysecret中查看truststore文件的详细信息,但不确定如何替换为新的truststore文件或使用最新的根证书编辑现有文件。有人能帮我用kubectl获得正确的命令吗
谢谢秘密是包含少量敏感数据(如密码、令牌或密钥)的对象。有一份关于这个问题的官方文件 假设您通过以下方式创建了您的秘密:
$kubectl创建机密的通用名称\u OF \u secret--from file=keystore.jks
您可以通过调用以下命令来编辑您的机密:
$kubectl编辑机密名称
它将显示类似于以下内容的YAML
定义:
apiVersion: v1
data:
keystore.jks: HERE_IS_YOUR_JKS_FILE
kind: Secret
metadata:
creationTimestamp: "2020-02-20T13:14:24Z"
name: NAME_OF_SECRET
namespace: default
resourceVersion: "430816"
selfLink: /api/v1/namespaces/default/secrets/jks-old
uid: 0ce898af-8678-498e-963d-f1537a2ac0c6
type: Opaque
要将其更改为新的keystore.jks
您需要对其进行base64编码并粘贴到旧的位置(这里是您的\u jks\u文件
)
您可以通过以下方式获得base64编码字符串:
cat keystore.jks|base64
成功编辑您的秘密后,它会给您一条消息:
secret/NAME\u OF\u secret已编辑
你也可以看看这个
它展示了一种替换现有configmap的方法,但只要稍加修改,它也可以替换一个秘密
示例如下:
- 使用keystore-old.jks创建一个秘密:
$kubectl create secret generic my secret--from file=keystore old.jks
- 使用keystore-new.jks更新它:
$kubectl create secret generic my secret--from file=keystore-new.jks-o yaml--dry run | kubectl replace-f-
将keystore.jks
视为一个文件,可以使用卷装载将其装载到pod内的特定位置
下面的示例YAML
创建了一个秘密装载为卷的pod:
apiVersion: v1
kind: Pod
metadata:
name: ubuntu
spec:
containers:
- name: ubuntu
image: ubuntu
command:
- sleep
- "360000"
volumeMounts:
- name: secret-volume
mountPath: "/etc/secret"
volumes:
- name: secret-volume
secret:
secretName: NAME_OF_SECRET
具体看一下:
volumeMounts:
- name: secret-volume
mountPath: "/etc/secret"
volumes:
- name: secret-volume
secret:
secretName: NAME_OF_SECRET
此部分将把您的机密装载到/etc/secret/目录中。它将以名称keystore.jks
关于秘密的一句话:
装载的机密将自动更新
当更新卷中当前使用的秘密时,投影密钥最终也会更新。kubelet在每次定期同步时检查装载的机密是否新鲜
--。
如果您对此有任何疑问,请告诉我。您是如何从truststore.jks
创建现有机密的?您是否尝试通过运行命令kubectl edit secret mysecret
对其进行编辑?@DawidKruk我已获得mysecret yaml文件,我可以看到存在旧的truststore.jks文件,但不确定如何将新的truststore.jks文件添加到现有的yaml文件中。您能否将现有的yaml
粘贴到您的问题中(使用模糊的敏感数据)?