1. 아래와 같은 양식으로 test01
네임스페이스에 있는 모든 deployments 출력
DEPLOYMENT | CONTAINER_IMAGE | READY_REPLICAS | NAMESPACE |
---|---|---|---|
<deployment name> |
<container image used> |
<ready replica count> |
<Namespace> |
- deployment 이름의 오름차순으로 정렬
- 결과 값은
/opt/test01_data
에 저장
Solution
$> kubectl -n test01 get deployment -o custom-columns=DEPLOYMENT:.metadata.name,CONTAINER_IMAGE:.spec.template.spec.containers[].image,READY_REPLICAS:.status.readyReplicas,NAMESPACE:.metadata.namespace --sort-by=.metadata.name > /opt/test01_data
📖참고자료
2. deployment 생성 후 rolling update 하기
- 새 deployment 생성
- name:
nginx-deploy
- image:
nginx:1.16
- replica:
1
- name:
- 1.17 버전으로 이미지 rolling update
- version upgrade 가 기록되어야 함
Solution
$> kubectl create deployment nginx-deploy --image=nginx:1.16
$> kubectl set image deployment/nginx-deploy nginx=nginx:1.17 --record
$> kubectl rollout history deployment/nginx-deploy
📖참고자료
Performing a Rolling Update
kubectl-commands
3. Pod에서 Secret을 File로 사용하기
-
다음 조건으로 Pod 생성하기
- name:
secret-pod
- namespace:
secret-ns
- image:
busybox
- name:
-
Pod 안에 들어갈 Container 조건
- name:
secret-con
- command:
sleep 4800
- secret volume 마운트
- read-only 👌
- mount path:
/etc/secret-volume
- name:
dotfile-secret
이라는 이름으로 secret 은 이미 만들어져 있음
Solution
$> kubectl -n secret-ns run secret-pod --image=busybox --dry-run=client -o yaml > secret-pod.yaml
$> vi secret-pod.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
run: secret-pod
name: secret-pod
namespace: secret-ns
spec:
containers:
- image: busybox
name: secret-con
command: ["sleep", "4800"]
volumeMounts:
- name: secret-volume
readOnly: true
mountPath: "/etc/secret-volume"
volumes:
- name: secret-volume
secret:
secretName: dotfile-secret
$> kubectl create -f secret-pod.yaml