MicroK8s : ダッシュボードを有効にする2020/08/12 |
MicroK8s クラスターでダッシュボードを有効にする場合は以下のように設定します。
|
[1] | プライマリーノードで、ダッシュボード アドオンを有効にします。 |
[root@dlp ~]# microk8s enable dashboard dns Enabling Kubernetes Dashboard Addon metrics-server is already enabled. Applying manifest 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 created rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created deployment.apps/kubernetes-dashboard created service/dashboard-metrics-scraper created deployment.apps/dashboard-metrics-scraper 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. Applying to node node01.srv.world. Node node01.srv.world not present Adding argument --cluster-dns to nodes. Applying to node node01.srv.world. Node node01.srv.world not present Restarting nodes. Applying to node node01.srv.world. Node node01.srv.world not present DNS is enabled[root@dlp ~]# microk8s kubectl get services -n kube-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-metrics-scraper ClusterIP 10.152.183.162 <none> 8000/TCP 46s kube-dns ClusterIP 10.152.183.10 <none> 53/UDP,53/TCP,9153/TCP 45s kubernetes-dashboard ClusterIP 10.152.183.65 <none> 443/TCP 46s metrics-server ClusterIP 10.152.183.102 <none> 443/TCP 15h[root@dlp ~]# microk8s kubectl -n kube-system get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES coredns-588fd544bf-4d4kc 1/1 Running 0 24s 10.1.68.25 dlp.srv.world <none> <none> dashboard-metrics-scraper-59f5574d4-lmgmt 1/1 Running 0 25s 10.1.68.24 dlp.srv.world <none> <none> kubernetes-dashboard-6d97855997-bwg2g 1/1 Running 0 25s 10.1.68.23 dlp.srv.world <none> <none> metrics-server-c65c9d66-kdxh8 1/1 Running 2 16h 10.1.68.19 dlp.srv.world <none> <none> # セキュリティトークン確認 # [token:] 行の二列目が該当 [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-l5fsn Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name: default kubernetes.io/service-account.uid: 63e24aa4-dabf-4ccf-848e-8993470d03c4 Type: kubernetes.io/service-account-token Data ==== ca.crt: 1103 bytes namespace: 11 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlR2azl4Xy1WSFo1VEVtNDZaMFB0TzFaZGtJa0xqR..... # 外部からもアクセスできるようにポートフォワードする [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 # Firewalld 稼働中の場合はポート許可 [root@dlp ~]# firewall-cmd --add-port=10443/tcp --permanent [root@dlp ~]# firewall-cmd --reload |
[2] | ローカルネットワーク内の任意のクライアントコンピューターで Web ブラウザーを起動し、[https://(MicroK8s プライマリーノードのホスト名 または IP アドレス):10443/] にアクセスします。以下のような画面が表示されたら、[1] で確認したセキュリティトークンを コピー & ペーストして [Sing In] ボタンをクリックします。なお、下例の画面は英語表示となっていますが、日本語 OS でアクセスすれば日本語で表示されます。 |
[3] | 認証が成功すると MicroK8s クラスターのダッシュボードが表示されます。 |
Sponsored Link |