はじめに
本記事は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
ブラウザを起動し、ダッシュボードエンドポイントにアクセスします。
上記で抽出したトークンを入力し、「サインイン」をクリックします。
ダッシュボードにログインできます。
おわりに
初見の場合、公式のチュートリアルの内容が分かりずらいと感じたため、一連の作業についてまとめました。