• k8s的secret基本概念及案例


    secret相对于configMap,功能上是相似的
    但是secret是以其他编码方式去记录配置信息的,但是也可以被解读,只不过有技术门槛,不是那么容易就被解读。
    使用base64可以解码:echo ******** | base64 -d
    ********是kubectl describe secret secretName -o yaml中的值的编码

    pod.spec.volumes.secret

    secret有三种类型:(查看:kubectl create secret --help)
      docker-registry  一般保存docker-registry的认证信息
      generic  通用的,一般保存一些密码数据
      tls  一般保存私钥或证书

    pod创建时若连接到私有仓库中需要认证,则要创建专用的secret (docker-registry)类型的
    pod.spec.imagePullSecrets字段中需要指明secret的name

    generic方式的secret,里面的键值虽说不是铭文,但是解码的技术手段要求不高。
    对于密码类型的信息,最好用数据卷挂载方式来实现信息的注入,然后以文件形式挂载到挂载点,设置权限。

    例:用数据卷方式,将mysql的密码注入到pod的容器中。
    1.创建secret
    kubectl create secret generic test --from-literal=MYSQL_ROOT_PASSWORD=smb@nds

    2.创建pod

     1 vim myapp-demo.yaml
     2 apiVersion: apps/v1
     3 kind: Deployment
     4 metadata:
     5   name: myapp-demo
     6   namespace: default
     7 spec:
     8   replicas: 1
     9   selector:
    10     matchLabels:
    11       app: myapp
    12   template:
    13     metadata:
    14       labels:
    15         app: myapp
    16     spec:
    17       containers:
    18       - name: myapp
    19         image: ikubernetes/myapp:v1
    20         imagePullPolicy: IfNotPresent
    21         ports:
    22         - name: http
    23           containerPort: 80
    24         volumeMounts:
    25         - name: mysql
    26           mountPath: /test/
    27       volumes:
    28       - name: mysql
    29         secret:
    30           secretName: test

    3.启动pod,查看信息是否注入

    1 kubectl apply -f myapp-demo.yaml
    2 kubectl exec -it myapp-demo-75f8f9bf9f-8nbdv -- /bin/sh
    3 / # cat test/MYSQL_ROOT_PASSWORD
    4 smb@nds/ #


    可以看到,信息注入后是明文的,可以设置查看访问权限解决。


       

  • 相关阅读:
    e870. 获取默认外观的数据
    e867. 获取和设置外观
    e776. 设置JList组件项的提示语
    e775. 设置JList组件项的维数
    e781. 设置JList中的选择模式
    e784. 监听对JList选择变动
    e780. 设置JList中的已选项
    e782. 排列JList中的项
    e779. 获得JList中的已选项
    e777. 获得JList组件的所有项
  • 原文地址:https://www.cnblogs.com/Smbands/p/10877529.html
Copyright © 2020-2023  润新知