K8S中Secret及ConfigMap的使用实录

2020-06-18  本文已影响0人  JohnYuCN

一、创建Secret对象

  1. acount.yml文件内容
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
data:
  username: cm9vdA==
  password: YWJj

注意:data中的value内容必须是base64编码格式,可以使用echo -n abc|base64完成。

  1. 创建
root@ali005:~/secret_configmap# kubectl apply -f acount.yml 
secret/mysecret created
root@ali005:~/secret_configmap# kubectl get secret
NAME                  TYPE                                  DATA   AGE
default-token-lbgdg   kubernetes.io/service-account-token   3      19d
mysecret              Opaque                                2      8s

二、在pod中或deployment中使用

  1. pod中,文件名:mybusybox.yml
apiVersion: v1
kind: Pod
metadata:
  name: mybusybox
spec:
  containers:
  - name: mybusy1
    image: busybox
    args:
    - httpd
    - -f
    env:
    - name: USERNAME
      valueFrom:
        secretKeyRef:
          name: mysecret
          key: username
    - name: PASSWORD
      valueFrom:
        secretKeyRef:
          name: mysecret
          key: password
  1. deploymnet中,文件名:mydeploy.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mydeploy
spec:
  selector:
    matchLabels:
      app: mybusy
  replicas: 3
  template:
    metadata:
      labels:
        app: mybusy
    spec:
      containers: 
      - image: busybox
        name: mybusy
        args:
        - httpd
        - -f
        env:
        - name: USERNAME
          valueFrom:
            secretKeyRef:
              name: mysecret
              key: username
        - name: PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysecret
              key: password

三、创建ConfigMap对象

  1. acount_cfg.yml文件内容
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
data:
  username: cm9vdA==
  password: YWJj
上一篇下一篇

猜你喜欢

热点阅读