k8s学习(十五)Secret的使用


前言


一、创建Secret

1、base64加密

[root@k8s-master k8s]# echo -n "root" | base64
cm9vdA==
[root@k8s-master k8s]# echo -n "root123" | base64
cm9vdDEyMw==

2、secret.yaml

[root@k8s-master k8s]# cat secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: secret-test
data:
  username: cm9vdA==
  password: cm9vdDEyMw==

3、创建

[root@k8s-master k8s]# kubectl create -f secret.yaml
secret/secret-test created

4、查看secret

[root@k8s-master k8s]# kubectl get secret
NAME                                      TYPE                                  DATA   AGE
secret-test                               Opaque                                2      8s

5、查看secret详细信息

[root@k8s-master k8s]# kubectl describe secret secret-test
Name:         secret-test
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
password:  7 bytes
username:  4 bytes

二、使用Secret

1、设置环境变量

(1) secret-env.yaml

[root@k8s-master k8s]# cat secret-env.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: secret-env
  name: secret-env
spec:
  containers:
  - image: busybox
    name: secret-env
    command: [ "/bin/sh", "-c", "env" ]
    envFrom:
    - secretRef:
        name: secret-test

(2)创建

[root@k8s-master k8s]# kubectl create -f secret-env.yaml
pod/secret-env created

(3)查看日志

[root@k8s-master k8s]# kubectl logs secret-env
NGINX_SERVICE_NODEPORT_PORT=tcp://10.106.65.70:80
NGINX_SERVICE_NODEPORT_SERVICE_PORT=80
KUBERNETES_SERVICE_PORT=443
KUBERNETES_PORT=tcp://10.96.0.1:443
HOSTNAME=secret-env
SHLVL=1
username=root
password=root123

2、用作命令行参数

(1) secret-cmd.yaml

[root@k8s-master k8s]# cat secret-cmd.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: secret-cmd
  name: secret-cmd
spec:
  containers:
  - image: busybox
    name: secret-cmd
    command: [ "/bin/sh", "-c", "echo ${PASSWORD}" ]
    env:
    - name: PASSWORD
      valueFrom:
        secretKeyRef:
          name: secret-test
          key: password

(2)创建

[root@k8s-master k8s]# kubectl create -f secret-cmd.yaml
pod/secret-cmd created

(3)查看日志

[root@k8s-master k8s]# kubectl logs secret-cmd
root123

3、作为文件挂载

(1)secret-volume.yaml

rootroot123[root@k8s-master k8s]# cat secret-volume.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: secret-volume
  name: secret-volume
spec:
  volumes:
  - name: secrets
    secret:
      secretName: secret-test
  containers:
  - image: busybox
    name: secret-volume
    command: [ "/bin/sh", "-c", "cat /etc/secrets/username; cat /etc/secrets/password" ]
    volumeMounts:
    - name: secrets
      mountPath: "/etc/secrets"
      readOnly: true

(2)创建

[root@k8s-master k8s]# kubectl create -f secret-volume.yaml
pod/secret-volume created

(3)查看日志

pod/secret-volume created
[root@k8s-master k8s]# kubectl logs secret-volume
rootroot123
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_lrs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值