zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    JavaScript寄生组合式继承分析
    常用的css命名规则:
    jshint配置(js检查)
    当页面关闭或刷新时提示用户
    Ionic 开发环境搭建
    VS Code前端开发利器-常用快捷键
    Uploadify 上传插件引起Chrome崩溃解决方法
    “全栈工程师”的尴尬
    redis集群升级,数据迁移及校验
    K-means
  • 原文地址:https://www.cnblogs.com/breezey/p/9101738.html
Copyright © 2011-2022 走看看