Inject secret as env variable

vim envsecret.yaml
apiVersion: v1
kind: Pod
metadata:
    name: firstPod
spec:
    containers:
        - image: image:latest
          name: firstcontainer
          env:
            name:myvariable
            valueFrom:
                secretKeyRef:
                    key: variable1
                    name: myenvsec
kubectl apply -f envsecret.yaml

the above command will create a pod and it will have our secret value. Now we will execute the above-created pod and use kubectl exec command and when we use the env command we will be able to see the secret which we inserted in the env list

To inject multiple secret

vim multisecret.yaml
apiVersion: v1
kind: Pod
metadata:
  name: firstPod
spec:
  containers:
    - image: image:latest
      name: firstcontainer
      envFrom:
        secretKeyRef:
          name: myenvsec
kubectl apply -f multisecret.yaml

we can use the above YAML file to inject multiple secret values inside the pod

Inject secret as file

vim injectfilesecret.yaml
apiVersion: v1
kind: Pod
metadata:
    name: firstPod
spec:
    containers:
        - image: image:latest
          name: firstcontainer
          volumeMounts:
            - mountPath: /secrets
              name: volumename
    volumes:
      - name : vaolumename
        - secret
           mysecretName: mysecretenv
kubectl apply -f injectfilesecret.yaml

in the above YAML file definition, we have mounted one volume and that volume contains a secret name mysecretenv file, we can use this in our pod definition to inject secret as a file