실습
Generic
Secret 생성
kubectl create secret generic db-credential \ --from-literal=DB_PASSWORD=Asdf'!'234생성된 Secret 확인
kubectl get secret db-credential -o yaml생성된 Secret 데이터의 평문 확인
kubectl get secret db-credential -o jsonpath={.data.DB_PASSWORD} | base64 -d && echo생성된 Secret 삭제
kubectl delete secret db-credentialSecret 생성
cat <<'EOF' | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: db-credential type: Opaque data: DB_PASSWORD: Asdf!234 EOFSecret 으로 사용할 문자열을 Base64로 인코딩
echo -n 'Asdf!234' | base64Secret 생성
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: db-credential type: Opaque data: DB_PASSWORD: $(echo -n 'Asdf!234' | base64) EOF생성된 Secret 데이터의 평문 확인
kubectl get secret db-credential -o jsonpath={.data.DB_PASSWORD} | base64 -d && echoPod 생성
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: alpine spec: containers: - image: alpine name: alpine command: [ "env" ] env: - name: DB_CREDENTIAL valueFrom: secretKeyRef: name: db-credential key: DB_PASSWORD restartPolicy: Never EOFPod 로그 확인
kubectl logs alpinePod 생성
cat <<EOF | kubectl replace --force -f - apiVersion: v1 kind: Pod metadata: name: alpine spec: containers: - image: alpine name: alpine command: [ "sleep", "3600" ] volumeMounts: - name: secret mountPath: "/etc/secret" readOnly: true volumes: - name: secret secret: secretName: db-credential items: - key: DB_PASSWORD path: db.properties EOFSecret을 마운트한 경로에 있는 파일 확인
kubectl exec alpine -- ls -al /etc/secret파일 내용 확인
kubectl exec alpine -- cat /etc/secret/db.properties && echo파일 권한 확인
kubectl exec alpine -- ls -alL /etc/secretPod 재생성
cat <<EOF | kubectl replace --force -f - apiVersion: v1 kind: Pod metadata: name: alpine spec: containers: - image: alpine name: alpine command: [ "sleep", "3600" ] volumeMounts: - name: secret mountPath: "/etc/secret" readOnly: true volumes: - name: secret secret: secretName: db-credential defaultMode: 0400 EOFSecret을 마운트한 경로에 있는 파일 확인
kubectl exec alpine -- ls -al /etc/secret파일 내용 확인
kubectl exec alpine -- cat /etc/secret/DB_PASSWORD && echo파일 권한 확인
kubectl exec alpine -- ls -alL /etc/secretSecret 수정
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: db-credential type: Opaque data: DB_PASSWORD: bmV3cGFzc3dvcmQ= DB_NAME: bmV3ZGF0YWJhc2U= EOFSecret을 마운트한 경로에 있는 파일 확인
kubectl exec alpine -- ls -al /etc/secret파일 내용 확인
kubectl exec alpine -- cat /etc/secret/DB_PASSWORD && echo생성한 리소스 삭제
{ kubectl delete pod alpine kubectl delete secret db-credential }
Container Registry
Pod 생성
생성된 Pod 확인
Pod에 발생한 Event 확인
Pod가 배포된 Node 확인
Pod가 배포된 노드의 인스턴스 아이디 확인
새로운 터미널을 열고 Pod가 배포된 Node로 Session Manager 연결
Docker Hub 자격증명 설정
Docker 자격증명 파일을 복사
Kubelet 재시작
기존 터미널로 이동해서 Pod 상태 확인
다른 터미널로 이동해서 Docker 자격증명 파일을 삭제
Kubelet 재시작
기존 터미널로 이동해서 Pod 삭제
Secret 생성
Deployment 생성
Pod 상태 확인
컨테이너가 정상적으로 구동중인지 확인
생성한 리소스 삭제
Last updated