Implementare manualmente l'operatore Trident (modalità offline)
È possibile distribuire manualmente l'operatore Trident per installare Trident. Questo processo si applica alle installazioni in cui le immagini contenitore richieste da Trident sono memorizzate in un registro privato. Se non si dispone di un registro delle immagini private, utilizzare "processo per l'implementazione standard".
Informazioni critiche su Trident 24,10
È necessario leggere le seguenti informazioni critiche su Trident.
<strong> informazioni aggiornate su Trident </strong>
-
Kubernetes 1,32 è ora supportato in Trident. Aggiornare Trident prima di aggiornare Kubernetes.
-
Trident impone rigorosamente l'uso della configurazione multipath negli ambienti SAN, con un valore consigliato di
find_multipaths: nonel file multipath.conf.L'utilizzo di una configurazione non multipathing o di
find_multipaths: yesun valore ORfind_multipaths: smartnel file multipath.conf determinerà errori di montaggio. Trident ha consigliato l'uso difind_multipaths: nofin dalla versione 21,07.
Implementare manualmente l'operatore Trident e installare Trident
Verificare "panoramica dell'installazione"di aver soddisfatto i prerequisiti di installazione e di aver selezionato l'opzione di installazione corretta per l'ambiente in uso.
Accedere all'host Linux e verificare che sia in corso la gestione di un funzionante e "Cluster Kubernetes supportato"che si disponga del Privileges necessario.
|
|
Con OpenShift, utilizzare oc invece di kubectl tutti gli esempi che seguono e accedere come system:admin eseguendo prima oc login -u system:admin o oc login -u kube-admin.
|
Details
-
Verificare la versione di Kubernetes:
kubectl version
-
Verificare i privilegi di amministratore del cluster:
kubectl auth can-i '*' '*' --all-namespaces
-
Verificare che sia possibile avviare un pod che utilizza un'immagine da Docker Hub e raggiungere il sistema di storage tramite la rete pod:
kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \ ping <management IP>
Fase 1: Scaricare il pacchetto di installazione di Trident
Il pacchetto di installazione di Trident contiene tutto ciò che serve per distribuire l'operatore Trident e installare Trident. Scaricare ed estrarre la versione più recente del programma di installazione di Trident da "La sezione Assets su GitHub".
wget https://github.com/NetApp/trident/releases/download/v24.10.0/trident-installer-24.10.0.tar.gz tar -xf trident-installer-24.10.0.tar.gz cd trident-installer
Fase 2: Creare il TridentOrchestrator CRD
Crea il TridentOrchestrator Definizione di risorse personalizzate (CRD). Creerai un TridentOrchestrator Risorsa personalizzata in seguito. Utilizzare la versione CRD YAML appropriata in deploy/crds per creare il TridentOrchestrator CRD:
kubectl create -f deploy/crds/<VERSION>.yaml
Fase 3: Aggiornare la posizione del registro nell'operatore
In /deploy/operator.yaml, eseguire l'aggiornamento image: docker.io/netapp/trident-operator:24.10.0 per riflettere la posizione del registro delle immagini. Lo "Immagini Trident e CSI" può trovarsi in un registro o in registri diversi, ma tutte le immagini CSI devono trovarsi nello stesso registro. Ad esempio:
-
image: <your-registry>/trident-operator:24.10.0se tutte le immagini si trovano in un unico registro. -
image: <your-registry>/netapp/trident-operator:24.10.0Se l'immagine Trident si trova in un registro diverso dalle immagini CSI.
Fase 4: Implementare l'operatore Trident
Il programma di installazione di Trident fornisce un file bundle che può essere utilizzato per installare l'operatore e creare oggetti associati. Il file bundle è un modo semplice per distribuire l'operatore e installare Trident utilizzando una configurazione predefinita.
-
Per i cluster che eseguono Kubernetes 1,24, utilizzare
bundle_pre_1_25.yaml. -
Per i cluster che eseguono Kubernetes 1,25 o versione successiva, utilizzare
bundle_post_1_25.yaml.
-
Per impostazione predefinita, il programma di installazione di Trident implementa l'operatore nello
tridentspazio dei nomi. Se lotridentspazio dei nomi non esiste, crearlo utilizzando:kubectl apply -f deploy/namespace.yaml
-
Per distribuire l'operatore in uno spazio dei nomi diverso dallo
tridentspazio dei nomi, aggiornareserviceaccount.yamlclusterrolebinding.yamleoperator.yamlgenerare il file bundle utilizzandokustomization.yaml.-
Crea il
kustomization.yamlusando il seguente comando dove <bundle.yaml> èbundle_pre_1_25.yamlobundle_post_1_25.yamlsi basa sulla tua versione di Kubernetes.cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
-
Compila il bundle usando il seguente comando dove <bundle.yaml> si trova
bundle_pre_1_25.yamlobundle_post_1_25.yamlsi basa sulla tua versione di Kubernetes.kubectl kustomize deploy/ > deploy/<bundle.yaml>
-
-
Creare le risorse e implementare l'operatore:
kubectl create -f deploy/<bundle.yaml>
-
Verificare che l'operatore, l'implementazione e i replicaset siano stati creati.
kubectl get all -n <operator-namespace>
|
|
In un cluster Kubernetes dovrebbe esserci solo un'istanza dell'operatore. Non creare implementazioni multiple dell'operatore Trident. |
Passaggio 5: Aggiornare la posizione del Registro di sistema dell'immagine in TridentOrchestrator
Lo "Immagini Trident e CSI" può trovarsi in un registro o in registri diversi, ma tutte le immagini CSI devono trovarsi nello stesso registro. Aggiornare deploy/crds/tridentorchestrator_cr.yaml per aggiungere le specifiche di posizione aggiuntive in base alla configurazione del Registro di sistema.
imageRegistry: "<your-registry>" autosupportImage: "<your-registry>/trident-autosupport:24.10" tridentImage: "<your-registry>/trident:24.10.0"
imageRegistry: "<your-registry>" autosupportImage: "<your-registry>/trident-autosupport:24.10" tridentImage: "<your-registry>/trident:24.10.0"
Fase 6: Creare TridentOrchestrator e installare Trident
A questo punto è possibile creare TridentOrchestrator e installare Trident. Facoltativamente, è possibile utilizzare ulteriormente "Personalizzare l'installazione di Trident"gli attributi nella TridentOrchestrator specifica. L'esempio seguente mostra un'installazione in cui le immagini Trident e CSI si trovano in diversi registri.
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:
Autosupport Image: <your-registry>/trident-autosupport:24.10
Debug: true
Image Registry: <your-registry>
Namespace: trident
Trident Image: <your-registry>/trident:24.10.0
Status:
Current Installation Params:
IPv6: false
Autosupport Hostname:
Autosupport Image: <your-registry>/trident-autosupport:24.10
Autosupport Proxy:
Autosupport Serial Number:
Debug: true
Http Request Timeout: 90s
Image Pull Secrets:
Image Registry: <your-registry>
k8sTimeout: 30
Kubelet Dir: /var/lib/kubelet
Log Format: text
Probe Port: 17546
Silence Autosupport: false
Trident Image: <your-registry>/trident:24.10.0
Message: Trident installed
Namespace: trident
Status: Installed
Version: v24.10.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
Verificare l'installazione
Esistono diversi modi per verificare l'installazione.
Uso dello TridentOrchestrator stato
Lo stato di TridentOrchestrator indica se l'installazione è riuscita e visualizza la versione di Trident installata. Durante l'installazione, lo stato di TridentOrchestrator cambia da Installing a Installed. Se si osserva Failed lo stato e l'operatore non è in grado di recuperare da solo, "controllare i registri".
| Stato | Descrizione |
|---|---|
Installazione in corso |
L'operatore sta installando Trident utilizzando questo |
Installato |
Installazione di Trident riuscita. |
Disinstallazione in corso |
L'operatore sta disinstallando Trident, perché |
Disinstallato |
Trident è disinstallato. |
Non riuscito |
L'operatore non ha potuto installare, applicare patch, aggiornare o disinstallare Trident; l'operatore tenterà automaticamente di ripristinare da questo stato. Se lo stato persiste, è necessario eseguire la risoluzione dei problemi. |
Aggiornamento in corso |
L'operatore sta aggiornando un'installazione esistente. |
Errore |
`TridentOrchestrator`Non viene utilizzato. Un'altra esiste già. |
Utilizzo dello stato di creazione del pod
È possibile verificare se l'installazione di Trident è stata completata controllando lo stato dei pod creati:
kubectl get pods -n trident NAME READY STATUS RESTARTS AGE trident-controller-7d466bf5c7-v4cpw 6/6 Running 0 1m trident-node-linux-mr6zc 2/2 Running 0 1m trident-node-linux-xrp7w 2/2 Running 0 1m trident-node-linux-zh2jt 2/2 Running 0 1m trident-operator-766f7b8658-ldzsv 1/1 Running 0 3m
Uso tridentctl
È possibile utilizzare tridentctl per controllare la versione di Trident installata.
./tridentctl -n trident version +----------------+----------------+ | SERVER VERSION | CLIENT VERSION | +----------------+----------------+ | 24.10.0 | 24.10.0 | +----------------+----------------+