ラベル Azure Kubernetes Service の投稿を表示しています。 すべての投稿を表示
ラベル Azure Kubernetes Service の投稿を表示しています。 すべての投稿を表示

2023年9月3日日曜日

PowerShellのAksHciモジュール都合により、Az.ResourcesとAz.Accountsが複数バージョン並列配置せざるを得なかった

Az.StackHCI、Az.Resources、Az.ccountsを最新化するPowerShellスクリプト でPowerShellモジュールを最新化できたと思ったら、そうは問屋が卸さなかった。。。

PowerShellモジュールのAksHci 1.1.83は、Az.Resource 4.40、Az.Accounts 2.6.0を要求しています。。。
※あくまでも本校執筆時点の2023年9月3日での話です。AksHci がバージョンアップしたら状況は変わるかもしれません。

Import-Module -Name AksHci
後は、クラスターの全ノードでAz.ResourcesとAz.Accountsが複数バージョンの並列インストールとなりました。

2023/09/03追記

同じPowerShellモジュールを並列でインポートしたせいか、下記のエラーが発生しました。

PowerShellウィンドウをいったん閉じてから開きなおし、Az.Accounts 2.6.0、Az.Resource 4.4.0の順でインポート後、AksHciをインポートしました。結果、上記のエラーは収まった模様。

2023年7月28日金曜日

AksHci PowerShell モジュールの最新化

AksHci PowerShell モジュールの最新化でより良い方法はないかと。

いろいろ読み直してみたところ、

AksHci PowerShell モジュールのインストール

に下記記述(リンク)がありました。

ヘルパー スクリプトを使用 して古い AKS-HCI PowerShell モジュールを削除し、AKS デプロイで PowerShell のバージョン関連の問題を回避できます。

baziwane氏が投稿したスクリプトがそうです!

実行結果例は、下記のとおりです。

配列内のモジュール名を変えれば、他にも応用できますね。

2022年12月13日火曜日

AKS on Azure Stack HCI構成時、netsh winhttp set proxyのバイパス指定を気をつけないと、WinRMの通信がうまくいかない

以前、AKS on Azure Stack HCIを構成した時は、Proxy無しでした。

Proxy有りのケースで構成していたら、

Initialize-AksHciNode

でエラーになりました。。。

Test-WSManを実行してみると、ホスト名のみの場合でエラーになると判明しました。

この後、netsh winhttp set proxyのコマンドラインサンプルをいくつかみていたら、<local>があることを思い出した。

もしやと思って、まずnetsh winhttp set proxyを再実行しました。

Initialize-AksHciNodeを再実行しました。


うまくいきました。また一つ勉強になりました。つまり、

netsh winhttp set proxy Proxy:portnumber "<local>;localhost;*.お使いのドメイン名"

をベースにしないとダメですね。

2022年10月22日土曜日

MS Ignite近辺でAzure Stack HCIのトピックを振り返る

Ignite 2022のセッションというより、

Microsoft Ignite BOOK OF NEWS

からたどった

What's new for Azure Stack HCI at Microsoft Ignite 2022

にまとめられています。内容はいろいろなところで聞いています。
が、自分で確認する意味も込めて、リストアップします/引用します/意訳します/文面を読んでざっくりまとめます。

  1. New benefit for Software Assurance customers
    Software Assuranceを締結されているEnterprise Agreementを締結済みの企業様は、Azure Stack HCIのライセンスコア費用を追加で支払う必要がなくなり、AKSとWindows Serverの仮想マシンを無制限に実行できるということです。
  2. Azure Arc-enabled VM management: Public Preview 2
    • Azure Marketplaceから仮想マシンイメージをダウンロードできるようになった。なので、AVD for Azure Stack HCI向けにWindows 11 Enterpriseマルチセッションをダウンロードできます。Azure Stack HCIへWindows Server 2022 Azure Editionも簡単にダウンロードできます。
      ※仮想マシンイメージを手動ダウンロードしなくてよくなるのでうれしい。
      ※これらの仮想マシンイメージは、Azure Arcエージェントが同梱されているということで、こちらももうれしいですね。
    • Azure ArcからVMをデプロイすると、ゲストOSは自動的にArcに対応します。その際、ADドメイン参加のようなVMエクステンションを使ってOSを設定したり、カスタムスクリプトを使ってアプリケーションを展開・設定したりできます。
      ※これもうれしいですね。
      これの一例として、AVDセッションホストプールを自動参加させるARMテンプレートが使える旨も記載があります。
  3. 22H2 feature update
    • 製品品質の改善が図られた。
    • Network ATCがクラスタ内ストレージネットワークにIPアドレスを自動的に割り当て、使用目的に応じてクラスタネットワークに自動的に命名できます。また、最適なネットワークの選択、最適なトランスポート、最適な帯域幅の割り当てなど、ライブマイグレーション設定を管理できます。
    • ストレージ管理はより柔軟で、既存のストレージボリュームを変更して耐障害性を高めたり(例:2ウェイミラーから3ウェイミラー)、固定プロビジョニングからシンプロビジョニングに変換できます。
      ※検証用途だからシンプロビジョニングにしたい場合に良いですかね。
    • ストレッチクラスタ内のサイト間のストレージレプリケーションは、新しいオプションの圧縮機能により、より高速化。
    • Hyper-Vライブマイグレーションは、スイッチレス2ノードおよび3ノードクラスタにおいて、より信頼性が高くなったとのこと。
    • 新しいタグベースのネットワークセグメンテーションにより、選択したカスタムタグに基づく横方向の脅威から仮想化ワークロードを保護できます。
    • 管理ツールによる22H2のサポート
      • 現状のWindows Admin Centerを使ってバージョン22H2を管理できるようです。
        ※2110.2 GAふくめ、急ぎ確認してみます。
      • 11月中旬に次のWindows Admin Centerのリリースされ、変更可能なボリューム設定、改良されたクラスタ設定のデザインなど、新機能をライトアップする機能拡張が行われる予定とのこと。
      • 11月中旬には、System Center 2022の最初のUpdate Rollup(UR1)により、Azure Stack HCI、バージョン22H2の正式サポートが追加されるとのこと。
        ※SCVMM 2022は、Hyper-VホストにVMMエージェントをプッシュインストールできない問題があるので、UR1が近日中にリリースされるのはうれしいです。
  4. Hybrid Azure Kubernetes Service
    • AKS on Azure Stack HCI上の2022年9月のアップデートは現在提供されており、いくつかの重要な機能強化があるそうです。
      • LinuxコンテナのベースイメージがMariner 2.0に更新され、Mariner 1.0の半分以下のサイズになったとのこと。より安全で、より高速にアップグレードされ、約3,000の追加・更新されたパッケージが含まれているとのこと。
      • Software-Defined Networking (SDN) の統合が一般的に利用可能になり、実稼働環境での利用可能。
      • GPUをコンテナにアタッチする手順が簡素化。
      • 皆様からのフィードバックに基づいて、システム管理者グループのどのアカウントでもAKSの管理に使用可能とのこと。
    • Azureから直接ハイブリッドAKSクラスタをプロビジョニングするパブリックプレビューも発表されているとのこと。
      • AADのIDを使用して、Arc Resource Bridgeを通じて、Arc対応のVM管理と非常によく似た、全く新しいKubernetesクラスタをオンプレミス環境にプロビジョニングできます。
        ※これは助かりますねー
      • ポータルGUIの一貫性に加え、ハイブリッドAKSは、GitOpsを通じてより一貫性のある構成管理機能を提供します。GitOpsは、GitやHelmリポジトリなどの一般的なファイルソースや、YAMLやKustomizeなどのテンプレートタイプをサポートする、人気のオープンソースツールセットであるFluxを使用しています。
        ※引き続き確認しなければいけないな。
  5. One more thing… hardware!
    また聞きですけど、Azure Stack Edgeの代替になるようです。
やっぱり自分でも理解するよう、ちゃんと読み込まないとダメと痛感。。。

2022年7月23日土曜日

PowerShellでAKS on Azure Stack HCIをデプロイするときのプロキシサーバー設定は

New-AksHciProxySetting で行います。

Set-AksHciConfigのkvanameなのか で書き忘れていたため、本稿で補足します。

New-AksHciProxySetting は、下記画面のパラメーターを設定するものです。

New-AksHciProxySetting の例にもある通り、プロキシ設定を変数に入れます。
※上記画面は、New-AksHciProxySetting のフロントエンドをつかさどっていることになりますね。

Set-AksHciConfig -proxySetting $proxySettings といった形で構成に盛り込みます。

2022年7月9日土曜日

Set-AksHciConfigのkvanameなのか

Windows Admin CenterからAKS on Azure Stack HCI/Windows Server HCIをデプロイすると、Azure Kubernetes サービスのコントロールプレーン名は、GUIDにならないです。
このコントロールプレーン名は、どこで定義されているのでしょうか?
configを作っているのは、Set-AksHciConfigです。こちらで生成されたファイルを見てみました。赤枠のところで、コントロールプレーン名が定義されており、変数名というか属性名は、kvaNameですね。

AKS on Azure Stack HCI/Windows Server HCIのデプロイが終わりましたので、Azure Portalから、コントロールプレーン名を見てみます。kvaNameで指定された名前そのものですね!

get-help Set-AksHciConfig

を実行してみました。

Set-AksHciConfigの-kvaNameオプションを指定することで、コントロールプレーン名を指定できますね。ただ、このオプションの使用は非推奨となっています。

以上で、WACと同様な「Azure Kubernetes サービスのコントロールプレーン名」をPowerShellでも指定できますね!

2022年7月8日金曜日

AKS on Azure Stack HCIにおける、サービス アカウント トークン認証オプションのやり方が変わりましたよ

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

を確認していました。
が、英語版のドキュメントを確認したところ、方法が変わっていました。

Service account token authentication option

※日本語版は、まだ変わっていませんね。
サービス アカウント トークン認証オプション

以降の操作は、

サービスアカウントの作成と、サービスアカウントへのアクセス権限付与までは同じ。

続くトークンの取得方法が変わりましたね。まずEOFまでコマンドに読み込ませる方法。
最後は、Service account token authentication option とはちょっと変えて、リダイレクトで直接c:\k8s\gitops-demo_token.txt へ書き込んでいます。コードとしてはこんな感じで
kubectl get secret admin-user-secret -o jsonpath='{$.data.token}' | base64 -d | sed $'s/$/\\\n/g') > /mnt/c/k8s/gitops-demo_token.txt
実行結果は下記の通りです。

作成したトークンができたら、Azure Portalから入力すると、名前空間が見えますね。


2022年7月3日日曜日

PowerShellでAKS on Azure Stack HCIをデプロイ

Azure Stack HCI 上の Azure Kubernetes ServiceをPowerShellでデプロイしてみました。
※以前使っていた物理サーバーではなく、Nested Hyper-VでAzure Stack HCIを構成しています。

クイック スタート: PowerShell を使用して Azure Stack HCI および Windows Server 上に Azure Kubernetes Service ホストを設定し、ワークロード クラスターをデプロイする

に沿って確認しました。なお各ステップでは、特に断りがない限り、管理者権限付きのPowerShellウィンドウを開いています。

AksHci PowerShell モジュールのインストール

PowerShellモジュールである、Az.Accounts、Az.Resources、AzureAD、AksHciのインストールおよび確認です。

Azure Stack HCI クラスター内のすべてのノード

ちょっとオリジナル見出しだとわかりにくいのですね。
クラスター内の全ノードにNuGetと、PowerShellモジュールであるPowershellGetとAksHciをインストールしましょう、ということです。

PowershellGetの警告は無視しますw
ここで、

クイック スタート: PowerShell を使用して Azure Stack HCI および Windows Server 上に Azure Kubernetes Service ホストを設定し、ワークロード クラスターをデプロイする

にあるとおり、PowerShellウィンドウを一度閉じて開きなおします!PowerShellウィンドウを開きなおしたら、PowerShellモジュールであるAksHciをインストールします。
※とはいえ、先の2ノードクラスターの片系にインストール済みです。もう一つの片系にインストールします。

リソース プロバイダーをサブスクリプションに登録する

Azure にログインするには、Connect-AzAccountコマンドレットを使うのですが、Azure Stack HCI OSは、-DeviceCodeオプションを付加しましょう。
※IEが無いため、ライブラリーがない旨のエラーが出ます。
サブスクリプションの指定も終えたのが下記の画面です。
Azure Arc 対応 Kubernetes リソース プロバイダーに Azure サブスクリプションを登録します。 
以上で、デプロイの準備ができました。

手順 1:デプロイ用にマシンを準備する

Azure Stack HCI on Windows Server クラスター内のすべてのノードで、Initialize-AksHciNodeを実行します。

手順 2: 仮想ネットワークを作成する

AKS用の仮想ネットワークを定義します。まずは静的IPアドレスを指定する形でパラメーターを定義します。なお仮想スイッチは、外部型のやつを指定しましょう。
仮想ネットワークを定義します。

手順 3:デプロイを構成する

AKS ホストの構成設定を作成します。

手順 4: Azure にログインし、登録設定を構成する

サブスクリプションとリソース グループ名を指定し、Set-AksHciRegistration PowerShell コマンドを実行します。
※途中から、Azureへの認証がうまくいかなくて、Clear-AzContextを実行していました。。。

手順 5: 新しいデプロイを開始する

Install-AksHciを実行して、デプロイします。
以上で、デプロイ完了です。

Windows Admin Centerから同期状況を見てみました。しばらくすると、下記の画面になります。
Azure Portalも見てみました。
赤枠で示した部分が、GUIDになっている?!
Windows Admin Centerでデプロイしたときと、挙動が違うな。。。


ということで、「Set-AksHciConfigのkvanameなのか」へ続く。。。

2022年6月14日火曜日

PowerShellでAKS on Azure Stack HCIをデプロイしていたが、認証関連のエラーでハマった

Quickstart: Set up an Azure Kubernetes Service host on Azure Stack HCI and Windows Server and deploy a workload cluster using PowerShell

に基づいて、デプロイを進めていたときのこと。

Step 4: Log in to Azure and configure registration settings

Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"

を実行して、デバイスログイン後、認証が全く通らなくなりました。。。


そのあと、Connect-AzAccountは、通ったものの、サブスクリプションの切り替えでも同じようなことに。
何回かリトライしたのですが、ダメなので思いつくキーワードを入れて検索したところ、

【Azure】Unable to acquire token for tenant ‘xxxx-xxxx-xxxx’

を見つけました。

Clear-AzContextを実行してから、Set-AksHciRegistrationを実行したところ無事とおりましたよ。


2022年3月17日木曜日

Windows Admin Center の AKS on Azure Stack HCI 拡張 バージョン 2.46.0 でプロキシサーバーの設定が増えてます。

 Windows Admin Center の AKS on Azure Stack HCI 拡張 バージョン 2.46.0 でプロキシサーバーの設定が増えています。下記画面の赤枠内がプロキシサーバーの設定となります。


2022年2月9日水曜日

ウィルス対策における、AKS on Azure Stack HCI/Windows Server の除外パス

Resolve general issues when using Azure Kubernetes Service on Azure Stack HCI

When running AksHci PowerShell cmdlets, an Unable to Load DLL error appears

に除外パスの記載があります。以下、引用しておきますね。

プロセルのファイル名:

  • kubectl.exe
  • kvactl.exe
  • mocctl.exe
  • nodectl.exe
  • wssdagent.exe
  • wssdcloudagent.exe
  • kubectl-adsso.exe
  • AksHciHealth.exe

フォルダーのパス:

  • C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\
  • C:\Program Files\WindowsPowerShell\Modules\TraceProvider\
  • C:\Program Files\WindowsPowerShell\Modules\AksHci\
  • C:\Program Files\WindowsPowerShell\Modules\Az.Accounts\
  • C:\Program Files\WindowsPowerShell\Modules\Az.Resources\
  • C:\Program Files\WindowsPowerShell\Modules\AzureAD\
  • C:\Program Files\WindowsPowerShell\Modules\DownloadSdk\
  • C:\Program Files\WindowsPowerShell\Modules\Kva\
  • C:\Program Files\WindowsPowerShell\Modules\Microsoft.SME.CredSspPolicy\
  • C:\Program Files\WindowsPowerShell\Modules\Moc\
  • C:\Program Files\WindowsPowerShell\Modules\PackageManagement\
  • C:\Program Files\AksHci\
  • C:\AksHci\
    でも、C:\AksHci\ のみ見たこと無い気がするけど。

Get-AksHciCredential と kubectl.exe

Get-AksHciCredential は、AKS on Azure Stack HCI/Windows Server で kubectl.exe を使う際、標記のコマンドレットで 対象の kube-config をダウンロードしてくれます。

上記の通り、kubectl.exe を実行し、Kubernetes クラスターを管理できます。

さて、kubectl.exe は、AKS on Azure Stack HCI/Windows Server をデプロイされた各ノードの C:\Program Files\AksHci 配下にあります。

また、CSV 配下にも、kubectl.exe がありますよ。


2022年2月8日火曜日

AKS on Azure Stack HCI/Windows Server バージョン 1.0.7.10118 が出てますよ

AKS on Azure Stack HCI/Windows Server バージョン 1.0.7.10118 と AksHci PowerShell モジュール 1.1.25も出ています。

Windows Admin Center でアップグレードできますが、PowerShell を使ったアップグレードもできます。

PowerShell を使用して AKS on Azure Stack HCI ホストをアップグレードする

  1. Azure PowerShell モジュールの更新
  2. 現在のバージョンのAKS on Azure Stack HCI を取得する
  3. 利用可能な AKS on Azure Stack HCI 更新プログラムを取得する
  4. AKS on Azure Stack HCI 更新プログラムを開始する
  5. AKS on Azure Stack HCI ホストが更新されていることを確認する
という流れになります。ちなみに、上記項番1で、"-AcceptLicense"オプションを追加したほうが良いケースもあるようです。ご注意ください。

2022年1月30日日曜日

Windows Server & Cloud User Group Japan 第27回 勉強会 資料「AKS on Azure Stack HCI/Windows Serverのデプロイ」のセッション動画を公開します。

Windows Server & Cloud User Group Japan 第27回 勉強会 資料「AKS on Azure Stack HCI/Windows Serverのデプロイ」のセッション動画を公開します。


※冒頭の録画を補完しているため、途中までスライドのみの映像となります。

2022年1月14日金曜日

AKS ランタイム on Azure Stack HCI/Windows Server の Kubernetes クラスターを Azure Monitor Container Insights から外します

Kubernetes クラスターを Azure Monitor に登録する

の続き。Azure Monitor から Kubernetes クラスターを外したいと考えました。例えば、ミスのリカバリーなどに利用できると考えてます。

まず確認したのが、下記です。

Azure Arc 対応 Kubernetes 上で監視を停止する方法

もろもろの準備を終えて、

.\disable-monitoring.ps1 -clusterResourceId $azureArcClusterResourceId -kubeContext $kubeContext

を実行しました。

エラーが発生しました。。。何回か試しましたが、やはり同じ。helm と書いてあるので、これは何だと思い、普通にコマンド実行してみました。
helm は、標準コマンドじゃなかったですね。。。Kubernetes 用のパッケージ導入を司るものですね。ということで、
https://github.com/helm/helm/releases

からダウンロードして、環境変数 PATH が通るところに配置しました。

再実行。
helm chart で検出される Azure Monitor 用の名前がないし。

以上、この方法で、Azure Monitor から Kubernetes クラスターを外すことはできないとわかりました。

ほかに方法はないのかと、あれこれあたってみましたよ。
そしたら、拡張機能にそれらしいものがあった。
そういえば、Azure Monitor にオンボードした方法
に書いていた
で、こういう記述があります。
[構成] ボタンを選択して、Azure Monitor Container Insights クラスター拡張機能をデプロイします。

ということで、ビンゴのようです。では、[アンインストール]をクリックします。 

確認のダイアログがでますので、[はい]をクリックします。

しばらく待つと拡張機能がアンインストールされました。
Azure Monitor から Kubernetes クラスターが一つ外れました。
AKS 自体は、Azure Monitor に残してありますけどね。

ちなみに、Kubernetes クラスターを Azure Monitor Container Insights から外すための az CLI コマンドは、下記にあります。必要に応じ、ご確認いただけますと幸いです。

拡張機能インスタンスを削除する