Secret热更新
(相关资料图)
在 Kubernetes 中,Secret 对象不仅可以用来存储敏感信息,如访问私有镜像仓库的凭证、HTTPS 证书等,还可以实现 Secret 对象的热更新。
创建一个 Secret 对象
首先,我们需要创建一个 Secret 对象。可以使用以下命令来创建一个 Secret 对象:
$ kubectl create secret generic my-secret --from-literal=foo=bar
在这个命令中,my-secret
参数指定了 Secret 对象的名称,--from-literal
参数用于指定要存储的键值对。
可以使用以下命令来查看刚创建的 Secret 对象的详细信息:
$ kubectl describe secret my-secret
创建一个 Pod 对象
接下来,我们需要创建一个使用上一步中创建的 Secret 对象的 Pod 对象。可以使用以下 YAML 配置文件来创建一个简单的 Pod 对象:
apiVersion: v1kind: Podmetadata: name: my-podspec: containers: - name: my-container image: busybox command: - sh - -c - while true; do echo $foo; sleep 10; done env: - name: foo valueFrom: secretKeyRef: name: my-secret key: foo
在这个配置文件中,我们创建了一个使用上一步中创建的 Secret 对象的 Pod 对象。其中,env
属性将 Secret 对象中的 foo
键值对作为环境变量传递给了容器,容器将会每隔 10 秒钟打印一次环境变量 foo
的值。
可以使用以下命令来部署 Pod 对象:
$ kubectl apply -f pod.yaml
更新 Secret 对象
当需要更新 Secret 对象中的键值对时,可以使用以下命令来更新 Secret 对象:
$ kubectl create secret generic my-secret --from-literal=foo=baz --dry-run=client -o yaml | kubectl apply -f -
在这个命令中,--from-literal
参数用于指定要更新的键值对,--dry-run=client -o yaml
参数用于生成更新后的 Secret 对象的 YAML 配置文件,| kubectl apply -f -
参数用于将更新后的 YAML 配置文件应用到 Kubernetes 中。
观察 Pod 对象
当更新了 Secret 对象后,我们可以观察 Pod 对象的日志,看到环境变量 foo
的值已经从 bar
变为了 baz
。
$ kubectl logs my-pod
关键词:
上一篇:【环球报资讯】中国铁路南昌局加开164列旅客列车应对返程客流高峰
下一篇:最后一页
-
中广核彭芳梅:深圳助力中广核成为世界核能大国强国2022-08-09
-
“莆田鞋”集体商标注册成功!代工企业如何谋求自创品牌?2022-06-21
-
河北大数据产业发展风生水起 基础设施日臻完善2022-03-18
-
河北沧州:学生“暖心小纸条”致敬“最美逆行者”2022-03-18