Kubernetes (十一) 存储——Secret配置管理

一.  简介                                                                                                                     

                  从文件创建            

 echo -n 'admin' > ./username.txt

 echo -n 'westos' > ./password.txt

 kubectl create secret generic db-user-pass --from-file=./username.txt --from-  file=./password.txt

        编写yaml文件创建            

          1. 创建编辑文件                         vim mysecret.yaml

 apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: YWRtaW4=   #这两必须是base64编码后的值
  password: d2VzdG9z           

           2.  将secret挂载到Volume中       vim pod1.yaml

apiVersion: v1
kind: Pod
metadata:
  name: mysecret            
spec:
  containers:
  - name: nginx
    image: nginx
    volumeMounts:
    - name: secrets
      mountPath: "/secret"    #创建的目录挂载点
      readOnly: true              #只读
  volumes:
  - name: secrets
    secret:
      secretName: mysecret

    删除pod: kubectl delete  -f pod1.yaml

       向指定路径映射secret密钥        

                         1.   创建编辑文件          vim pod2.yaml    

                               
apiVersion: v1
kind: Pod
metadata:
  name: mysecret
spec:
  containers:
  - name: nginx
    image: nginx
    volumeMounts:
    - name: secrets     #定义的挂载名
      mountPath: "/secret"
      readOnly: true
  volumes:
  - name: secrets        #卷挂载
    secret:                 #哪个secret名称
      secretName: mysecret  #这个
      items:                 #因为secret有多组key
      - key: username        #指定的这个key
        path: my-group/my-username #这里是相对路径需要把base路径(/secret)加上就是绝对路径

    删除pod: kubectl delete  -f pod2.yaml         

     存储docker registry的认证信息    

                    1.    在私有仓库创建新项目(不公开)        

                       2.  创建编辑文件               vim pod3.yaml

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: game2048
      image: reg.westos.org/westos/game2048
  #imagePullSecrets:                  #拉取的密钥
  #    - name: myregistrykey       #这里先注释掉

             这里看到创建失败

                   3.  解决方案 创建secret密钥

kubectl create secret docker-registry myregistrykey --docker-server=reg.westos.org --docker-username=admin --docker-password=westos --docker-email=yakexi007@westos.org

                  4.  因为不是Deploment控制器创建的 得删除刚才的pod

                        kubectl delete pod --all

                  5. 修改配置文件 去掉刚才得注释选项即可    vim pod3.yaml

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: game2048
      image: reg.westos.org/westos/game2048
  imagePullSecrets:
    - name: myregistrykey


         

               

            

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 19:34:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 19:34:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 19:34:01       87 阅读
  4. Python语言-面向对象

    2024-01-13 19:34:01       96 阅读

热门阅读

  1. 独立按键控制继电器开关

    2024-01-13 19:34:01       65 阅读
  2. php文件实战分析

    2024-01-13 19:34:01       58 阅读
  3. QT 应用程序在 Windows 系统上出现中文乱码

    2024-01-13 19:34:01       61 阅读
  4. 【SPDK】【NoF】使用SPDK部署NVMe over TCP

    2024-01-13 19:34:01       51 阅读
  5. js join方法的使用

    2024-01-13 19:34:01       62 阅读
  6. 【算法笔记】分治专题

    2024-01-13 19:34:01       54 阅读
  7. 【JVM之再阅读】

    2024-01-13 19:34:01       58 阅读
  8. Go语言中的同步原语:ErrGroup、Semaphore和SingleFlight

    2024-01-13 19:34:01       70 阅读
  9. 网络设备远程运维管理解决方案

    2024-01-13 19:34:01       65 阅读
  10. ReactHooks:useEffect使用指南

    2024-01-13 19:34:01       76 阅读
  11. Vue的响应式编程

    2024-01-13 19:34:01       63 阅读