일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- web
- MySQL
- kubernetes
- HTTP
- NASA
- VM
- 오라클
- Vagrant
- docker
- PY
- SQL
- Container
- Review
- datagrip
- kuberenetes
- python #tkinter
- kubectl
- Dictionary
- URL
- Python
- burpsuite
- method
- Today
- Total
Deer
[kubernetes]인증과 권한 본문
공식 문서를 참고하기
https://kubernetes.io/docs/reference/access-authn-authz/authentication/
Authenticating
This page provides an overview of authenticating. Users in Kubernetes All Kubernetes clusters have two categories of users: service accounts managed by Kubernetes, and normal users. It is assumed that a cluster-independent service manages normal users in t
kubernetes.io
kubectl 명령어로 kube-apiserver를 요청할 때의 인증: ~/.kube/config 파일 정보를 사용.
(명령어 예시)
$ sudo cp /etc/kubernetes/admin.conf .kube/config
$ sudo chmod $USER:$GROUP .kube/config
cat .kube/config 로 파일 내용 확인하기
$ cat .kube/config
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1<중략>JSU0ZTbVlzNFZIbcHlsMGVwvU0N0az0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://192.168.56.11:6443
name: cluster.local
contexts:
- context:
cluster: cluster.local
user: kubernetes-admin
name: kubernetes-admin@cluster.local
current-context: kubernetes-admin@cluster.local
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdLSTVyRSOEtZRmxhSnlp<중략>WE5FUlZ6TnhlVWowcz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLVB<중략>ci8KQTFySDBEWUV2WkVzZDJ3aTRLTjZLNjNJRXVGcHVjWE0v3kdDVDNHhwaWVaWVAvU1nhKWEdzZ01GCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
clusters:
클러스터 정보
contexts:
컨텍스트 정보
current-context:
쿠버네티스 클러스터와 사용자가 여럿인 경우에서 현재 대상, 즉 현재 작업을 어떤 항목에서 할 것인지 표현해주는 항목
client-certificat-data, client-key-data:
인증 해시값들
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://192.168.56.11:6443
name: cluster.local
contexts:
- context:
cluster: cluster.local
user: kubernetes-admin
name: kubernetes-admin@cluster.local
current-context: kubernetes-admin@cluster.local
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
작업환경에 따라 분리된 클러스터 환경을 제공하도록 설정할 수 있다.
정의해둔 사용자가 클러스터를 관리할 수 있도록 파일 수정 (컨텍스트 활성화 필요)
서비스 계정(기본 계정 default) 확인하기
$ kubectl get serviceaccounts
NAME SECRETS AGE
default 1 3d19h
$ kubectl get serviceaccounts default -o yaml
apiVersion: v1
kind: ServiceAccount
metadata:
creationTimestamp: "2021-12-19T06:53:38Z"
name: default
namespace: default
resourceVersion: "401"
selfLink: /api/v1/namespaces/default/serviceaccounts/default
uid: 0e836507-abe0-48c2-af93-766c7d381e60
secrets:
- name: default-token-kd9w9
$ kubectl describe serviceaccounts default
Name: default
Namespace: default
Labels: <none>
Annotations: <none>
Image pull secrets: <none>
Mountable secrets: default-token-kd9w9
Tokens: default-token-kd9w9
Events: <none>
'SW 공부 > IaC' 카테고리의 다른 글
[kubernetes]파드 스케줄링 (0) | 2021.12.23 |
---|---|
[kubernetes] 쿠버네티스 기본 오브젝트 개념 (0) | 2021.12.16 |
[docker] 컨테이너 이미지 생성 (0) | 2021.12.15 |
[docker] 이미지로부터 확장 (0) | 2021.12.13 |
[docker] 간단 개념들 (0) | 2021.12.13 |