Kubernetes Basic Authentication
Kubernetes 인증 관련 글 이동
1. Kubernetes 인증 ( Authentication ) 이론
2. Kubernetes 인증 ( Basic Authentication )
3. Kubernetes 인증 ( TLS )
4. Kubernetes 인증 ( Bearer Token )
5. Kubernetes 인증 ( Webhook )
6. Kubernetes 인증 ( Webhook 외부 인증 연동 )
7. Kubernetes 인증 ( Webhook 외부 인증 LDAP )
8. Kubernetes 인증 ( Proxy )
참고) 실습환경
[Master Node server]
OS = CentOS 7
리눅스 커널 버전 : Linux 3.10.0-1062.el7.x86_64
docker version : 1.13.1
docker api verison : 1.26
[Worker Node server]
OS = CentOS 7
리눅스 커널 버전 : Linux 3.10.0-1062.el7.x86_64
docker version : 1.13.1
docker api verison : 1.26
[Kubernetes version]
1.18
1. 계정 정보를 가지고 있는 파일 생성
(Kubernetes Master Node에서 작업)
계정 저장 파일 생성
예) iksoon-auth
참고) 예제 위치는 참고용일 뿐 고정 위치가 아님
2개의 계정을 만듬
계정 형식 : password,user,uid,"group1,group2,group3"
1.
- ID : iksoon
- PW : qwer1234
2.
- ID : test
- PW : qwer1234
2. kube-apiserver 설정 변경 작업
(Kubernetes Master Node에서 작업)
kube-apiserver.yaml 에 설정 추가
해당 파일 경로 (default의 경우) : /etc/kubernetes/manifests
[ kube-apiserver.yaml 에 설정 추가 ]
--basic-auth-file=/etc/kubernetes/pki/iksoon-auth
[ 설정 적용 ]
명령어 : kubectl apply -f kube-apiserver.yaml
[ 생성 확인 ]
명령어 : kubectl get all -n kube-system
주의)
2개의 kube-apiserver 가 생성되어버림
기존의 kube-apiserver-kube.master.node 와 충돌
문제 해결을 위해 kube-apiserver를 삭제
[ 삭제 후 정상 동작 확인 ]
[ 설정 추가 확인 ]
명령어 : kubectl describe pod/kube-apiserver-kube.master.node -n kube-system
3. 접근 확인
(Kubernetes Master Node에서 작업)
계정으로 정상 접근되는지 확인
결과 : 정상
iksoon, test 계정으로는 접근되고 그 외는 접근이 안됨
4. 접근 확인
(Kubernetes Client Node에서 작업)
client에서 kubeconfig 파일로 정상 접근 확인
kubeconfig 설정 파일에 username: , password: 설정 추가
결과 : 정상
이외에도
kubectl get pod --username iksoon --password qwer1234
와 같은 방식도 가능함
참고)
iksoon-auth와 같은 계정 정보를 저장하고 있는 파일 정보가 갱신될 시
kube-apiserver.yaml을 다시 적용해줘야 함
제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!
참고
kubeconfig 파일 참고
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config
https://codefarm.me/2019/02/01/access-kubernetes-api-with-client-certificates/
Basic 인증 참고
https://coffeewhale.com/kubernetes/authentication/x509/2020/05/02/auth01/
kubernetes api service 인증 관련
https://kubernetes.io/ko/docs/setup/best-practices/certificates/
'Kubernetes > Kubernetes 보안' 카테고리의 다른 글
Kubernetes 인증 ( Webhook 외부 인증 연동 ) (0) | 2020.08.29 |
---|---|
Kubernetes 인증 ( Webhook ) (0) | 2020.08.29 |
Kubernetes 인증 ( Bearer Token ) (0) | 2020.08.29 |
Kubernetes 인증 ( TLS ) (0) | 2020.08.23 |
Kubernetes 인증(Authentication) 이론 (0) | 2020.08.23 |