LoginSignup
0
0

More than 3 years have passed since last update.

Amazon EKSのKubernetes ダッシュボードをデプロイする

Last updated at Posted at 2020-08-11

はじめに

本記事はAWS環境におけるEKSクラスターのKubernetesダッシュボードをデプロイする手順について記載しています。

オンプレミスのKubernetesに比べて、EKSなどのマネージドサービスを初めて操作する場合は勝手が違います。本記事ではチュートリアル: Kubernetes ダッシュボード (ウェブ UI) のデプロイを基に解説します。

準備作業

Kubernetesクラスタを制御するためには、オンプレミスやクラウドに関わらずクライアント側にkubectlなどのインターフェイスが必要になります。

また、AWS環境におけるEKSのクラスターを制御する場合は、eksctl (Amazon EKS での Kubernetes クラスターの作成および管理用のシンプルなコマンドラインユーティリティ) もありますが、本記事では汎用性が高いkubectlを利用します。詳細はAWS マネジメントコンソール の使用開始を参照。

本記事の前提条件は以下になります。

  • 操作するローカルの端末(Mac)に、AWS コマンドラインインターフェイス(CLI)がインストールされていること
  • EKSでKubernetesが既に構築済

AWS CLI 認証情報の設定

AWSのリソースを操作するためには、AWSの認証情報の設定が必要です。

以下のコマンドを実行し、必要な認証情報を対話的に入力します。

$ aws configure

AWS Access Key ID [None]: hoge
AWS Secret Access Key [None]: hoge
Default region name [None]: ap-northeast-1
Default output format [None]: json

認証情報を設定後に再度aws configureコマンドを実行すると、先ほど設定した認証情報が表示されます。

AWS Access Key ID [****************hoge]: 
AWS Secret Access Key [****************hoge]: 
Default region name [ap-northeast-1]: 
Default output format [json]: 

kubectlのインストールと設定

kubectlもコマンドラインツールとして用意されています。

kubectlのバイナリとkubectlのハッシュ値が記載されたファイルをダウンロード します。
$ curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.7/2020-07-08/bin/darwin/amd64/kubectl

$ curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.7/2020-07-08/bin/darwin/amd64/kubectl.sha256

ダウンロードしたkubectlのバイナリとkubectlのハッシュ値が記載されたファイルを突合し、kubectlのバイナリの正真性が正しいことを確認します。以下はコマンドラインで突合する場合の例になります。

$ kubectl=`openssl sha1 -sha256 kubectl | awk '{print $2}'`
$ kubectl_sha256=`cat kubectl.sha256 | awk '{print $1}'`
$ if [ ${kubectl} = ${kubectl_sha256} ]; then  echo "true"; else echo "false";fi;
true

kubeconfigファイルの作成

kubectlを用いてKubernetesクラスターのMaster(AWSで言うEKS)と通信するためには、接続先クラスや認証情報等を記載したkubeconfigが必要です。

以下のコマンドを実行し、kubeconfigファイルを作成します。※<cluster_name>はクラスター名を指定
$ aws eks --region ap-northeast-1 update-kubeconfig --name <cluster_name>

ダッシュボードのデプロイ

以下のコマンドを実行し、proxyを起動します。
$ kubectl proxy

以下のコマンドを実行し、トークンを抽出します。
$ kubectl -n kube-system describe secret

ブラウザを起動し、ダッシュボードエンドポイントにアクセスします。

上記で抽出したトークンを入力し、「サインイン」をクリックします。

スクリーンショット 2020-08-12 0.56.19.png

ダッシュボードにログインできます。

スクリーンショット 2020-08-12 0.56.33.png

おわりに

初見の場合、公式のチュートリアルの内容が分かりずらいと感じたため、一連の作業についてまとめました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0