K8S之Secret

简介

secret顾名思义,用于存储一些敏感的需要加密的数据。这些数据可能是要保存在pod的定义文件或者docker的镜像中。把这些数据通过加密的方式存放到secrets对象中,可以降低信息泄露的风险。在secret中存储的数据都需要通过base64进行转换加密后存放。

创建secret

1、加密用户名密码

假设有两个敏感数据,分别是用户名breeze,密码:123456。首先需要使用base64来转换数据:

echo -n "breeze"| base64
YnJlZXpl
echo -n "123456"| base64
MTIzNDU2

然后创建一个secret.yml文件,内容如下:

apiVersion: v1
kind: Secret
metadata:
  name: test-secret
data:
  username: YnJlZXpl
  password: MTIzNDU2

创建secret:

kubectl create -f secret.yml

也可以直接使用命令行生成secret:

 kubectl create secret generic test-secret --from-literal=username='breeze',password='123456'

2、加密证书文件

kubectl create secret tls ingress-secret --key server.key --cert ca.crt

使用secret

1、使用volume挂载方式

给出一个pod示例:

apiVersion: v1
kind: Pod
metadata:
  name: secret-test-pod
spec:
  containers:
    - name: test-container
      image: nginx
      volumeMounts:
          - name: secret-volume
            mountPath: /etc/secret-volume
  volumes:
    - name: secret-volume
      secret:
        secretName: test-secret

2、将secret用于env

创建一介secret.yml文件,内容如下:

apiVersion: v1
data:
  data-1: c2ltb25zdQ==
  data-2: c2ltb25zdS5tYWlsQGdtYWlsLmNvbQ==
kind: Secret
metadata:
  name: test-secret
  namespace: default
type: Opaque

与configmap的用法一致,下面直接贴上示例文件:

apiVersion: v1
kind: Pod
metadata:
  name: secret-by-env
spec:
  containers:
  - name: busydayeasylife
    image: gcr.io/google_containers/busybox:1.24
    command:
    - /bin/sh
    - -c
    - --
    args:
    - "while [ true ]; do echo $NAME; echo $EMAIL; sleep 30; done;"
    env:
    - name: NAME
      valueFrom:
        secretKeyRef:
          name: test-secret
          key: data-1
    - name: EMAIL
      valueFrom:
        secretKeyRef:
          name: test-secret
          key: data-2

转载于:https://www.cnblogs.com/breezey/p/9101738.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值