11.1 시크릿 만들기
- 내장 시크릿
쿠버네티스 클러스터 안에서 쿠버네티스 API에 접근 시 사용됨
(serviceAccount 계정의 비밀번호 역할로 쓰임) - 사용자 정의 시크릿
사용자가 만든 시크릿
- 명령으로 시크릿 만들기
‘Kubectl create secret’
‘kubectl create secret generic “시크릿 이름” ‘
(—from-literal=키=값)
' kubectl create secret docker-registry(시크릿타입) private-reg-cred(이름) --docker-username=(dock_user)
--docker-password=(dock_password) --docker-server=(myprivateregistry.com:5000) --docker-email=(dock_user@myprivateregistry.com) ' - 템플릿으로 시크릿 만들기
- .type
Opaque : 키-값 형식(기본값). 임의의 데이터 설정 가능
kubernetes.io/dockerconfigjson : 도커 저장소 인증 정보 저장
kubernetes.io/tls : TLS 인증서를 저장함 - .data.username과 .data.password 필드 값을 base64 문자 인코딩 값을 설정해야 함
11.2 시크릿 사용하기
- 파드의 환경 변수로 시크릿 사용하기
spec.containers[].env[] 부분에서
- .name 필드 값으로 SECERT_USERNAME 환경변수 사용.
값은 참조형태(valueFrom)로 얻게 되는데 .secretKeyRef로 알맞은 시크릿 이름과 키값을 건네서 값을 얻어온다
2. 볼륨 형식으로 파드에 시크릿 제공하기
- spec.containers[].volumeMounts[] : 참조할 볼륨 설정
- spec.volumes[] : 사용할 볼륨 이름과 secret필드 값으로 시크릿 이름을 적어주어 시크릿값을 가져옴
볼륨에는 해당 시크릿 값이 디렉터리 형태로 들어있음
3. 프라이빗 컨테이너 이미지를 가져올 때 시크릿 사용하기
프라이빗 컨에티너 이미지를 가져오려면 인증 정보가 필요
인증 정보를 시크릿에서 저장한 후 사용함.
도커 컨테이너 이미지 저장소용 시크릿을 만드는 ‘docker-registy’ 타입 제공
.type : kubernetes.io/dockerconfigjson 으로 생성됨
- spec.containers[].image : 값으로 private한 이미지를 사용하도록 설정함
- spec.imagePullSecrets[].name: 이미지 pulling에 사용될 시크릿 이름
4. 시크릿으로 TLS 인증서를 저장해 사용하기
HTTPS 인증서를 저장하는 용도로 시크릿을 사용 할 수 있음.
‘ kubectl create secret tls “시크릿이름” —key “키값” —cert “인증서” ‘
'DevOps > Kubernetes' 카테고리의 다른 글
[ 쿠버네티스 입문: 90가지 예제로 배우는 컨테이너 관리 자동화 표준 ] Chapter13. 인증과 권한 관리 (0) | 2021.07.21 |
---|---|
[ 쿠버네티스 입문: 90가지 예제로 배우는 컨테이너 관리 자동화 표준 ] Chapter12. 파드 스케줄링 (0) | 2021.07.21 |
[ 쿠버네티스 입문: 90가지 예제로 배우는 컨테이너 관리 자동화 표준 ] Chapter10. 컨피그맵 (0) | 2021.07.21 |
[ 쿠버네티스 입문: 90가지 예제로 배우는 컨테이너 관리 자동화 표준 ] Chapter09. 레이블과 애너테이션 (0) | 2021.07.21 |
[ 쿠버네티스 입문: 90가지 예제로 배우는 컨테이너 관리 자동화 표준 ] Chapter 08. 인그레스 (0) | 2021.07.21 |