"쿠버네티스 Secret"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 13개는 보이지 않습니다)
3번째 줄: 3번째 줄:
;Kubernetes 시크릿, 비밀
;Kubernetes 시크릿, 비밀
* 패스워드, OAuth 토큰, SSH key와 같은 민감한 정보를 담은 것
* 패스워드, OAuth 토큰, SSH key와 같은 민감한 정보를 담은 것
* rest 암호화를 포함하여, 민감한 정보가 사용되는 방법을 통제하고 사고로 노출될 위험성을 낮추어
* REST 암호화를 포함하여, 민감한 정보가 사용되는 방법을 통제하고 사고로 노출될 위험성을 낮추어 준다.
* Pod는, 볼륨 마운트 내의 파일로서, 또는 pod用 kubelet pulling 이미지에 의해 시크릿을 참조함
* Pod에서는 볼륨 마운트 내의 파일로서, 또는 pod用 kubelet pulling 이미지에 의해 시크릿을 참조한다.
* Secret은 기밀 데이터 취급에 적합하고, ConfigMaps는 非기밀 데이터 취급에 적합함
* Secret은 기밀 데이터 취급에 적합하고, ConfigMaps는 非기밀 데이터 취급에 적합한다.
* [[base64]] 인코딩되어 저장된다.
:추가적인 설정이 없다면 암호화되지는 않는다.
* 컨테이너에서 환경변수로 불러 쓰는 경우가 많다.
 
<syntaxhighlight lang='yaml'>
apiVersion: v1
kind: Secret
metadata:
  name: secret-basic-auth
type: kubernetes.io/basic-auth
stringData:
  username: admin
  password: t0p-Secret
</syntaxhighlight>
<syntaxhighlight lang='yaml'>
apiVersion: v1
kind: Secret
metadata:
  name: secret-ssh-auth
type: kubernetes.io/ssh-auth
data:
  # the data is abbreviated in this example
  ssh-privatekey: |
          MIIEpQIBAAKCAQEAulqb/Y ...
</syntaxhighlight>
<syntaxhighlight lang='yaml'>
apiVersion: v1
kind: Secret
metadata:
  name: secret-tls
type: kubernetes.io/tls
data:
  # the data is abbreviated in this example
  tls.crt: |
        MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
  tls.key: |
        MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...
</syntaxhighlight>
<syntaxhighlight lang='yaml'>
apiVersion: v1
kind: Secret
metadata:
  name: bootstrap-token-5emitj
  namespace: kube-system
type: bootstrap.kubernetes.io/token
stringData:
  auth-extra-groups: "system:bootstrappers:kubeadm:default-node-token"
  expiration: "2020-09-13T04:39:10Z"
  token-id: "5emitj"
  token-secret: "kq4gihvszzgn1p0r"
  usage-bootstrap-authentication: "true"
  usage-bootstrap-signing: "true"
</syntaxhighlight>
<syntaxhighlight lang='yaml'>
apiVersion: v1
kind: Secret
metadata:
  name: appname
data:
  key: value
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[쿠버네티스 ConfigMaps]]
* [[쿠버네티스 ConfigMap]]
* [[kubectl create secret]]
* [[kubectl get secrets]]
* [[kubectl get secrets]]
* [[쿠버네티스 용어]]
* [[쿠버네티스 용어]]
* [[쿠버네티스 네임스페이스간 Secret 복사하기]]


==참고==
==참고==
* https://kubernetes.io/docs/concepts/configuration/secret/
* https://kubernetes.io/docs/concepts/configuration/secret/


[[분류: kubernetes]]
[[분류:K8s]]

2021년 8월 3일 (화) 12:12 기준 최신판

1 개요[ | ]

쿠버네티스 Secret
Kubernetes 시크릿, 비밀
  • 패스워드, OAuth 토큰, SSH key와 같은 민감한 정보를 담은 것
  • REST 암호화를 포함하여, 민감한 정보가 사용되는 방법을 통제하고 사고로 노출될 위험성을 낮추어 준다.
  • Pod에서는 볼륨 마운트 내의 파일로서, 또는 pod用 kubelet pulling 이미지에 의해 시크릿을 참조한다.
  • Secret은 기밀 데이터 취급에 적합하고, ConfigMaps는 非기밀 데이터 취급에 적합한다.
  • base64 인코딩되어 저장된다.
추가적인 설정이 없다면 암호화되지는 않는다.
  • 컨테이너에서 환경변수로 불러 쓰는 경우가 많다.
apiVersion: v1
kind: Secret
metadata:
  name: secret-basic-auth
type: kubernetes.io/basic-auth
stringData:
  username: admin
  password: t0p-Secret
apiVersion: v1
kind: Secret
metadata:
  name: secret-ssh-auth
type: kubernetes.io/ssh-auth
data:
  # the data is abbreviated in this example
  ssh-privatekey: |
          MIIEpQIBAAKCAQEAulqb/Y ...
apiVersion: v1
kind: Secret
metadata:
  name: secret-tls
type: kubernetes.io/tls
data:
  # the data is abbreviated in this example
  tls.crt: |
        MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
  tls.key: |
        MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...
apiVersion: v1
kind: Secret
metadata:
  name: bootstrap-token-5emitj
  namespace: kube-system
type: bootstrap.kubernetes.io/token
stringData:
  auth-extra-groups: "system:bootstrappers:kubeadm:default-node-token"
  expiration: "2020-09-13T04:39:10Z"
  token-id: "5emitj"
  token-secret: "kq4gihvszzgn1p0r"
  usage-bootstrap-authentication: "true"
  usage-bootstrap-signing: "true"
apiVersion: v1
kind: Secret
metadata:
  name: appname
data:
  key: value

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}