Citrix Virtual Apps and Desktops

Red Hat OpenShift仮想化環境

Citrix®は、Citrixが管理するOpenShiftプラグインを通じて、Red Hat OpenShiftワークロードを管理します。このプラグインを使用すると、OpenShiftクラスターへのホスティング接続とホスティングユニットの作成、カタログの作成、およびカタログ内のマシンの電源管理が可能です。

-  以下の構成がサポートされています。

-  ネットワークオプション:
-  Linux BridgeおよびOVS Bridge: クラスターネットワークで利用可能。
-  ストレージオプション:
-  ローカルストレージ: ノード上の永続ストレージでサポート。
-  NetAppストレージ: エンタープライズグレードの外部ストレージ統合でサポート。
  • 主要な手順

  • Red Hat OpenShift環境のセットアップ。
  • OpenShiftクラスターへの接続とリソースの作成。
    • マシンカタログの作成。
    • デリバリーグループの作成。

Red Hat OpenShift環境のセットアップ

  1. OpenShiftクラスターの作成とクラスターAPIアドレスの取得: OpenShiftコンソールで、クラスターをセットアップした後、Home > Overview > Detailsに移動し、クラスターAPIアドレスを取得します。
  2. OpenShiftコマンドラインインターフェース (CLI) (ocコマンド) を使用したサービスアカウントの作成とサービスアカウントトークンの取得: サービスアカウントトークンは、サービスアカウントに関連付けられた認証情報です。サービスアカウントは、OpenShiftプラグインをOpenShiftで認証するために使用されます。各サービスアカウントは1つの名前空間に関連付けられます。
  3. サービスアカウントの権限設定: サービスアカウントは複数のロールを持つことができ、各ロールはOpenShiftプラグインがどのリソースに対してどのようなアクションを実行できるかを定義する権限で構成されます。ロールはRole Bindingsを通じてバインドされ、Role Bindingsには2つのタイプがあります。

    1. クラスターワイドロールバインディング: OpenShiftからイベントを受信するために使用。 名前空間バインドロールバインディング: 特定の名前空間でVMを管理するために使用。
    2. 名前空間バインドロールバインディング: 特定の名前空間でVMを管理するために使用。
  4. 名前空間 (プロジェクト) の作成: OpenShiftの名前空間は、VMやネットワークなどのリソースをグループ化する分離された環境であり、より良い組織化とアクセス制御を可能にします。NamespaceはKubernetesの用語であり、ProjectはOpenShiftの用語です。OpenShiftプラグインの観点からは、これらは同じものです。VMをデプロイするには名前空間が必要です。名前空間を作成するには、OpenShiftコンソールまたはOpenShift Container Platform CLIを使用します。
  5. ターゲット名前空間の下にネットワークアタッチメント定義を1つ作成: ネットワークアタッチメント定義は、OpenShiftで実行されているVMのネットワーク構成を指定します。Networking > NetworkAttachmentDefinitionsの下で、各名前空間のネットワークアタッチメント定義を確認できます。
  6. ストレージクラスの設定: ストレージクラスは、VMストレージがどのように割り当てられるかを定義します。Storage > StorageClassの下で、ストレージプロバイダーのリストを設定および確認できます。

サービスアカウントの作成

  1. ocコマンドラインツールをダウンロードして解凍。
  2. ログインIDを使用してOpenShiftコンソールにアクセス。
      1. ユーザープロファイルをクリックし、Copy login commandをクリック。
  3. Display Tokenをクリックし、トークンをコピー。
  4. ocコマンドラインを使用してログインコマンドを実行。例:

    -  .\oc.exe login --token=<token> --server=<server address>
    <!--NeedCopy-->
    
  5. サービスアカウントを作成。

    • デフォルトの名前空間の下にサービスアカウントを作成する場合、以下を実行:

       .\oc.exe create sa <service account name>
       <!--NeedCopy-->
      
    • 独自の名前空間の下にサービスアカウントを作成する場合、以下を実行:

       .\oc.exe create sa <service account name> -n mynamespace
       <!--NeedCopy-->
      
  6. シークレット用のYAMLファイルを作成。例:

    • デフォルトの名前空間の下にサービスアカウントを作成した場合:

       apiVersion: v1
       kind: Secret
       metadata:
       name: service account name
       annotations:
       kubernetes.io/service-account.name: service account name
       type: kubernetes.io/service-account-token
       <!--NeedCopy-->
      
    • 独自の名前空間の下にサービスアカウントを作成した場合:

      ```

  • apiVersion: v1
  • kind: Secret
  • metadata: name: service account name
  • namespace: mynamespace
  • annotations: kubernetes.io/service-account.name: service account name type: kubernetes.io/service-account-token ```
  1. YAMLを適用。

    .\oc.exe apply -f <yamlFile.yaml>
    <!--NeedCopy-->
    

    注:

    ocはシークレットを記述してトークンを取得します。トークンはパスワードとして使用されます。

サービスアカウントのロールとロールバインディングの作成

クラスターワイドロールバインディングにより、サービスアカウントはクラスター全体のすべてのVMイベントを読み取る権限を持ち、OpenShiftプラグインがすべてのVM関連イベントに対して単一のイベントウォッチャーを維持できるようになります。 名前空間ロールバインディングにより、サービスアカウントはターゲット名前空間でVMを管理する権限を持ちます。 スクリプトを使用してロールを作成し、サービスアカウントにバインドできます。詳細については、https://github.com/citrix/citrix-mcs-sdk-samples/tree/main/OpenShift/Hosting%20Connection/Role/を参照してください。

次のステップ

詳細情報

Red Hat OpenShift仮想化環境