Exercise 6.1: RESTful API Access
CP 노드에 연결된 터미널로 이동
클러스터 접속정보 확인
kubectl config view모든 네임스페이스에 있는 Secret 확인
kubectl get secret -A모든 네임스페이스에 있는 ServiceAccount 확인
kubectl get sa -Adefault네임스페이스에 있는 ServiceAccount 확인kubectl get sadefault네임스페이스에 있는 Secret 확인kubectl get secret위에서 확인한 ServiceAccount에 연동되는 토큰을 생성하고 환경변수로 지정
{ export token=$(kubectl create token default) echo $token }https://jwt.io 에서 토큰 내용 확인
위에서 생성한 토큰을 사용해서 클러스터 API 정보를 보는 API 호출
curl https://k8scp:6443/apis --cacert ./ca.pem \ --header "Authorization: Bearer $token"v1 API 리소스 정보를 보는 API 호출
curl https://k8scp:6443/api/v1 --cacert ./ca.pem \ --header "Authorization: Bearer $token"네임스페이스 목록 보는 API 호출
curl https://k8scp:6443/api/v1/namespaces --cacert ./ca.pem \ --header "Authorization: Bearer $token"인증된 유저에게 부여된 역할 확인
kubectl get clusterrolebinding system:discovery -o yaml위에서 확인한 역할에 부여된 권한 확인
kubectl get clusterrole system:discovery -o yamlAPI Discovery Role 리뷰 - https://kubernetes.io/docs/reference/access-authn-authz/rbac/#discovery-roles
비인증 유저에게 부여된 역할 확인
kubectl get clusterrolebinding system:public-info-viewer -o yaml위에서 확인한 역할에 부여된 권한 확인
kubectl get clusterrole system:public-info-viewer -o yamlAPI 서버 버전을 확인하는 API 호출
curl -k https://k8scp:6443/versionPod 생성
kubectl run busybox --image=busybox --rm -it --restart=NeverPod 부여된 토큰값 확인
cat /var/run/secrets/kubernetes.io/serviceaccount/tokenPod 종료
exit
Last updated