そこはかとなく

見て聞いて触ったことの技術メモ

Oracle Container Engine for k8s(OKE)のKubernetesダッシュボードにアクセスする方法

この記事について

Oracle Container Engine for Kubernetes(OKE)のKubernetesダッシュボードにアクセスする方法をまとめます。

Kubernetesダッシュボードとは

f:id:scoto:20181223180220p:plain Kubernetesダッシュボードは、kubectlコマンドライン・ツールの代わりに使用することができるWebベースのユーザー・インタフェースです。
Kubernetesダッシュボードを使用して、クラスタ上で実行されているアプリケーションの概要を確認したり、個々のKubernetesリソースを作成または変更したりできます。
例えば以下の用途に利用可能です。

コマンドラインに慣れる前はこういったUIがあると便利ですね。

Kubernetesクラスタやノードプールを作成および削除したり、関連するComputing、Network、およびStorageリソースを管理する場合はKuberenetesダッシュボードではなくOKEのダッシュボードを使用します。

前提条件

1, OKEでKubernetesダッシュボードを利用するにはクラスター作成時にKUBERNETES DASHBOARD ENABLE が有効になっている必要があります(後から追加することも可能です)。

f:id:scoto:20181223175449p:plain

2, kubeconfigの設定ファイルをダウンロードし、kubectlコマンドを利用できる状態にします。
kubeconfigのダウンロードの方法はAccess Kubeconfigを確認してください。

f:id:scoto:20181223174720p:plain

Kubernetes ダッシュボードの起動

ダッシュボードにアクセスする方法はKubernetesクラスター作成後、クラスターの詳細の左側にある Getting Started にも記載されています。

f:id:scoto:20181223170352p:plain

1, ローカル端末でkubectl proxyコマンドを実行します。

~$ kubectl proxy
Starting to serve on 127.0.0.1:8001

kubectk proxyコマンドを実行すると、KubernetesAPIエンドポイント経由でアプリケーションにアクセスすることが出来ます。 kubectlがapiエンドポイントへのリバースプロキシとして動作します。

2, ブラウザを開き以下URLでKubernetesダッシュボードを表示します。

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

3, Kubernetesダッシュボードにサインインするための情報を入力します。

f:id:scoto:20181223171124p:plain

今回はkubeconfigファイルを使用してサインインします。 クラスターへのアクセスを構成するために作成したkubeconfigファイル$HOME/.kube/config*1を選択します。

これで完了です!Kubernetesダッシュボードにアクセスすることができました。
Overviewでは現在動作しているリソースの状況を確認することが出来ます。

f:id:scoto:20181223171525p:plain

リソースを選択することでより詳細な情報を確認することが出来ます。

ご覧いただきありがとうございました。

この記事は Oracle Cloud Advent Calendar 2018 - Adventar 23日目です。

*1:kubeconfigファイルには、クラスターにアクセスするための資格情報(秘密鍵ハッシュ値を含む)が含まれています。 kubeconfigファイルはユーザー固有のものであり、API署名鍵ペアが有効である限り有効です。kubeconfigファイルを他のユーザーと共有しないようにしてください。 kubeconfigファイルを他のユーザーと共有する場合は、ユーザーが自分がアクセス権を持つすべてのクラスターにテナント内でアクセスできるようになることに注意してください。