创建Secret(使用kubectl)

创建Secret(使用kubectl)

假设某个 Pod 需要访问数据库。在您执行 kubectl 命令所在机器的当前目录,创建文件 ./username.txt 文件和 ./password.txt 暂存数据库的用户名和密码,后续我们根据这两个文件配置 kubernetes secrets。

sh 复制代码
echo -n 'admin' > ./username.txt
echo -n '1f2d1e2e67df' > ./password.txt

执行命令 kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt 在 Kubernetes APIServer 中创建 Secret 对象,并将这两个文件中的内容存储到该 Secret 对象中,输出结果如下所示:

text 复制代码
secret "db-user-pass" created
  • 上述命令的执行效果与此命令执行效果相同: kubectl create secret generic db-user-pass --from-literal=username=admin --from-literal=password=1f2d1e2e67df
  • 如果您的密码中包含特殊字符需要转码(例如 $*\!),请使用 \ 进行转码。例如:实际密码为 S!B\*d$zDsb,kubectl 命令应该写成 kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password=S\!B\\*d\$zDsb。如果通过文件创建(--from-file),则无需对文件中的密码进行转码。

执行命令 kubectl get secrets,检查 Secret 的创建结果,输出信息如下所示:

sh 复制代码
NAME           TYPE     DATA   AGE
db-user-pass   Opaque   2      10s

执行命令 kubectl describe secrets/db-user-pass,查看 Secret 详情,输出信息如下所示:

sh 复制代码
Name:         db-user-pass
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
password.txt:  12 bytes
username.txt:  5 bytes
相关推荐
u0103055271 天前
Java实用类应用精讲
人工智能·1024程序员节
u0103055271 天前
Java I/O核心操作实战
人工智能·1024程序员节
u0103055272 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节
u0103055273 天前
Java模块化编程实战指南
人工智能·笔记·1024程序员节
u0103055274 天前
使用BufferedReader读取控制台输入
人工智能·1024程序员节
u0103055274 天前
泛型类与类型安全详解
人工智能·1024程序员节
u0103055276 天前
Java异常处理核心机制
人工智能·1024程序员节
炽天使32813 天前
Knife4j 4.5.0 + Spring Boot 3.4.11 版本兼容问题解决方案
1024程序员节
liguojun202516 天前
智慧文体旅系统选哪家?豆米跳跳十年技术沉淀支持源码交付
java·大数据·人工智能·物联网·1024程序员节