문서 보기역링크PDF로 내보내기맨 위로 이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요. # K8s 시크릿 ## 특징 - 시크릿은 [[패스워드]], [[토큰]], [[키]]처럼 보안이 필요한 테이터를 저장하는 데 사용한다. 보안 데이터의 노출 리스크를 줄이기 위해 사용된다. 사이즈는 1MB 미만이어야 한다. - 서비스 어카운트를 만들면 서비스 어카운트의 토큰을 담은 시크릿이 네임스페이스에 자동으로 생성된다. 해당 토큰은 [[RBAC]] 기반의 접근 제어에 사용된다. - 사용자가 시크릿을 등록하면 파드의 환경 변수나 마운트된 볼륨의 파일을 통해 접근할 수 있다. - 시크릿은 네임스페이스에 속하며 다른 네임스페이스에서는 읽을 수 없다. - 시크릿 자체는 암호화와는 직접적인 관계가 없으며 벤더가 제공하는 추가적인 암호화 기능을 사용할 수도 있다 - 파드가 시크릿을 사용하도록 설정했으면 기동하기 전에 시크릿이 존재해야 한다. ## 시크릿 이용 ### Base64 인코드 <code> $ echo -n 'my_id' | base64 bXlfaWQ= $ echo -n 'my_password' | base64 bXlfcGFzc3dvcmQ= </code> ### secret yml <code> apiVersion: v1 kind: Secret metadata: name: db-credentials type: Opaque data: username: bXlfaWQ= password: bXlfcGFzc3dvcmQ= </code> ### command <code> $ kubectl apply -f db_credentals.yml </code> ### get secret <code> $ kubectl get secret NAME TYPE DATA AGE db-credentials Opaque 2 17s default-token-mwh6r kubernetes.io/service-account-token 3 4d5h tls-certificate kubernetes.io/tls 2 46h </code> ### my yml <code> apiVersion: v1 kind: Pod metadata: name: web-apl spec: containers: - name: nginx image: nginx env: - name: DB_USERNAME ## 환경 변수 valueFrom: secretKeyRef: name: db-credentials ## 시크릿명 key: username ## 시크릿 키 - name: DB_PASSWORD ## 환경 변수 valueFrom: secretKeyRef: name: db-credentials key: password </code> ### command <code> $ kubectl apply -f reg_secret_env.yml pod/web-apl created $ kubectl get po NAME READY STATUS RESTARTS AGE bustbox 0/1 Error 0 3h58m web-apl 1/1 Running 0 11s web-php-7b7566bd54-nvm7n 1/1 Running 0 4h6m $ kubectl exec -it web-apl -- bash -c 'echo $DB_USERNAME, $DB_PASSWORD' my_id, my_password </code> ### 컨테이너에서 시크릿을 볼륨으로 마운트하는 매니페스트 <code> apiVersion: v1 kind: Pod metadata: name: web spec: containers: - name: nginx image: nginx ports: - protocol: TCP containerPort: 443 volumeMounts: ## 마운트 정의 - name: cert-vol ## 시크릿의 볼륨 이름 mountPath: /etc/cert ## 컨테이너상의 마운트 경로 volumes: ## 볼륨 정의 - name: cert-vol ## 시크릿의 볼륨 이름 secret: secretName: www-cert ## 시크릿의 이름 </code> open/k8s-secret.txt 마지막으로 수정됨: 2021/10/07 06:24저자 127.0.0.1