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

一.  简介                                                                                                                     Kubernetes (十一) 存储——Secret配置管理_第1张图片

Kubernetes (十一) 存储——Secret配置管理_第2张图片

                  从文件创建            

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

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

 kubectl create secret generic db-user-pass --from-file=./username.txt --from-  file=./password.txtKubernetes (十一) 存储——Secret配置管理_第3张图片

        编写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

Kubernetes (十一) 存储——Secret配置管理_第4张图片

    删除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)加上就是绝对路径Kubernetes (十一) 存储——Secret配置管理_第5张图片

    删除pod: kubectl delete  -f pod2.yaml         

     存储docker registry的认证信息    

                    1.    在私有仓库创建新项目(不公开)        Kubernetes (十一) 存储——Secret配置管理_第6张图片

                       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 [email protected]Kubernetes (十一) 存储——Secret配置管理_第7张图片

                  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


         

               

            

你可能感兴趣的:(kubernetes,容器,云原生,linux,运维)