[CKA] 4일차 - Application Life Cycle
- advanced/Devops
- 2022. 8. 15.
secret
imperative
kubectl create secret generic
<secret-name> --from-literal=<key>=<value>
kubectl create secret generic
<secret-name> --from-file=<path-to-file>
echo -n 'mysql' | base64
kubectl get secrets
kubectl describe secrets
pod에 넣기
apiVersion: v1
kind: Pod
metadata:
name: simple-webapp-color
labels:
name: simple-webapp-color
spec:
containers:
- name: simple-webapp-color
image: simple-webapp-color
ports:
- containerPort: 8080
envFrom:
- secretRef:
name: app-secret
다양한 secret injection 방법들
(ENV)
envFrom:
- secretRef:
name: app-config
(single env)
env:
- name: DB_Password
valueFrom:
secretKeyRef:
name: app-secret
key: DB_Password
(volume)
volumes:
- name: app-secret-volume
secret:
secretName: app-secret
멀티 컨테이너 디자인 패턴(CKAD에서 배움)
- sidecar
- adaptor
- ambassador
init container
컨테이너는 한 번씩만 순서대로 실행이 됩니다.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: busybox:1.28
command: ['sh', '-c', 'echo The app is running! && sleep 3600']
initContainers:
- name: init-myservice
image: busybox
command: ['sh', '-c', 'git clone <some-repository-that-will-be-used-by-application> ; done;']
오늘 느낀 점
command에는 숫자가 들어가면 안 되고, 그것도 string으로 바꾸어서 표현해야 합니다.
'advanced > Devops' 카테고리의 다른 글
[CKA] 5일차 - 클러스터 관리 2(백업 및 복구) (0) | 2022.08.16 |
---|---|
[CKA] 5일차 - 클러스터 관리 (0) | 2022.08.16 |
[CKA] 3일차 - 로깅, 롤링 업데이트 명령어 정리 (0) | 2022.08.12 |
[CKA] 2일차 - 스케쥴링 (0) | 2022.08.08 |
[CKA] 1일차 - 명령어 정리 (0) | 2022.08.04 |