機械翻訳について

5 Kubernetesダッシュボードへのアクセス

Kubernetesダッシュボード・コンテナは、kubernetes-dashboardネームスペースの一部として作成されます。 kubectl-proxyサービスを使用してダッシュボードを起動することもできます。 ダッシュボードは、標準のwebブラウザを使用してアクセスできる、Kubernetesクラスタへの直感的なグラフィカル・ユーザー・インタフェースを提供します。

Kubernetesダッシュボードの詳細は、アップストリームの「Kubernetesドキュメント」を参照してください。

この章では、Kubernetesダッシュボードの起動方法と接続方法について説明します。

 ダッシュボードの起動

ダッシュボードを起動するには、プロキシ・サービスを実行して、そのサービスを実行しているノードのトラフィックが、ダッシュボード・アプリケーションを実行している内部ポッドに到達できるようにします。 これは、kubectl proxyサービスを実行することで実現します。

kubectl proxy

出力は次のようになります:

Starting to serve on 127.0.0.1:8001

ダッシュボードは、プロキシを実行しているノードで使用できます。 プロキシを終了するには、Ctrl+Cを使用します。 プロキシを終了すると、アプリケーションが終了し、ダッシュボードは使用できなくなります。

これは、systemdサービスとして実行し、OSの再起動後に常に使用できるように有効化できます:

sudo systemctl enable --now kubectl-proxy.service

このsystemdサービスを実行するには、/etc/kubernetes/admin.confが存在している必要があります。 プロキシ・サービスに使用されるポートを変更したり、他のプロキシ構成パラメータを追加する場合は、/etc/systemd/system/kubectl-proxy.service.d/10-kubectl-proxy.confにあるsystemdドロップ・イン・ファイルを編集して構成できます。 kubectl proxyサービスに使用可能な構成オプションの詳細は、次を実行することで取得できます。

kubectl proxy --help

 ダッシュボードへの接続

ダッシュボードにアクセスするには、kubectl proxyサービスを実行しているノードでWebブラウザを開いて、次の場所に移動します。

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

ログインするには、トークンを使用した認証が必要です。 認証トークンの詳細は、アップストリームの「Kubernetesドキュメント」を参照してください。

次を使用して、admin-userのトークンを設定します:

kubectl --namespace kubernetes-dashboard create token admin-user

このトークン出力の値全体をコピーして、認証のためにログイン・ページのトークン・フィールドに貼り付けます。

 ダッシュボードへのリモート接続

ダッシュボードにリモートでアクセスする必要がある場合は、SSHトンネリングを使用して、localhostからkubectl proxyサービスを実行しているノードへのポート転送を実行できます。 最も簡単なオプションは、SSHトンネリングを使用して、ローカル・システム上のポートを、アクセスするノードのkubectl proxyサービス用に構成されたポートに転送することです。 このメソッドでは、SSHトンネルの効果によってHTTP接続が暗号化され、認証がSSH構成によって処理されるため、一部のセキュリティが維持されます。 たとえば、ローカル・システムで次を実行します:

ssh -L 8001:127.0.0.1:8001 192.0.2.10

192.0.2.10は、kubectl proxyサービスを実行しているホストのIPアドレスに置き換えてください。 SSH接続が確立されたら、ローカル・ホストでブラウザを起動して、次の場所に移動します:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

リモートKubernetesクラスタのダッシュボード・ログイン画面が表示されます。 認証には、ダッシュボードにローカル接続したときと同じトークン情報を使用します。

ダッシュボード・コンテナへの接続

kubectl-proxyサービスを使用してダッシュボードを起動する必要はありません。これは、Kubernetesモジュールのインストール時にコンテナとしてすでに実行されているためです。 これはダッシュボードにアクセスする別のメソッドです。 コンテナが実行中であることを確認するには、次のように入力します:

kubectl get pods --namespace kubernetes-dashboard

出力は次のようになります:

NAME                                    READY   STATUS    RESTARTS   AGE
kubernetes-dashboard-785945dc77-c8l72   1/1     Running   0          19m

Kubernetesダッシュボード・サービスもデプロイされます。 そのサービスは、次を使用して表示できます:

kubectl get svc --namespace kubernetes-dashboard

出力は次のようになります:

NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
kubernetes-dashboard   ClusterIP   10.100.29.246   <none>        443/TCP   20m

このサービスにアクセスするには、ClusterIPに外部IPアドレスを割り当てるか、NodePortを使用してIPアドレスを割り当てるようにサービスにパッチを適用します。 外部IPアドレスを割り当てた場合は、そのネットワークにアクセスできるwebブラウザを使用してサービスに接続できます。