vSphere 8: vCenter Server と ESXi を 7.0 から 8.0 にアップグレードする

はじめに

vSphere 8 が公開された ので、おうちラボをアップグレードしました。本エントリはその記録です。

なお、vSphere 8 から製品のリリースモデルに変更があり、従来のように いきなり GA(General Availability)ではなく、今後は IA(Initial Availability)と GA の 2 段階方式 になるようです。ということで、今回は厳密には IA リリースへのアップグレード です。

詳細は次の公式ブログのエントリで解説されていますが、ざっくりいえば、従来の GA 相当のモノをまず IA の扱いでリリース し、1 ~ 2 ヶ月ほど経って IA の採用が充分に広まったら GA 扱いに変更する ようです。GA 前の公開という意味では IA がいわゆるパブリックベータのような扱いとも思えてしまいますが、そうではなく、IA でも品質は従来の GA と何ら変わらないということのようでした。

Our intent going forward is that all major and update vSphere releases will be delivered first with an IA designation. An IA release is a production-quality release that meets all GA quality gates and is fully partner certified. IA releases will be available during the IA phase to all customers for production deployments.

We will follow up once we determine each release has achieved sufficiently wide adoption and announce the transition of the release to a GA designation. We expect this to typically happen after 4-6 weeks from IA.

New Release Model for vSphere 8 – VMware vSphere Blog

率先して新しいモノを使いたいヒト向けが IA で、ある程度ワールドワイドで実績ができてから採用したいヒト向けが GA って感じでしょうか。たぶん。

とはいえ、IA から GA まで最大で 2 ヶ月ちかく空くことになりそうなので、IA のビルドが本当に完全にそのまま GA になるのか、あるいはなんだかんだで GA にあわせてパッチリリースなど新しいビルドが出てくるのか、断定はしづらそうです。いつものビルド番号の一覧の KB(vCenter ServerESXi)では 8.0 IA と書かれているので、この行が GA に書き換わるのか、あるいは行が増えるのか、要注視ということで。

続きを読む

AWX に Kubernetes クラスタ外のスタンドアロン実行ノードを追加する

はじめに

AWX の 21.7.0 から、Execution Node実行ノード)がサポートされました。これにより、AWX が動作する Kubernetes クラスタの 独立したホスト に、ジョブの実処理を任せられる ようになります。

構築方法のドキュメント も提供されており、これが親切なので愚直に従えば動くところまで比較的簡単に持っていけますが、本エントリでは、概要や構成方法、使い方を、実装面を少し紐解きつつ紹介します。

続きを読む

AKS 上の AWX で実行時間の長いジョブが失敗するときの対処

はじめに

Azure Kubernetes Service (AKS) 上の AWX で、ジョブやインベントリの同期を実行したとき、それにおおむね 4 分から 5 分程度以上の待ち時間 を要するタスクが含まれると、ジョブが失敗してしまうことがあるようです。

AWX の Issue として報告されている事象 で、もろもろ調べたり試したりした結果、なんやかんやで現時点では わりとダーティハック感の強いワークアラウンド しかなさそうな気配があったため、簡単に紹介です。

例えば、次のような シンプル極まりないプレイブック を動かすだけでも、AKS 上の AWX では 途中で失敗 してしまうことがあります。

---
- hosts: localhost
  gather_facts: false

  tasks:
    - ansible.builtin.pause:
        minutes: 10

追記: この問題は AWX 21.14.0 で解決されました。詳細は最下部で紹介しています。

続きを読む

AWX で Kerberos 認証を使って Windows ホストに接続する

はじめに

Ansible で Windows ホストに対してプレイブックを実行したい場合、典型的にはホストへの接続には WinRM を利用します。この際、対象の Windows ホストに そのホストのローカルユーザで認証 する場合は、特別な工夫をしなくてもユーザ名とパスワードを使った Basic 認証や CredSSP 認証が利用できます。

一方で、対象の Windows ホストが Windows ドメインに参加していて、Ansible から ドメインユーザ で認証したい場合、WinRM の接続には Kerberos 認証 が推奨されており、そのためにはあらかじめ Ansible の実行ホストで Kerberos クライアントが正しく構成されている必要があります。

Ansible を ansible-playbook で直接実行する場合はそこまでハードルは高くないですが、AWX で実行するジョブで Kerberos 認証を使いたい 場合は、わりと混乱しがちです。Ansible Automation Controller のドキュメント に手順があるものの、あくまで AAC 用であって AWX には適合しない ものです。

本エントリでは、AWX で Kerberos 認証を使って Windows ホストに接続する 方法を紹介します。

続きを読む

AutoMuteUs 7.0 のリリース: スラッシュコマンド対応などいろいろ

AutoMuteUs7.0 にメジャアップデートされ、操作方法が .au やメンション から スラッシュコマンド に変更されました。これによって操作感が大きく変わり、またセルフホストでは関連するオプションがいくつか追加されています。

本エントリでは、公式ボットサービスの利用者セルフホストの利用者双方 を対象に、簡単に変更点とその概要、使い方を紹介します。

続きを読む

oVirt の VM のクローンを Ansible で作成する

背景

oVirt で VM のクローンを作成したいとき、GUI ではメニュから何も気にせず実行できます。

一方で、これを Ansible から実行しようとしても、oVirt の VM を管理するときに利用する ovirt.ovirt.ovirt_vm モジュール では実現は難しいようです。クローンに類する操作は次の二種のみしか対応していなさげでした。

  • テンプレートからの仮想マシンの作成
  • 他の VM のスナップショットからの仮想マシンの作成

実行したいのは、既存の VM からの Ansible を使ったダイレクトなクローン作成です。本エントリでは、これを API を直接叩いてがんばってどうにかする実装例を紹介します。

oVirt 4.4 でテスト済みです。RHV でも動きそうな気はしますが未テストです。AWX での利用を想定していますが、ansible-playbook でも動作します。

続きを読む

New-IsoImage: PowerCLI でのカスタム ISO ファイルの新しい作り方

はじめに

vSphere 7 から、vSphere 環境のライフサイクル管理を担う vLCM が登場し、ESXi のパッケージ構成が ベースイメージアドオンコンポーネント を追加する考え方に変わりました。

PowerCLI でも、2020 年 4 月にリリースされた 12.0 から、この考え方に基づいてカスタム ISO ファイルの作成が行えるよう、New-IsoImage など Image Builder 関連の新しいコマンドレットが追加されています。カーネルオプションも含められる ので、慣れるととても便利です。

使い方は vSphere 7.0 のドキュメントVCF のドキュメント に充分書いてありますし、リファレンスもあります が、本エントリでは、ドキュメントに書かれていないところを補足しつつ、改めて紹介します。

なお、実際に使う場合は、バグが修正されている PowerCLI 12.5 以降VMware.ImageBuilder 7.0.3 以降)を推奨します。また、現状、PowerShell Core(OSS 版の PowerShell、現 PowerShell 7)では動作しない ため、Windows にバンドルされている Windows PowerShell を使う必要 があります。

続きを読む

AWX Operator の 0.14.0 以降へのアップグレード

はじめに

0.13.0 までの AWX Operator は、Kubernetes の クラスタスコープ で動作していました。default ネームスペースに AWX Operator がただ一つ存在していて、同じクラスタ内であればネームスペースを問わず AWX リソースを管理できる状態です。AWX Operator の 0.14.0 では、これが ネームスペーススコープ に変更されています。すなわち、AWX Operator 自身が存在しているネームスペース内でしか AWX リソースを管理できません。

また、AWX Operator のデプロイ方法も、GitHub 上のマニフェストファイルを kubectl apply する従来の方法から、0.14.0 では make を使った方法に変更 されています。

従来、AWX Operator をアップグレードしたい場合(すなわち AWX をアップグレードしたい場合)、AWX リソースのパラメータに互換性がある範囲であれば、単に新しいバージョンのマニフェストファイルを kubectl apply すれば充分でした。しかしながら、前述の変更を踏まると、0.13.0 以前から 0.14.0 以降へアップグレードする際は、不要なリソースの削除など少しだけ追加の手順が必要です。

続きを読む

AWX に Active Directory で認証させて組織やチームと自動で紐づける

はじめに

本エントリでは、AWX のユーザ認証のバックエンドに Active Directory を LDAP サーバとして利用する場合の構成を取り上げます。

単にログインできるようにするだけではあまり工夫のしどころがないので、もう少し踏み込んだユースケースを想定して、Active Directory 側の グループ と AWX の 組織チーム とのマッピングも構成します。

AWX 側の ロール と組み合わせることで、Active Directory のグループに応じた、いわゆる RBAC を実現できます。

続きを読む