카타코더 k8s - Use Kubernetes To Manage Secrets And Passwords

1 개요[ | ]

카타코더 Kubernetes - Use Kubernetes To Manage Secrets And Passwords
카타코더 Kubernetes - Use Kubernetes to manage Secrets
카타코더 Kubernetes
# 🔗 제목
카타코더 Kubernetes/2 e
🡵 카타코더 k8s - Use Kubernetes To Manage Secrets And Passwords
🡵 카타코더 k8s - Deploy Docker Compose Files with Kompose
🡵 카타코더 k8s - Deploying from source onto Kubernetes
🡵 카타코더 k8s - Backup and Restore with Heptio Ark
🡵 카타코더 k8s - Helm Package Manager
🡵 카타코더 k8s - Installing Weave Scope on Kubernetes
🡵 카타코더 k8s - Getting Started with Kubeless

2 Create Secrets[ | ]

master:~$ username=$(echo -n "admin" | base64)
master:~$ password=$(echo -n "a62fjbd37942dcs" | base64)
master:~$ echo "apiVersion: v1
> kind: Secret
> metadata:
>   name: test-secret
> type: Opaque
> data:
>   username: $username
>   password: $password" >> secret.yaml
master:~$ cat secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: test-secret
type: Opaque
data:
  username: YWRtaW4=
  password: YTYyZmpiZDM3OTQyZGNz
master:~$ kubectl create -f secret.yaml
secret/test-secret created
master:~$ kubectl get secrets
NAME                  TYPE                                  DATA      AGE
default-token-p66gz   kubernetes.io/service-account-token   3         1m
test-secret           Opaque                                2         7s

3 Consume via Environment Variables[ | ]

master:~$ cat secret-env.yaml
apiVersion: v1
kind: Pod
metadata:
  name: secret-env-pod
spec:
  containers:
    - name: mycontainer
      image: alpine:latest
      command: ["sleep", "9999"]
      env:
        - name: SECRET_USERNAME
          valueFrom:
            secretKeyRef:
              name: test-secret
              key: username
        - name: SECRET_PASSWORD
          valueFrom:
            secretKeyRef:
              name: test-secret
              key: password
  restartPolicy: Never
master:~$ kubectl create -f secret-env.yaml
pod/secret-env-pod created
master:~$ kubectl exec -it secret-env-pod env | grep SECRET_
SECRET_USERNAME=admin
SECRET_PASSWORD=a62fjbd37942dcs
master:~$ kubectl get pods
NAME             READY     STATUS    RESTARTS   AGE
secret-env-pod   1/1       Running   0          21s

4 Consume via Volumes[ | ]

master:~$ cat secret-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: secret-vol-pod
spec:
  volumes:
  - name: secret-volume
    secret:
      secretName: test-secret
  containers:
    - name: test-container
      image: alpine:latest
      command: ["sleep", "9999"]
      volumeMounts:
          - name: secret-volume
            mountPath: /etc/secret-volume
master:~$ kubectl create -f secret-pod.yaml
pod/secret-vol-pod created
master:~$ kubectl exec -it secret-vol-pod ls /etc/secret-volume
password  username
master:~$ kubectl exec -it secret-vol-pod cat /etc/secret-volume/username
admin
master:~$ kubectl exec -it secret-vol-pod cat /etc/secret-volume/password
a62fjbd37942dcs

5 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}