1.4.3. 既知の問題

  • 設定マップで DNS 名エントリーを使用して BYOH Windows インスタンスをインストールする場合、WMCO はこれを Ready ノードとしてマークする前にインスタンスを 2 回設定します。これは WMCO の今後のリリースで修正されます。(BZ#2005360)
  • 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 ロールを持つユーザー、read、write、および execute アクセスなど、すべての管理者ユーザーを示していますが、管理者以外のユーザーは読み取り/実行にアクセスできます。

    重要

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

    さらに、Windows Pod がデフォルトの RunAsUser パーミッションセットを使用して展開されるボリュームで作成される場合、Pod は ContainerCreating フェーズで残ります。

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