关注分享主机优惠活动
国内外VPS云服务器

Kubernetes中secret的最基本使用(kubectl get Secrets)

总结:解决配置密码密钥等敏感数据的问题。 使用它可以避免以镜像或明文形式暴露这些敏感数据。 可以以环境变量的形式使用。

Secret解决了密码、令牌、密钥等敏感数据的配置问题。 机密可防止这些敏感数据以明文形式暴露给镜像或 Pod 规范。

Secret 可以用作卷变量或环境变量。

使用以下命令行创建机密。

kubectl 创建秘密通用 admin-access --from-file=./username.txt [k4 ]-from-file=./password.txt

输入文件username.txt和password.txt必须手动创建,用于测试的用户名和密码将被保留。 每人都有一个。

如果创建成功,你会看到secret类型是Opaque。

实际上有三个: Kubernetes Secret 类型:

1. 服务帐户:用于访问 Kubernetes API,由 Kubernetes 自动创建并自动放置在 pod 的 /run/secrets/kubernetes.io/serviceaccount 目录中。

2. Opaque:用于以Base64编码格式存储秘密,例如密码和密钥。

3.kubernetes.io/dockerconfigjson:用于存储私有 Docker 注册表凭据。

由于我们刚刚创建的secret是Opaque类型,所以kubectl get Secrets的返回结果显示密码和用户名值都是ba。se64 编码:

在 pod 内使用此秘密也非常容易。 让我们举个例子:

apiVersion: v1kind: Podmetadata:name: Secret-podspec:restartPolicy: Nevervolumes:- name:credentialssecret:secretName: admin [k4 ] accessdefaultMode: 0440containers:- name: Secret-containerimage: alpine :3.8command: [ "/bin/sh", "-c", "cat /etc/foo/username.txt /etc /foo / password.txt" ]volumeMounts:- name:credentialsmountPath:"/etc/foo" readOnly: true

创建一个 pod,自动运行它,并使用 log 命令记录该 pod。将会显示。

我们看到/bin/sh命令被执行了。 cat 命令的输出显示在 pod 挂载目录 /etc/foo 中的 username.txt 和 password.txt 中。 :

获取更多Jerry原创文章,请关注公众号“王子熙”:

未经允许不得转载:主机频道 » Kubernetes中secret的最基本使用(kubectl get Secrets)

相关推荐

评论 抢沙发

评论前必须登录!