Citrix DaaS™

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 プラグインがどのリソースに対してどのようなアクションを実行できるかを定義する権限で構成されます。ロールは ロールバインディング を通じてバインドされ、ロールバインディング には次の 2 種類があります。

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

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

  1. oc コマンドラインツールをダウンロードして解凍します。
  2. ログイン ID を使用して OpenShift コンソールにアクセスします。
  3. ユーザープロファイルをクリックし、Copy login command をクリックします。
      1. 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 仮想化環境