4.3.2. Windows コンテナーワークロード用の vSphere 環境の準備

vSphere Windows 仮想マシンのゴールドイメージを作成し、WMCO の内部 API サーバーとの通信を有効にして、Windows コンテナーのワークロード用に vSphere 環境を準備する必要があります。

4.3.2.1. vSphere Windows 仮想マシンのゴールドイメージの作成

vSphere Windows 仮想マシン (VM) のゴールドイメージを作成します。

前提条件

  • OpenSSH サーバーで鍵ベースの認証を設定するのに使用する、秘密鍵/公開鍵ペアを作成している。プライベートキーは Windows Machine Config Operator(WMCO) namespace でも設定される必要があります。これは、WMCO が Windows 仮想マシンと通信できるようにするために必要です。詳細は、「Windows Machine Config Operator のシークレットの設定」のセクションを参照してください。
注記

Windows 仮想マシンを作成する際には、複数のケースで Microsoft PowerShell コマンドを使用する必要があります。本書の PowerShell コマンドは、PS C:\> プレフィックスによって区別されます。

手順

  1. Windows Server Semi-Annual Channel(SAC): Windows Server 2004 または 20H2 ISO イメージを使用して、vSphere クライアントに新しい仮想マシンを作成します。これには、Microsoft パッチ KB4565351 が含まれます。このパッチは、vSphere にインストールされたクラスターに必要な VXLAN UDP ポートの設定に必要です。詳細は、VMware のドキュメント を参照してください。
  2. Windows 仮想マシンに VMware Tools バージョン 11.0.6 以降をインストールし、設定します。詳細は、VMware Tools のドキュメントを参照してください。
  3. Windows 仮想マシンに VMware Tools をインストールした後、以下を確認します。

    1. C:\ProgramData\VMware\VMware Tools\tools.conf ファイルが、以下のエントリーとともに存在します。

      exclude-nics=

      tools.conf ファイルが存在しない場合は、exclude-nics オプションでコメント解除した状態でこれを作成し、空の値に設定します。

      このエントリーにより、ハイブリッドオーバーレイで Windows 仮想マシンで生成され、クローン作成された vNIC は無視されないようにします。

    2. Windows 仮想マシンには、vCenter で有効な IP アドレスがあります。

      C:\> ipconfig
    3. VMTools Windows サービスが実行中である。

      PS C:\> Get-Service -Name VMTools | Select Status, StartType
  4. Windows 仮想マシンに OpenSSH Server をインストールし、設定します。詳細は、Microsoft ドキュメントのInstalling OpenSSHを参照してください。
  5. 管理ユーザーの SSH アクセスを設定します。そのためには、Microsoft のドキュメントAdministrative userを参照してください。

    重要

    命令に使用されるパブリックキーは、シークレットを保持する WMCO namespace で後に作成するプライベートキーに対応している必要があります。詳細は、「Windows Machine Config Operator のシークレットの設定」のセクションを参照してください。

  6. Microsoft ドキュメント に従って、Windows 仮想マシンに docker コンテナーランタイムをインストールします。
  7. コンテナーログの受信接続を可能にする新しいファイアウォールルールを Windows 仮想マシンに作成する必要があります。以下の PowerShell コマンドを実行して、TCP ポート 10250 にファイアウォールルールを作成します。

    PS C:\> New-NetFirewallRule -DisplayName "ContainerLogsPort" -LocalPort 10250 -Enabled True -Direction Inbound -Protocol TCP -Action Allow -EdgeTraversalPolicy Allow
  8. Windows 仮想マシンのクローンを作成し、再利用可能なイメージにします。詳細は、VMware ドキュメントで既存の仮想マシンのクローンを作成する方法を参照してください。
  9. クローン作成した Windows 仮想マシンで、Windows Sysprep ツール を実行します。

    C:\> C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:<path_to_unattend.xml> 1
    1
    unattend.xml ファイルへのパスを指定します。
    注記

    Windows イメージでsysprepコマンドを実行することができる回数に制限があります。詳細は、Microsoft のドキュメントを参照してください。

    サンプルの unattend.xml が提供され、これは WMCO で必要なすべての変更を維持します。この例では変更する必要があります。直接使用することはできません。

    例4.1 サンプル unattend.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
       <settings pass="specialize">
          <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
             <InputLocale>0409:00000409</InputLocale>
             <SystemLocale>en-US</SystemLocale>
             <UILanguage>en-US</UILanguage>
             <UILanguageFallback>en-US</UILanguageFallback>
             <UserLocale>en-US</UserLocale>
          </component>
          <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
             <SkipAutoActivation>true</SkipAutoActivation>
          </component>
          <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
             <CEIPEnabled>0</CEIPEnabled>
          </component>
          <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
             <ComputerName>winhost</ComputerName> 1
          </component>
       </settings>
       <settings pass="oobeSystem">
          <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
             <AutoLogon>
                <Enabled>false</Enabled> 2
             </AutoLogon>
             <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <NetworkLocation>Work</NetworkLocation>
                <ProtectYourPC>1</ProtectYourPC>
                <SkipMachineOOBE>true</SkipMachineOOBE>
                <SkipUserOOBE>true</SkipUserOOBE>
             </OOBE>
             <RegisteredOrganization>Organization</RegisteredOrganization>
             <RegisteredOwner>Owner</RegisteredOwner>
             <DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
             <TimeZone>Eastern Standard Time</TimeZone>
             <UserAccounts>
                <AdministratorPassword>
                   <Value>MyPassword</Value> 3
                   <PlainText>true</PlainText>
                </AdministratorPassword>
             </UserAccounts>
          </component>
       </settings>
    </unattend>
    1
    Kubernetes の名前の仕様 に従いなければならない ComputerName を指定します。これらの仕様は、新規仮想マシンの作成時に作成されるテンプレートで実行されるゲスト OS のカスタマイズにも適用されます。
    2
    自動ログオンを無効にして、起動時に管理者権限で開いているターミナルをそのまま残すセキュリティーの問題を回避します。これはデフォルト値であるため、変更しないでください。
    3
    MyPassword プレースホルダーを Administrator アカウントのパスワードに置き換えます。これにより、組み込みの Administrator アカウントはデフォルトで空のパスワードを持つことを防ぎます。Microsoftのパスワードを選択するベストプラクティスに従ってください。

    Sysprep ツールが完了すると、Windows 仮想マシンの電源がオフになります。この仮想マシンで使用または電源は使用しないでください。

  10. Windows 仮想マシンをvCenter のテンプレートに変換します。
4.3.2.1.1. 関連情報