|NO.Z.00179|——————————|CloudNative|——|KuberNetes&配置管理.V10|——|secret.v02|创建特殊字符的secrets|
一、创建特殊字符的secrets,需要转译
### --- 创建特殊字符的secrets
~~~ 特殊字符,例如$,\,*,和!将被你解释外壳和需要逃逸。
~~~ 在大多数Shell中,最简单的转义密码方法是用单引号(')引起来。
~~~ 例如,如果您的实际密码是S!B\*d$zDsb
[root@k8s-master01 secrets]# kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password='S!B\*d$zDsb'
secret/dev-db-secret created
### --- 查看创建的特殊字符secrets.yaml配置文件
~~~ 可以查看一下这个值
[root@k8s-master01 secrets]# kubectl get secret dev-db-secret -oyaml
apiVersion: v1
data:
password: UyFCXCpkJHpEc2I= // 这是创建的文件内容;可以通过base64解密这个加密文件
username: ZGV2dXNlcg== // 这是创建的文件内容;可以通过base64解密这个加密文件
kind: Secret
metadata:
creationTimestamp: "2021-04-24T13:22:02Z"
manager: kubectl-create
operation: Update
time: "2021-04-24T13:22:02Z"
name: dev-db-secret
namespace: default
resourceVersion: "668294"
uid: 3211b867-8e89-433f-843c-f1a5995d3b67
type: Opaque
二、通过base64解密这个加密文件
### --- 通过base64解密这个加密文件
[root@k8s-master01 secrets]# echo "UyFCXCpkJHpEc2I=" | base64 --decode
S!B\*d$zDsb
[root@k8s-master01 secrets]# echo "ZGV2dXNlcg==" | base64 --decode
devuser
### --- 我们使用双引号查看执行结果
[root@k8s-master01 secrets]# kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password="S!B\*d$zDsb"
-bash: !B\*d$zDsb": event not found // 提示会报错
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
浙公网安备 33010602011771号