실습
Environment Variable
ConfigMap 생성
kubectl create configmap echo --from-literal=message="hello kubernetes"생성된 ConfigMap 확인
kubectl get cm echo -o yamlPod 생성
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: echo spec: containers: - image: alpine name: echo command: [ "/bin/sh", "-c" ] args: [ "while true; echo \$MESSAGE; do sleep 5; done;" ] env: - name: MESSAGE valueFrom: configMapKeyRef: name: echo key: message EOFPod 로그 확인
kubectl logs echoConfigMap 수정
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: echo data: message: goodbye kubernetes EOF수정한 ConfigMap 확인
kubectl get cm echo -o yamlPod 로그 확인
kubectl logs echoPod 재생성
cat <<EOF | kubectl replace --force -f - apiVersion: v1 kind: Pod metadata: name: echo spec: containers: - image: alpine name: echo command: [ "/bin/sh", "-c" ] args: [ "while true; echo \$MESSAGE; do sleep 5; done;" ] env: - name: MESSAGE valueFrom: configMapKeyRef: name: echo key: message EOFPod 로그 확인
kubectl logs echoConfigMap 생성
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: env data: DB_URL: db.example.com DB_NAME: mydb DB_USER: admin EOFPod 생성
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: env spec: containers: - image: alpine name: env command: [ "env" ] envFrom: - configMapRef: name: env restartPolicy: Never EOFPod 로그 확인
kubectl logs env생성한 리소스 삭제
{ kubectl delete pod echo env kubectl delete cm echo env }
Volume
HTML 파일 생성
ConfigMap 생성
생성된 ConfigMap 확인
Pod 생성
ConfigMap을 마운트한 경로에 있는 파일 확인
배포한 웹서버를 호출해서 인덱스 페이지 확인
ConfigMap에 데이터 추가
업데이트된 ConfigMap 확인
ConfigMap을 마운트한 경로에 있는 파일 확인 - 수정분이 반영되는지 시간이 걸릴수 있음
ConfigMap에 데이터 변경
업데이트된 ConfigMap 확인
배포한 웹서버를 호출해서 인덱스 페이지 확인
Pod 재생성
ConfigMap을 마운트한 경로에 있는 파일 확인
배포한 웹서버를 호출해서 인덱스 페이지 확인
생성한 리소스 삭제
Last updated