Skip to content

Secret

安全的文件保存方式

  • Opaque
  • kubernetes.io/service-account-token
  • kubernetes.io/dockercfg
  • kubernetes.io/dockerconfigjson
  • kubernetes.io/basic-auth
  • kubernetes.io/ssh-auth
  • kubernetes.io/tls
  • bootstrap.kubernetes.io/token

Opaque

yaml
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: dXNlcm5hbWUNCg==
  password: cGFzc3dvcmQNCg==

deployment.yaml

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: secret-deploy
  name: secret-deploy
spec:
  selector:
    matchLabels:
      app: secret-deploy
  template:
    metadata:
      labels:
        app: secret-deploy
    spec:
      containers:
        - name: secret-deploy
          image: nginx
          env:
            - name: USERNAME
              valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: username
            - name: PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: password

挂载卷

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: secret-deploy-volume
  name: secret-deploy-volume
spec:
  selector:
    matchLabels:
      app: secret-deploy-volume
  template:
    metadata:
      labels:
        app: secret-deploy-volume
    spec:
      containers:
        - name: secret-deploy-volume
          image: nginx
          volumeMounts:
            - name: secret-volume
              mountPath: /etc/secret-volume
      volumes:
        - name: secret-volume
          secret:
            secretName: mysecret