Azure Arc に Kubernetes クラスターをつないだのですが、Kubernetes リソース(プレビュー)でこんな画面が表示されます。
"サービス アカウント ベアラー トークン"ってなんだろうと、リンクをクリックしました。
クラスター接続を使用して Azure Arc 対応 Kubernetes クラスターに接続する
にたどり着きました。"サービス アカウント トークン認証オプション"のことを指していると理解してます。
ということで、
- 前提条件
古い azure-cli の削除、curl のインストール、Azure へのログインも実施 - クラスター接続機能を有効にする
- サービス アカウント トークン認証オプション
- クラスターにアクセスする
事前準備として、kubectl のインストール、kube-configの配置を実施 - Azure Portal のにトークンを貼り付けた後は、こうなった
について確認していきます。
前提条件
古い azure-cli の削除、curl が入っていなかったのでインストールを実行します。
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から文字列を引っこ抜きまして、下記画面に貼り付けます。