MicroK8s : ダッシュボードを有効にする2021/05/13 |
MicroK8s クラスターでダッシュボードを有効にする場合は以下のように設定します。
|
[1] | プライマリーノードで、ダッシュボード アドオンを有効にします。 |
root@dlp:~# microk8s enable dashboard dns Enabling Kubernetes Dashboard Enabling Metrics-Server clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created ..... ..... If RBAC is not enabled access the dashboard using the default token retrieved with: token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1) microk8s kubectl -n kube-system describe secret $token In an RBAC enabled setup (microk8s enable RBAC) you need to create a user with restricted permissions as shown in: https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md Enabling DNS Applying manifest serviceaccount/coredns created configmap/coredns created deployment.apps/coredns created service/kube-dns created clusterrole.rbac.authorization.k8s.io/coredns created clusterrolebinding.rbac.authorization.k8s.io/coredns created Restarting kubelet Adding argument --cluster-domain to nodes. Adding argument --cluster-domain to nodes. Adding argument --cluster-dns to nodes. Adding argument --cluster-dns to nodes. Restarting nodes. Restarting nodes. DNS is enabledroot@dlp:~# microk8s kubectl get services -n kube-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE metrics-server ClusterIP 10.152.183.6 <none> 443/TCP 65s kubernetes-dashboard ClusterIP 10.152.183.42 <none> 443/TCP 62s dashboard-metrics-scraper ClusterIP 10.152.183.116 <none> 8000/TCP 61s kube-dns ClusterIP 10.152.183.10 <none> 53/UDP,53/TCP,9153/TCP 60s # セキュリティトークン確認 # [token:] 行の 2列目が該当 root@dlp:~# microk8s kubectl -n kube-system describe secret $(microk8s kubectl -n kube-system get secret | grep default-token | awk '{print $1}') Name: default-token-lwqw5 Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name: default kubernetes.io/service-account.uid: 4ee6cbf7-0216-4556-a801-291a81bed0ae Type: kubernetes.io/service-account-token Data ==== ca.crt: 1103 bytes namespace: 11 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6InpCZmh3QzlNZHBqYzRPMDNSYXRwMk9tMjE5bzducE9oNWdFRTBRQ1JaSUUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLWx3cXc1Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI0ZWU2Y2JmNy0wMjE2LTQ1NTYtYTgwMS0yOTFhODFiZWQwYWUiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.UY10KPgYKKbgz_ASuayMYrA6wWKktEP03yxv6IxbJ3QQ9rbGhaQ-GItmKz9W7fTD8loBnFKJ5o3_BPpHQ592u3qtEc56Y9CZDT2SW5BLSw0rjJFJGq0iqOrQpq4HNDKoPd-ab6PfJlvQkgEsMerfjEU3pW2E5iXCItPGHaI4OjKU8nl5pHvfDUmX7F4U4Dj5gE-b1v1nn-k00uOkQTNb9XlBMqs22r-J1Ic8xJuRmxoNaPniGL3pbcn6Vv2z3byRTj_6jzxYT0TtkbViS4t0_PzKF8d24L-mGl2_FDzYlbCeOtXBJXwWzgkgbXxxkz_NqoPbcuYu-NbNXMATpDQY3g # 外部からもアクセスできるようにポートフォワードする root@dlp:~# microk8s kubectl port-forward -n kube-system service/kubernetes-dashboard --address 0.0.0.0 10443:443 Forwarding from 0.0.0.0:10443 -> 8443 |
[2] | ローカルネットワーク内の任意のクライアントコンピューターで Web ブラウザーを起動し、[https://(MicroK8s プライマリーノードのホスト名 または IP アドレス):10443/] にアクセスします。以下のような画面が表示されたら、[1] で確認したセキュリティトークンを コピー & ペーストして [Sing In] ボタンをクリックします。なお、下例の画面は英語表示となっていますが、日本語 OS でアクセスすれば日本語で表示されます。 |
[3] | 認証が成功すると MicroK8s クラスターのダッシュボードが表示されます。 |
Sponsored Link |