Citrix Virtual Apps and Desktops

Red Hat OpenShift仮想化環境(Technical Preview)

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

注:

OpenShiftプラグインは、Red Hat OpenShiftクラスターバージョン4.17および4.18でテストされています。

主な手順

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

Red Hat OpenShift環境をセットアップする

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

    1. クラスター全体のロールバインディング:OpenShiftからのイベントを受信するために使用されます。 名前空間にバインドされたロールバインディング:特定の名前空間内の仮想マシンを管理するために使用されます。
    2. 名前空間にバインドされたロールバインディング:特定の名前空間内の仮想マシンを管理するために使用されます。
  4. 名前空間(プロジェクト)を作成する:OpenShiftの名前空間は、仮想マシンやネットワークなどのリソースをグループ化する分離された環境であり、より適切な整理とアクセス制御を可能にします。 名前空間はKubernetesの用語であり、プロジェクトはOpenShiftの用語です。 OpenShiftプラグインの観点から見ると、それらは同じものを指します。 仮想マシンを展開するには名前空間が必要です。 OpenShiftコンソールまたはOpenShift Container Platform CLI を使用して名前空間を作成します。
  5. ターゲット名前空間の下に1つのネットワークアタッチメント定義を作成します:ネットワークアタッチメント定義は、OpenShiftで実行されている仮想マシンのネットワーク構成を指定します。 Networking > NetworkAttachmentDefinitionsの下に、各名前空間のネットワークアタッチメント定義が表示されます。
  6. ストレージクラスを構成します:ストレージクラスは、仮想マシンストレージの割り当て方法を定義します。 Storage > StorageClassの下で、ストレージプロバイダーの一覧を構成および表示できます。

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

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

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

    • デフォルトの名前空間にサービスアカウントを作成する場合は、次のコマンドを実行します:

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

         .\oc.exe create sa <service account name> -n mynamespace
       <!--NeedCopy-->
      
  7. シークレット用の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
       <!--NeedCopy-->
      
  8. YAMLを適用します。

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

    注:

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

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

クラスター全体のロールバインディングにより、サービスアカウントにはクラスター全体のすべての仮想マシンイベントを読み取る権限が与えられ、OpenShiftプラグインはすべての仮想マシン関連イベントに対して単一のイベントウォッチャーを維持できるようになります。

名前空間ロールバインディングにより、サービスアカウントにはターゲット名前空間内の仮想マシンを管理する権限が与えられます。

スクリプトを使用して役割を作成し、それをサービスアカウントにバインドすることも、OpenShiftコンソールまたはCLIを使用して役割とロールバインディングを作成することもできます。

次の手順

追加情報

Red Hat OpenShift仮想化環境(Technical Preview)