2020. 7. 18. 15:28ㆍMSA (Microservices Architecture) Project
2. API Server Dashboard 구축
: 작업을 수월하게 하기 위하여 ui를 제공해주었다.
하단의 작업들은 대시보드 구축 작업을 진행하는 작업을 나타낸 것 이다.
• dashboard 기본 구성 및 확인
: kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml
- dashboard 관련 배포 yaml 파일을 실행하여 기본 구성 파일을 설치한다.
• dashboard namespace 확인
: dashobard 추가 확인과정을 통하여 최종적으로 작동하는지 조회한다. (running 표시 확인)
: kubectl cluster-info를 통하여 확인한다.
• dashboard API 서버 접근 권한 설정
![]() |
![]() |
: grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt
* kubeconfig.crt 파일 작성 시 client-certificate-data 정보를 입력해주는 역할을 수행(최종 생성)
cat kubecfg.crt 명령어로 위 스크린샷 확인 가능 (crt 파일 조회)
: grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.key
* key 파일 조회를 통하여 api 서버 접근 시 권한이 있는 key 값이 생성되어있는지 확인한다.
cat kubecfg.key 명령어로 위 스크린샷 확인 가능 (key 파일 조회)
• dashboard API 서버 접근 관련 인증서 생성 (p12 인증서 파일)
: openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-admin"
* 인증서 생성 명령어 적용 시 패스워드 생성 메시지가 출력이 된다. (상단 스크린샷 확인)
: 접속을 위한 권한 조회 확인 과정을 진행하였다. ls -al kubecfg.p12
• Windows 환경에서 kubecfg.p12 , ca.crt 인증서 적용
: 인증서 생성이 완료되면 로컬 환경에 다운로드를 진행하여 인증서 적용을 진행한다.
* 경로 - certutil.exe - [인증서 생성시 PW] "ROOT" [사용자 인증서 지정 경로\ca.crt]
: certuill.exe -p [인증서 생성시 PW] -user -importPFX [사용자 인증서 지정 경로\kubecfg.p12]
* 위 명령어 입력시 인증서 설치 여부를 묻게 되며 예를 눌러 설치를 진행한다.
: 인증서 갱신 및 정보가 변경되어 삭제해야 할 필요가 있을 경우 certmgr.msc 명렁어 실행을 통하여 출력되는 화면을 통하여 인증서 확인 및 삭제가 가능하다.
• kubernetes용 인증서 발급 과정
: 개인용 인증서와 신뢰할 수 있는 루트 인증 기관 인증서 발급을 실시한다.
• 인증서 적용 확인 (dashboard 접근 시 URL은 cluster-info 기반 정보/ Master IP로 접속)
- 처음 접속 시 토큰값 입력 후 로그인을 하면 위와 같이 인증서 확인란이 출력이된다.
: https://[마스터 IP]:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/overview?namespace=default 로 대시보드 접속 진행
: kubectl describe secret --al-namespaces (전체 조회) 로 생성된 서비스 계정의 전체 토큰값 조회가 가능하다.
* 하단 출력된 것이 토큰값이며 토큰값을 통하여 api server 대시보드 접속 시 인증 및 인가 방식을 통하여 관리자 설정에 접근이 가능하다.
• 대시보드 접속 완료 (서비스 계정을 통한 인증 및 인가 방식 -API 서버 호출)
: 추후에 구축할 서비스별 POD 관리 및 모니터링 기능을 쉽게 이용하기 위해서 API 서버 대시보드 구축을 진해하였으며 대시보드 구축시 관리 및 모니터링을 수월하게 진행할 수 있다는 장점이 있다.