반응형
Secret 을 생성하고 해당 Secret을 사용하는 파드를 생성한 후에 파드에서 secret 정보를 확인한다. 상세 조건은 다음과 같다.
- Secret
- name : secret1
- Secret
- name : secret2
- 하단의 특정 값을 환경변수로 지정
- user=user1
- pass=1234
- Pod
- name : secret-pod
- secret1 사용 : Readonly 모드로 /tmp/secret1 경로에 마운트
- secret2 사용 : APP_USER (user=user1 사용), APP_PASS (pass=1234 사용)
먼저 test-namespace를 생성한다.
kubectl create ns test-namespace
yaml 파일을 통해 1번째 Secret 을 생성한다.
apiVersion: v1
data:
halt: IyEgL2Jpbi9zaAo...
kind: Secret
metadata:
name: secret1
namespace: test-namespace
---
### Secret 생성
kubectl apply -f secret1.yaml
kubectl 명령어를 사용해 2번째 Secret 을 생성한다.
kubectl create secret -n test-namespace generic secret2 --from-literal=user=user1 --from-literal=pass=1234
다음으로, secret 을 사용하는 파드를 생성한다.
apiVersion: v1
kind: Pod
metadata:
labels:
run: secret-pod
name: secret-pod
namespace: test-namespace
spec:
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
containers:
- args:
- sh
- -c
- sleep 1d
image: busybox:1.31.1
name: secret-pod
resources: {}
env:
- name: APP_USER
valueFrom:
secretKeyRef:
name: secret2
key: user
- name: APP_PASS
valueFrom:
secretKeyRef:
name: secret2
key: pass
volumeMounts:
- name: secret1
mountPath: /tmp/secret1
readOnly: true
dnsPolicy: ClusterFirst
restartPolicy: Always
volumes:
- name: secret1
secret:
secretName: secret1
구동된 파드의 정보를 조회하여 secret이 정상적으로 mount 된 것을 확인한다.
kubectl exec -n test-namespace secret-pod -- env | grep APP
APP_PASS=1234
APP_USER=user1
kubectl exec -n test-namespace secret-pod -- find /tmp/secret1
/tmp/secret1
/tmp/secret1/..data
/tmp/secret1/halt
/tmp/secret1/..2019_12_08_12_15_39.463036797
/tmp/secret1/..2019_12_08_12_15_39.463036797/halt
kubectl exec -n test-namespace secret-pod -- cat /tmp/secret1/halt
#! /bin/sh
### BEGIN INIT INFO
# Provides: halt
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop: 0
# Short-Description: Execute the halt command.
# Description:
...
'소프트웨어 아키텍처 > Kubernetes' 카테고리의 다른 글
[Kubernetes] 1-21. static pod, service 생성 (0) | 2022.05.11 |
---|---|
[Kubernetes] 1-20. 클러스터 업그레이드 및 클러스터 조인 (0) | 2022.05.11 |
[Kubernetes] 1-18. Kubelet 수정하기 (0) | 2022.05.10 |
[Kubernetes] 1-17. 파드의 컨테이너 정보 확인하기 (0) | 2022.05.10 |
[Kubernetes] 1-16. 네임스페이스와 API 리소스 확인하기 (0) | 2022.05.10 |
댓글