Oracle Cloud Infrastructureドキュメント

Kubernetesダッシュボードの起動

Kubernetesダッシュボードは、Kubernetes kubectlコマンドライン・ツールの代わりに使用できるWebベースのユーザー・インタフェースです:

  • コンテナ化されたアプリケーションをKubernetesクラスタにデプロイ
  • コンテナ化されたアプリケーションのトラブルシューティング

Kubernetes Dashboardを使用して、クラスタ上で実行されているアプリケーションの概要を取得し、個々のKubernetesリソースを作成または変更します。 Kubernetes Dashboardは、クラスタ内のKubernetesリソースのステータスと発生したエラーも報告します。 Kubernetes Dashboardを使用するには、クラスタが最初に作成されたときに有効になっている必要があります。

Kubernetesダッシュボードとは対照的に、Container Engine for Kubernetesを使用すると、Kubernetesクラスタおよびノード・プールを作成および削除し、関連付けられたコンピュート・リソース、ネットワーク・リソース、およびストレージ・リソースを管理できます。

Kubernetesダッシュボードを使用してクラスタにアクセスする前に、クラスタkubeconfigファイルをダウンロードして、操作を実行するクラスタを指定する必要があります。 kubeconfigファイルのOracle Cloud Infrastructure CLIコマンドでは、短期間の、クラスタの有効範囲が設定された、個別のユーザーに固有の認証トークンが生成されることに注意してください。 そのため、Kubernetesクラスタにアクセスするユーザー間でkubeconfigファイルを共有することはできません。

Kubernetesダッシュボードを起動するには:

  1. まだ行っていない場合は、クラスタkubeconfig構成ファイルをダウンロードし、KUBECONFIG環境変数でファイルを指すように設定するステップに従ってください。 自分のkubeconfigファイルをダウンロードする必要があります。 別のユーザーがダウンロードしたkubeconfigファイルを使用してクラスタにアクセスすることはできません。 「クラスタ・アクセスを有効にするためのkubeconfigファイルのダウンロード」を参照してください。

  2. テキスト・エディタで、次の内容のファイルを(たとえば、oke-admin-service-account.yamlという名前で)作成します:

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: oke-admin
      namespace: kube-system
    ---
    apiVersion: rbac.authorization.k8s.io/v1beta1
    kind: ClusterRoleBinding
    metadata:
      name: oke-admin
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: oke-admin
      namespace: kube-system

    このファイルにより、管理者サービス・アカウントとclusterrolebindingが、どちらもoke-adminという名前で定義されます。

  3. 次のように入力して、クラスタにサービス・アカウントとclusterrolebindingを作成します:

    $ kubectl apply -f <filename>

    <filename>は以前に作成したファイルの名前です。 例えば:

    $ kubectl apply -f oke-admin-service-account.yaml
    

    前述のコマンドの出力により、サービス・アカウントとclusterrolebindingの作成が確認されます:

    serviceaccount "oke-admin" created
    clusterrolebinding.rbac.authorization.k8s.io "oke-admin" created

    これで、oke-adminサービス・アカウントを使用して、クラスタの制御とKubernetesダッシュボードへの接続が行えるようになりました。

  4. 次のように入力して、oke-adminサービス・アカウントの認証トークンを取得します:

    $ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep oke-admin | awk '{print $1}')

    上のコマンドの出力には、次に示すtoken:要素の値として認証トークン(英数字の文字列)が含まれます:

    Name:         oke-admin-token-gwbp2
    Namespace:    kube-system
    Labels:       <none>
    Annotations:  kubernetes.io/service-account.name: oke-admin
    kubernetes.io/service-account.uid: 3a7fcd8e-e123-11e9-81ca-0a580aed8570
    Type:  kubernetes.io/service-account-token
    Data
    ====
    ca.crt:     1289 bytes
    namespace:  11 bytes
    token:      eyJh______px1Q

    前述の例では、eyJh______px1Q (可読性のため省略形)は認証トークンです。

  5. 出力からtoken:要素の値をコピーします。 このトークンを使用して、ダッシュボードに接続します。

  6. ターミナル・ウィンドウで、kubectl proxyと入力してKubernetes Dashboardを開始します。
  7. ブラウザを開き、http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/loginにアクセスしてKubernetesダッシュボードを表示します。
  8. Kubernetesダッシュボードでトークンを選択し、前にコピーしたtoken:要素の値をトークン・フィールドに貼り付けます。

  9. Kubernetesダッシュボードで、「サインイン」をクリックし、「概要」をクリックして、クラスタ上にデプロイされているアプリケーションを表示します。