Citrix DaaS™

Ambienti di virtualizzazione Red Hat OpenShift

Citrix® gestisce i carichi di lavoro Red Hat OpenShift tramite un plug-in OpenShift gestito da Citrix. Con questo plug-in, è possibile creare connessioni di hosting e unità di hosting al cluster OpenShift, creare cataloghi e gestire l’alimentazione delle macchine nel catalogo.

Nota:

Il plug-in OpenShift è testato con le versioni 4.17 e 4.18 del cluster Red Hat OpenShift.

Passaggi chiave

  • Configurare l’ambiente Red Hat OpenShift.
  • Creare una connessione e una risorsa al cluster OpenShift.
  • Creare un catalogo di macchine.
  • Creare un gruppo di consegna.

Configurare l’ambiente Red Hat OpenShift

  1. Creare un cluster OpenShift e ottenere l’indirizzo API del cluster: Nella console OpenShift, dopo aver configurato un cluster, passare a Home > Overview > Details e ottenere l’indirizzo API del cluster.
  2. Creare un account di servizio e ottenere il token dell’account di servizio utilizzando l’interfaccia a riga di comando (CLI) di OpenShift (comando oc): Il token dell’account di servizio è la credenziale di autenticazione associata all’account di servizio. L’account di servizio viene utilizzato per autenticare il plug-in OpenShift con OpenShift. Ogni account di servizio è associato a un namespace.
  3. Configurare le autorizzazioni per l’account di servizio: Un account di servizio può avere più ruoli, e ogni ruolo consiste in autorizzazioni che definiscono quali azioni il plug-in OpenShift può eseguire su quali risorse. I ruoli sono associati tramite Role Bindings, e ci sono due tipi di Role Bindings:

    1. Cluster-wide Role Binding: utilizzato per ricevere eventi da OpenShift.
    2. Namespace-bound Role Binding: utilizzato per la gestione delle VM in un namespace specifico.
  4. Creare un namespace (Progetto): Un namespace in OpenShift è un ambiente isolato che raggruppa risorse come VM o reti, consentendo una migliore organizzazione e controllo degli accessi. Namespace è il termine di Kubernetes, mentre Project è il termine di OpenShift. Dal punto di vista del plug-in OpenShift, sono la stessa cosa. Un namespace è necessario per distribuire le VM. Utilizzare la console OpenShift o la CLI di OpenShift Container Platform per creare il namespace.
  5. Creare una definizione di allegato di rete sotto il namespace di destinazione: Le definizioni di allegato di rete specificano la configurazione di rete per le VM in esecuzione in OpenShift. Sotto Networking > NetworkAttachmentDefinitions, è possibile visualizzare le definizioni di allegato di rete per ogni namespace.
  6. Configurare le classi di storage: Le classi di storage definiscono come viene allocato lo storage delle VM. Sotto Storage > StorageClass, è possibile configurare e visualizzare l’elenco dei provider di storage.

Creare un account di servizio

  1. Scaricare ed estrarre lo strumento da riga di comando oc.
  2. Accedere alla console OpenShift utilizzando il proprio ID di accesso.
  3. Fare clic sul proprio profilo utente e fare clic su Copy login command.
  4. Fare clic su Display Token e copiare il token.
  5. Eseguire il comando di accesso utilizzando la riga di comando oc. Esempio:

    .\oc.exe login --token=<token> --server=<server address>
    <!--NeedCopy-->
    
  6. Creare un account di servizio.

    • Se si desidera creare l’account di servizio nel namespace predefinito, eseguire:

       .\oc.exe create sa <service account name>
       <!--NeedCopy-->
      
    • Se si desidera creare l’account di servizio nel proprio namespace, eseguire:

       .\oc.exe create sa <service account name> -n mynamespace
       <!--NeedCopy-->
      
  7. Creare un file YAML per il segreto. Esempio:

    • Se si crea l’account di servizio nel namespace predefinito:

       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-->
      
    • Se si crea l’account di servizio nel proprio namespace:

      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. Applicare il file YAML.

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

    Nota:

    oc descrive il segreto per ottenere il token. Il token viene utilizzato come password.

Creare ruoli e associazioni di ruoli per l’account di servizio

Con l’associazione di ruoli a livello di cluster, l’account di servizio ha le autorizzazioni per leggere tutti gli eventi VM in tutto il cluster, consentendo al plug-in OpenShift di mantenere un unico osservatore di eventi per tutti gli eventi relativi alle VM. Con l’associazione di ruoli a livello di namespace, l’account di servizio ha le autorizzazioni per gestire le VM nel namespace di destinazione. È possibile utilizzare uno script per creare ruoli e associarli a un account di servizio. Vedere https://github.com/citrix/citrix-mcs-sdk-samples/tree/main/OpenShift/Hosting%20Connection/Role/.

Dove andare dopo

Ulteriori informazioni

Ambienti di virtualizzazione Red Hat OpenShift