2021年12月10日金曜日

サービス アカウント ベアラー トークン/サービス アカウント トークン認証 で Azure Arc の Kubernetes クラスター を確認

Azure Arc に Kubernetes クラスターをつないだのですが、Kubernetes リソース(プレビュー)でこんな画面が表示されます。

"サービス アカウント ベアラー トークン"ってなんだろうと、リンクをクリックしました。

クラスター接続を使用して Azure Arc 対応 Kubernetes クラスターに接続する

にたどり着きました。"サービス アカウント トークン認証オプション"のことを指していると理解してます。

ということで、

  • 前提条件
    古い azure-cli の削除、curl のインストール、Azure へのログインも実施
  • クラスター接続機能を有効にする
  • サービス アカウント トークン認証オプション
  • クラスターにアクセスする
    事前準備として、kubectl のインストール、kube-configの配置を実施
  • Azure Portal のにトークンを貼り付けた後は、こうなった
について確認していきます。

注)クラスター接続を使用して Azure Arc 対応 Kubernetes クラスターに接続する は、WSL か、Linuxなど、base64とsedが使える環境を想定しています。また変数の設定方法が、Linux/UNIX系だと気づくのに時間がかかってしまいました。皆様も同じ轍を踏まないようにご注意ください。今回は、Ubuntu な仮想マシンを使って確認しました。

前提条件
古い azure-cli の削除、curl が入っていなかったのでインストールを実行します。
azure-cli をインストールします。

connectedk8s Azure CLI 拡張機能を追加します。
Azure へのログインします。デバイスコードをオプションで指定してます。
サブスクリプション切り替え、変数設定、kubectl の実行形式を入手します。
実行許可を付けてから、/usr/local/binへ移動します。kubectl のバージョンも確認します。
このあと、kube-config が必要になるので、.kube フォルダーを作成し、scpなどでコピーしておきます。

クラスター接続機能を有効にする
az connectedk8s enable-features --features cluster-connect -n $CLUSTER_NAME -g $RESOURCE_GROUP
により、クラスター接続機能を有効化します。(キレイに確認できていなかったときは、ここで kube-config が必要でしたね)

サービス アカウント トークン認証オプション、クラスターにアクセスする
あとは、サービス アカウント トークン認証オプションを粛々と進めます。
なお、
kubectl create serviceaccount admin-user
kubectl create clusterrolebinding admin-user-binding --clusterrole cluster-admin --serviceaccount default:admin-user
は、キレイに確認できていなかったときに作成済みです。よって、下記画面ショットではエラーとなっていますことご了承ください。

クラスターにアクセスする
Proxy まで立ち上げたら、別の Terminal から
kubectl get pods
を実行して確認します。

Azure Portal のにトークンを貼り付けた後は、こうなった
サービス アカウント トークン認証オプションが構成できましたので、$TOKENから文字列を引っこ抜きまして、下記画面に貼り付けます。

無事に色々見えるようになりました!

下記は、まだ設定されていないので表示無しです。





0 件のコメント:

コメントを投稿