機械翻訳について

このドキュメントで説明されているソフトウェアは、サポートされなくなったか、拡張サポートされています。
Oracleでは、現在サポートされているリリースにアップグレードすることをお勧めします。

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

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

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

https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

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

5.1 ダッシュボードの起動

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

kubectl proxy
Starting to serve on 127.0.0.1:8001

ダッシュボードは、プロキシを実行しているノードで使用できるようになります(プロキシを終了するまで)。 プロキシを終了するには、[Ctrl]+[C]を使用します。

これは、systemdサービスとして実行できます。次のようにして有効化すると、それ以降の再起動後に常に使用できるようになります。

sudo systemctl enable --now kubectl-proxy.service

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

kubectl proxy --help

5.2 ダッシュボードへの接続

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

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

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

https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/README.md

この目的に限定したトークンを設定していない場合は、サービス・アカウント(namespace-controllerなど)に割り当てられたトークンを使用できます。 次のコマンドを実行すると、namespace-controllerのトークン値を取得できます。

kubectl -n kube-system describe $(kubectl -n kube-system \
get secret -n kube-system -o name | grep namespace) | grep token:
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY ...

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

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

ダッシュボードにリモート・アクセスする必要がある場合は、SSHトンネリングを使用して、ローカルホストから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クラスタの画面に、ダッシュボード・ログが表示されます。 認証には、ダッシュボードにローカル接続したときと同じトークン情報を使用します。

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

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

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ブラウザを使用してサービスに接続できます。