Kubernetes DashBord를 배포하고 로그인해 봅니다.
6122 단어 kubectlkubernetes
소개
K8s의 학습에서, DashBord의 로그인 방법에 조금 수고했으므로 메모를 남겨 둡니다.
환경
이번에 Kubernetes는 Docker Desktop(mac)의 Kubernetes 연계를 사용하여 로컬에 배포하고 있습니다.
버전은 아래와 같습니다.
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T21:16:14Z", GoVersion:"go1.16.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.7", GitCommit:"1dd5338295409edcfff11505e7bb246f0d325d15", GitTreeState:"clean", BuildDate:"2021-01-13T13:15:20Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
KubeDashBord 배포
다음을 실행
실행 후 새 Namespace가 만들어지고 대시보드에 필요한 리소스가 배포됩니다.
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
#上記の実行結果
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard unchanged
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard unchanged
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
우선 get로 확인 ↓ 제대로 움직여 그렇네요.
$ kubectl get pod,deploy,svc,secret,cm,role -n kubernetes-dashboard
#結果
NAME READY STATUS RESTARTS AGE
pod/dashboard-metrics-scraper-7b59f7d4df-6tg9d 1/1 Running 0 5m14s
pod/kubernetes-dashboard-74d688b6bc-7b5jp 1/1 Running 0 5m14s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/dashboard-metrics-scraper 1/1 1 1 5m14s
deployment.apps/kubernetes-dashboard 1/1 1 1 5m14s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dashboard-metrics-scraper ClusterIP 10.109.49.245 <none> 8000/TCP 5m14s
service/kubernetes-dashboard ClusterIP 10.101.211.202 <none> 443/TCP 5m14s
NAME TYPE DATA AGE
secret/default-token-w2lr4 kubernetes.io/service-account-token 3 5m14s
secret/kubernetes-dashboard-certs Opaque 0 5m14s
secret/kubernetes-dashboard-csrf Opaque 1 5m14s
secret/kubernetes-dashboard-key-holder Opaque 2 5m14s
secret/kubernetes-dashboard-token-k2scs kubernetes.io/service-account-token 3 5m14s
NAME DATA AGE
configmap/kubernetes-dashboard-settings 0 5m14s
NAME CREATED AT
role.rbac.authorization.k8s.io/kubernetes-dashboard 2021-05-08T15:07:39Z
Kubernetes dashBoard에 로그인해 보세요.
이제 대시보드에 액세스해 보겠습니다.
다음 명령을 사용하여 대시보드에 프록시 서버를 시작하고 브라우저에서 액세스합니다.
$ kubectl proxy
응. . . 뭔가 사인 필요?
그러고 보니, secret에 kubernetes-dashboard-token-k2scs 되는 것이 있었던 것 같다. . (위의 kubect get ...에서 확인하고 있습니다.)
한 번 내용을 확인해 보겠습니다.
kubectl describe secret kubernetes-dashboard-token-k2scs -n kubernetes-dashboard
#結果
Name: kubernetes-dashboard-token-k2scs
Namespace: kubernetes-dashboard
Labels: <none>
Annotations: kubernetes.io/service-account.name: kubernetes-dashboard
kubernetes.io/service-account.uid: 5c9c0022-f970-430b-8cf8-d9b4cb59ea1a
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1066 bytes
namespace: 20 bytes
token: /*ここにトークンが表示されます*/
뭔가 토큰 같은 것들이있었습니다.
그건 그렇고,
kubectl get secret kubernetes-dashboard-token-k2scs -n kubernetes-dashboard -o yaml
그렇지만 token은 취득할 수 있습니다만, echo /*取得したtoken*/ | base64 -D
그리고 복합해 줄 필요가 있습니다.이 녀석을 입력하면 ...
안전하게 로그인할 수 있었습니다.
제대로 자원도 볼 수 있을 것 같네요.
마지막으로
우선 로그인을 할 수 있었지만, 제대로 권한이 있는 role를 작성할 필요가 있을 것 같습니다.
Reference
이 문제에 관하여(Kubernetes DashBord를 배포하고 로그인해 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keropon1274/items/3aa192e5eba6fbfa719d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)