Skip to main content
È disponibile una versione più recente di questo prodotto.
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Implementazione con l'operatore Trident

Collaboratori

Puoi implementare Astra Trident con l'operatore Trident. È possibile implementare l'operatore Trident manualmente o utilizzando Helm.

Suggerimento Se non si è ancora familiarizzato con il "concetti di base", è il momento ideale per farlo.
Di cosa hai bisogno

Per implementare Astra Trident, devono essere soddisfatti i seguenti prerequisiti:

  • Si dispone dei privilegi completi per un cluster Kubernetes supportato che esegue Kubernetes 1.14 e versioni successive.

  • Hai accesso a un sistema storage NetApp supportato.

  • È possibile montare volumi da tutti i nodi di lavoro Kubernetes.

  • Hai un host Linux con kubectl (o. oc, Se si utilizza OpenShift) installato e configurato per gestire il cluster Kubernetes che si desidera utilizzare.

  • È stato impostato il KUBECONFIG Variabile di ambiente che punta alla configurazione del cluster Kubernetes.

  • È stata attivata la "Porte caratteristiche richieste da Astra Trident".

  • Se utilizzi Kubernetes con Docker Enterprise, "Seguire la procedura per abilitare l'accesso CLI".

Hai tutto questo? Fantastico! Iniziamo.

Implementare l'operatore Trident utilizzando Helm

Eseguire i passaggi elencati per implementare l'operatore Trident utilizzando Helm.

Di cosa hai bisogno

Oltre ai prerequisiti elencati in precedenza, per implementare l'operatore Trident utilizzando Helm, è necessario disporre di quanto segue:

  • Kubernetes 1.17 e versioni successive

  • Helm versione 3

Fasi
  1. Scaricare il pacchetto di installazione dal "Trident GitHub" pagina. Il pacchetto di installazione include il grafico Helm in /helm directory.

  2. Utilizzare helm install e specificare un nome per la distribuzione. Vedere il seguente esempio:

    helm install <name> trident-operator-21.07.1.tgz --namespace <namespace you want to use for Trident>

Esistono due modi per passare i dati di configurazione durante l'installazione:

  • --values (o. -f): Specificare un file YAML con override. Questo valore può essere specificato più volte e il file più a destra avrà la precedenza.

  • --set: Specificare le sostituzioni sulla riga di comando.

Ad esempio, per modificare il valore predefinito di debug, eseguire quanto segue --set comando:

$ helm install <name> trident-operator-21.07.1.tgz --set tridentDebug=true

Il values.yaml Il file, che fa parte del grafico Helm, fornisce l'elenco delle chiavi e i relativi valori predefiniti.

helm list mostra i dettagli dell'installazione, ad esempio nome, spazio dei nomi, grafico, stato, versione dell'applicazione, numero di revisione e così via.

Implementare l'operatore Trident manualmente

Eseguire i passaggi elencati per implementare manualmente l'operatore Trident.

Fase 1: Qualificare il cluster Kubernetes

La prima cosa da fare è accedere all'host Linux e verificare che stia gestendo un "Cluster Kubernetes supportato" disporre dei privilegi necessari per.

Nota Con OpenShift, utilizzare oc invece di kubectl in tutti gli esempi che seguono, accedere come system:admin eseguendo oc login -u system:admin oppure oc login -u kube-admin.

Per verificare se la versione di Kubernetes è successiva alla 1.14, eseguire il seguente comando:

kubectl version

Per verificare se si dispone dei privilegi di amministratore del cluster Kubernetes, eseguire il seguente comando:

kubectl auth can-i '*' '*' --all-namespaces

Per verificare se è possibile avviare un pod che utilizza un'immagine da Docker Hub e raggiungere il sistema di storage sulla rete pod, eseguire il seguente comando:

kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \
  ping <management IP>

Fase 2: Scaricare e configurare l'operatore

Nota A partire da 21.01, l'operatore Trident ha un ambito cluster. L'utilizzo dell'operatore Trident per installare Trident richiede la creazione di TridentOrchestrator Definizione personalizzata delle risorse (CRD) e definizione di altre risorse. Prima di installare Astra Trident, eseguire questa procedura per configurare l'operatore.
  1. Scaricare l'ultima versione di "Pacchetto di installazione Trident" Dalla sezione Downloads ed estrarla.

    wget https://github.com/NetApp/trident/releases/download/v21.04/trident-installer-21.04.tar.gz
    tar -xf trident-installer-21.04.tar.gz
    cd trident-installer
  2. Utilizzare il manifesto CRD appropriato per creare TridentOrchestrator CRD. Quindi, creare un TridentOrchestrator Custom Resource in seguito per creare un'installazione da parte dell'operatore.

    Eseguire il seguente comando:

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. Dopo il TridentOrchestrator Viene creato un CRD, creare le seguenti risorse necessarie per l'implementazione dell'operatore:

    • Un account di servizio per l'operatore

    • Un ClusterRole e ClusterRoleBinding al ServiceAccount

    • Una policy PodSecurityPolicy dedicata

    • L'operatore stesso

      Il programma di installazione di Trident contiene i manifesti per la definizione di queste risorse. Per impostazione predefinita, l'operatore viene implementato in trident namespace. Se il trident namespace non esiste, utilizzare il seguente manifesto per crearne uno.

    $ kubectl apply -f deploy/namespace.yaml
  4. Per implementare l'operatore in uno spazio dei nomi diverso da quello predefinito trident namespace, è necessario aggiornare serviceaccount.yaml, clusterrolebinding.yaml e. operator.yaml manifesta e genera il tuo bundle.yaml.

    Eseguire il comando seguente per aggiornare i manifesti YAML e generare il bundle.yaml utilizzando il kustomization.yaml:

    kubectl kustomize deploy/ > deploy/bundle.yaml

    Eseguire il seguente comando per creare le risorse e implementare l'operatore:

    kubectl create -f deploy/bundle.yaml
  5. Per verificare lo stato dell'operatore dopo l'implementazione, procedere come segue:

    $ kubectl get deployment -n <operator-namespace>
    NAME               READY   UP-TO-DATE   AVAILABLE   AGE
    trident-operator   1/1     1            1           3m
    
    $ kubectl get pods -n <operator-namespace>
    NAME                              READY   STATUS             RESTARTS   AGE
    trident-operator-54cb664d-lnjxh   1/1     Running            0          3m

L'implementazione dell'operatore crea correttamente un pod in esecuzione su uno dei nodi di lavoro nel cluster.

Importante In un cluster Kubernetes dovrebbe esserci solo un'istanza dell'operatore. Non creare implementazioni multiple dell'operatore Trident.

Fase 3: Creazione TridentOrchestrator E installare Trident

Ora sei pronto per installare Astra Trident usando l'operatore! Per questo è necessario creare TridentOrchestrator. Il programma di installazione di Trident include definizioni di esempio per la creazione TridentOrchestrator. In questo modo viene eseguita un'installazione in trident namespace.

$ kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
tridentorchestrator.trident.netapp.io/trident created

$ kubectl describe torc trident
Name:        trident
Namespace:
Labels:      <none>
Annotations: <none>
API Version: trident.netapp.io/v1
Kind:        TridentOrchestrator
...
Spec:
  Debug:     true
  Namespace: trident
Status:
  Current Installation Params:
    IPv6:                      false
    Autosupport Hostname:
    Autosupport Image:         netapp/trident-autosupport:21.04
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                     true
    Enable Node Prep:          false
    Image Pull Secrets:
    Image Registry:
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Silence Autosupport:  false
    Trident Image:        netapp/trident:21.04.0
  Message:                  Trident installed  Namespace:                trident
  Status:                   Installed
  Version:                  v21.04.0
Events:
    Type Reason Age From Message ---- ------ ---- ---- -------Normal
    Installing 74s trident-operator.netapp.io Installing Trident Normal
    Installed 67s trident-operator.netapp.io Trident installed

L'operatore Trident consente di personalizzare il modo in cui Astra Trident viene installato utilizzando gli attributi in TridentOrchestrator spec. Vedere "Personalizza la tua implementazione Trident".

Lo Stato di TridentOrchestrator Indica se l'installazione ha avuto esito positivo e visualizza la versione di Trident installata.

Stato Descrizione

Installazione in corso

L'operatore sta installando Astra Trident TridentOrchestrator CR.

Installato

Astra Trident è stato installato correttamente.

Disinstallazione in corso

L'operatore sta disinstallando Astra Trident, perché
spec.uninstall=true.

Disinstallato

Astra Trident disinstallato.

Non riuscito

L'operatore non ha potuto installare, applicare patch, aggiornare o disinstallare Astra Trident; l'operatore tenterà automaticamente di eseguire il ripristino da questo stato. Se lo stato persiste, è necessario eseguire la risoluzione dei problemi.

Aggiornamento in corso

L'operatore sta aggiornando un'installazione esistente.

Errore

Il TridentOrchestrator non viene utilizzato. Un'altra esiste già.

Durante l'installazione, lo stato di TridentOrchestrator modifiche da Installing a. Installed. Se si osserva Failed e l'operatore non è in grado di eseguire il ripristino da solo, è necessario controllare i registri dell'operatore. Vedere "risoluzione dei problemi" sezione.

Puoi verificare se l'installazione di Astra Trident è stata completata dando un'occhiata ai pod creati:

$ kubectl get pod -n trident
NAME                                READY   STATUS    RESTARTS   AGE
trident-csi-7d466bf5c7-v4cpw        5/5     Running   0           1m
trident-csi-mr6zc                   2/2     Running   0           1m
trident-csi-xrp7w                   2/2     Running   0           1m
trident-csi-zh2jt                   2/2     Running   0           1m
trident-operator-766f7b8658-ldzsv   1/1     Running   0           3m

È anche possibile utilizzare tridentctl Per verificare la versione di Astra Trident installata.

$ ./tridentctl -n trident version
+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 21.04.0        | 21.04.0        |
+----------------+----------------+

Ora puoi continuare a creare un back-end. Vedere "attività post-implementazione".

Suggerimento Per la risoluzione dei problemi durante l'implementazione, consultare "risoluzione dei problemi" sezione.