Link Search Menu Expand Document

시크릿

Table of contents

  1. 시크릿(Secret)
  2. 메뉴이동
  3. 화면구성
  4. 시크릿 생성
  5. 시크릿 수정
  6. 시크릿 삭제
  7. 연습문제

Namespace

시크릿(Secret)

시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트입니다. 이를 사용하지 않으면 중요한 정보가 파드 명세나 컨테이너 이미지에 포함될 수 있습니다. 시크릿을 사용한다는 것은 사용자의 기밀 데이터를 애플리케이션 코드에 넣을 필요가 없음을 뜻합니다.

시크릿은 컨피그맵과 유사하지만 민감한 데이터를 보관하기 위한 것입니다.

시크릿 대표적인 용도

  • 비밀번호
  • TLS 인증서
  • OAuth 토큰
  • Docker Registry
  • SSH 키

메뉴이동

구성시크릿

config-002.png


화면구성

생성된 시크릿 정보를 제공합니다.

config-sc-001.png


시크릿 생성

+생성을 클릭 후 내용을 입력하여 시크릿을 생성할 수 있습니다. 시크릿은 FORM/YAML로 입력할 수 있습니다.

config-sc-002.png

  • Name
  • Secret Type
  • Data

Secret Type

Secret Type사용처
Opaque임의의 사용자 정의 데이터
kubernetes.io/service-account-token서비스 어카운트 토큰
kubernetes.io/dockercfg직렬화 된(serialized) ~/.dockercfg 파일
kubernetes.io/dockerconfigjson직렬화 된 ~/.docker/config.json 파일
kubernetes.io/basic-auth기본 인증을 위한 자격 증명(credential)
kubernetes.io/ssh-authSSH를 위한 자격 증명
kubernetes.io/tlsTLS 클라이언트나 서버를 위한 데이터
bootstrap.kubernetes.io/token부트스트랩 토큰 데이터

시크릿 수정

시크릿 목록에서 특정 시크릿을 클릭하여 우측 YAML에 수정할 내용 입력 후 수정버튼을 클릭하면 수정할 수 있습니다.


시크릿 삭제

삭제 버튼 클릭 시 삭제 팝업창이 나타나며 삭제하려는 해당 네임스페이스/시크릿 명 입력 후 Delete 버튼 클릭 시 시크릿이 삭제됩니다.

secret-delete.png


연습문제

1. 아래 속성으로 시크릿과 파드를 생성하고 생성한 시크릿을 파드 환경변수로 사용하세요.

(참고URL: https://kubernetes.io/docs/concepts/configuration/secret)

1. 시크릿
- Name: 2-2-lab-secret
- key: player_initial_lives
  value: "3"
- key: ui_properties_file_name
  value: "user-interface.properties"

2. Pod
- name: 2-2-lab-secret
- image: proxy.accordions.co.kr/alpine
- Secret을 Pod의 환경변수로 사용
  (TIP: env의 valueFrom)
예제 Yaml
---
apiVersion: v1
kind: Pod
metadata:
  name: secret-demo-pod
spec:
  containers:
    - name: alpine
      image: proxy.accordions.co.kr/alpine
      command: ["sleep", "3600"]
      env:
        - name: upper-case-secret-key-1
          valueFrom:
            secretKeyRef:
              name: secret-name
              key: secret-key-1
        - name: upper-case-secret-key-2
          valueFrom:
            secretKeyRef:
              name: secret-name
              key: secret-key-2
  

2. 생성한 Secret을 확인하고, Pod에서 환경 변수를 확인하세요.

3. 생성한 파드와 시크릿을 삭제하세요.