SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Azure Local 23H2 の SSH キーと kubeconfig の取得について (2025/01 版)

leave a comment

2025/01/12 時点の Azure Local 23H2 の SSH キーと kubeconfig の取得について情報をまとめておこうかと。

私の使用している環境 / 投稿時点の内容となるため、環境依存 / 今後変更される可能性があります。

Azure Local 23H2 で対象となる環境について

Azure Local 23H2 で SSH / kubeconfig による接続対象となるのは次の 2 つの環境となるかと思います。

これらの環境は Linux / Kubernetes (k8s) が動作している環境となるため、トラブルシューティング / 通常ん管理のために SSH, kubeconfig の取得方法を把握しておく必要があります。

 

SSH キー / kubeconfig の取得について

Azure Arc リソースブリッジ

SSH 秘密鍵の取得

Azure Local 23H2 を新規インストール / 22H2 を 23H2 をアップグレードしソリューションアップグレードをインストールした環境では、Azure Arc リソースブリッジがインストールされ、KVA が展開された状態となります。

通常、この環境に対して直接接続が必要なことはないのですが、トラブルシューティングのため接続が必要となるケースがあります。(KVA がリリースされた当初に、Azure と Kuberentes の情報が崩れてしまい、SSH でリソースブリッジに接続して、Kubernetes の設定を修正したことが実際にあります)

KVA については、Linux 上に構築されているため、SSH で接続することができますが、構築時に秘密鍵が自動的にダウンロードされるということはないため、SSH で接続する際には、Azure Local のディレクトリ内に保存されている秘密鍵を直接取得する必要があります。

SSH の秘密鍵は次のファイルに出力されています。

  • C:\ClusterStorage\Infrastructure_1\Shares\SU1_Infrastructure_1\MocArb\WorkingDirectory\Appliance\Kva\logkey

環境によっては「c:\ProgramData\kva\.ssh」に logkey が出力されているケースもあるようですが、私の環境では存在しておらず、上述のファイルを使用する必要がありました。(22H2 は ProgramData の配下に保存されていたかと)

SSH の接続ユーザーは「clouduser」となるため、このユーザー名で上述の秘密鍵を使用することでリソースブリッジの Linux に SSH で接続することができます。

 

kubeconfig の取得

Arc リソースブリッジの Kubernetes に対して kubectl を実行したい場合、kubeconfig の取得が必要となりますが、リソースブリッジの Kubernetes の kubeconfig を取得するためのコマンドは提供されていません。

そのため、SSH で接続して「/etc/kubernetes/admin.conf」を kubeconfig として使用して Kubernetes の操作を実施する必要があります。

23H2 上の次のファイルを使用して Kubernetes に接続することもできますが、「applianceuser」という制限されたユーザーで接続が行われるため、管理権限を使用して操作を行いたい場合には、Kubernetes の Linux 内に格納されているファイルを使用して操作を行う必要があります。

  • C:\ProgramData\kva\kubeconfig
  • C:\ClusterStorage\Infrastructure_1\Shares\SU1_Infrastructure_1\MocArb\WorkingDirectory\Appliance\kubeconfig

 

AKS on Azure Local 23H2

SSH 秘密鍵の取得

AKS については展開時に SSH で使用する公開鍵を指定することができます。

image

対応する秘密鍵はここで指定した公開鍵とペアとなるキーを使用することになります。

「新しいキーの組の生成」をした場合、展開時に秘密鍵がダウンロードされますので、そのファイルを使用して SSH で接続を行います。

使用するユーザーについては、Arc リソースブリッジと同様に「clouduser」となります。

 

kubeconfig の取得

AKS の展開時に、認証認可としてどの方式を使用するかを決めることができます。

image

選択した方法によって、認証 / 認可の方法が変わります。

証明書ベースの kubeconfig を取得する場合 AKS Arc で証明書ベースの管理者 kubeconfig を取得する に記載されている az aksarc get-credentials を「–admin」オプションを指定して実行することで、管理者権限の kubeconfig の取得を行うことができます。

Share

Written by Masayuki.Ozawa

1月 12th, 2025 at 11:07 pm

Posted in Azure Local

Tagged with

Leave a Reply