2.5. Red Hat Windows Machine Config Operator 4.0.0 リリースノート

本 WMCO リリースノートは、Windows コンピュートノードを OpenShift Container Platform クラスターで実行するためのバグ修正を提供します。WMCO 4.0.0 のコンポーネントは RHBA-2021:3702 でリリースされています。

2.5.1. バグ修正

  • 以前のバージョンでは、WMCO は Bring-Your-Own-Host (BYOH) Windows ノードの作成時に、ユーザーが指定するインスタンスアドレスを使用していました。これにより、BYOH Windows インスタンスが OpenShift Container Platform クラスターに加わりませんでした。今回のバグ修正により、ユーザーによって提供される DNS 名が有効な IPv4 アドレスに解決され、BYOH Windows インスタンスの作成時に解決された値が使用されるようになりました。BYOH インスタンスは異なるホスト名で、DNS アドレスは Windows ノードとして設定できます。(BZ#1995684)
  • 以前のバージョンでは、WMCO はインスタンス/ノード間の関連付けを特定する際に、未解決のインスタンスアドレスを使用した直接比較が実行されました。これにより、OpenShift Container Platform クラスターに参加するように設定された BYOH Windows インスタンスが削除されました。今回のバグ修正により、Windows インスタンス 設定マップに追加されるエントリーの DNS 検索を実行して DNS アドレスを検証します。WMCO は、設定されたインスタンス間の関係を適切に特定できるようになりました。これにより、BYOH ノードの削除ができなくなりました。(BZ#2005126)

2.5.2. 既知の問題

  • Windows ノードについては、Web コンソールで利用可能なファイルシステムのグラフは表示されません。この問題は、ファイルシステムクエリーの変更によって生じます。これは、WMCO の今後のリリースで修正されます。(BZ#1930347)
  • VMware vSphere にインストールされているクラスターの場合、WMCO は Deleting フェーズ通知イベントを無視し、正しくないノード情報を windows-exporter メトリクスエンドポイントに残します。これにより、Prometheus メトリクスエンドポイントに無効なマッピングが生じました。このバグは修正されています。WMCO は Deleting phase 通知イベントを認識し、Prometheus メトリクスエンドポイントを適切にマップするようになりました。(BZ#1995341)
  • RunAsUser パーミッションが Linux ベースの Pod のセキュリティーコンテキストに設定されている場合、Projected ファイルには、コンテナーユーザー所有権を含む適切なパーミッションが設定されます。ただし、Windows の同等の RunAsUsername パーミッションが Windows Pod に設定されている場合、kubelet は Projected ボリュームのファイルに正しい所有権を設定できなくなります。この問題は、ベストプラクティスに従わない hostPath ボリューム と組み合わせて使用すると悪化する可能性があります。たとえば、Pod に C:\var\lib\kubelet\pods\ フォルダーへのアクセス権限を付与すると、Pod が他の Pod からサービスアカウントトークンにアクセスできるようになります。

    デフォルトでは、この例では Windows の Projected ボリュームファイルに示されるように、projected ファイルに以下の所有者が設定されます。

    Path   : Microsoft.PowerShell.Core\FileSystem::C:\var\run\secrets\kubernetes.io\serviceaccount\..2021_08_31_22_22_18.318230061\ca.crt
    Owner  : BUILTIN\Administrators
    Group  : NT AUTHORITY\SYSTEM
    Access : NT AUTHORITY\SYSTEM Allow  FullControl
             BUILTIN\Administrators Allow  FullControl
             BUILTIN\Users Allow  ReadAndExecute, Synchronize
    Audit  :
    Sddl   : O:BAG:SYD:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;0x1200a9;;;BU)

    これは、ContainerAdministrator ロールを持つユーザーなどのすべての管理者ユーザーに対して読み取り、書き込み、実行アクセスがある一方で、管理者以外のユーザーが読み取りおよび実行アクセスを持っていることを示しています。

    重要

    OpenShift Container Platform は、オペレーティングシステムに関係なく、RunAsUser セキュリティーコンテキストをすべての Pod に適用します。これは、Windows Pod の RunAsUser パーミッションがセキュリティーコンテキストに自動的に適用されることを意味します。

    さらに、Windows Pod がデフォルトの RunAsUser パーミッションセットで Projected ボリュームで作成される場合、Pod は ContainerCreating フェーズで停止します。

    これらの問題に対応するため、OpenShift Container Platform は Pod のセキュリティーコンテキストで設定される Projected サービスアカウントボリュームでのファイルパーミッションの処理を Windows の projected ボリュームに反映しないように強制します (BZ#1971745)。Windows Pod のこの動作は、OpenShift Container Platform 4.7 より前のすべての Pod タイプでどのように機能するかについて使用されるファイルパーミッションの処理であることに注意してください。