Menu Close
Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
34.5. 验证数据是否已加密
当写入到 etcd 时,数据会被加密。在重启 API 服务器后,任何新创建的或更新的 secret 在存储时都应加密。要检查,您可以使用 etcdctl
命令行程序来检索 secret 的内容。
在
default
命名空间中创建一个名为secret1
的新 secret:$ oc create secret generic secret1 -n default --from-literal=mykey=mydata
使用
etcdctl
命令行,从 etcd 中读取该 secret:$ ETCDCTL_API=3 etcdctl get /kubernetes.io/secrets/default/secret1 -w fields [...] | grep Value
[…]
必须是连接到 etcd 服务器的额外参数。最后的命令类似如下:
$ ETCDCTL_API=3 etcdctl get /kubernetes.io/secrets/default/secret1 -w fields \ --cacert=/var/lib/origin/openshift.local.config/master/ca.crt \ --key=/var/lib/origin/openshift.local.config/master/master.etcd-client.key \ --cert=/var/lib/origin/openshift.local.config/master/master.etcd-client.crt \ --endpoints 'https://127.0.0.1:4001' | grep Value
- 验证上述命令的输出是否以 k8s:enc:aescbc:v1:v1:v1: 前缀 为 aescbc 提供程序加密生成的数据。
在通过 API 检索时,验证 secret 是否被正确解密:
$ oc get secret secret1 -n default -o yaml | grep mykey
这应与 mykey 匹配:bXlkYXRh。