Distribuisci manualmente l'operatore Trident (modalità offline)
È possibile distribuire manualmente l'operatore Trident per installare Trident. Questa procedura si applica alle installazioni in cui le immagini dei container richieste da Trident sono archiviate in un registro privato. Se non si dispone di un registro immagini privato, utilizzare il "processo per la distribuzione standard".
Informazioni critiche su Trident10
È necessario leggere le seguenti informazioni critiche su Trident.
<strong>Informazioni critiche su Trident</strong>
-
Kubernetes 1.34 è ora supportato in Trident. Aggiorna Trident prima di aggiornare Kubernetes.
-
Trident impone rigorosamente l'uso della configurazione multipathing negli ambienti SAN, con un valore consigliato di
find_multipaths: nonel file multipath.conf.L'utilizzo di una configurazione non multipath o l'utilizzo di
find_multipaths: yesofind_multipaths: smartnel file multipath.conf causerà errori di montaggio. Trident ha raccomandato l'utilizzo difind_multipaths: nodalla release 21.07.
Distribuire manualmente l'operatore Trident e installare Trident
Verificate "la panoramica dell'installazione" per assicurarvi di aver soddisfatto i prerequisiti di installazione e di aver selezionato l'opzione di installazione corretta per il vostro ambiente.
Accedi all'host Linux e verifica che stia gestendo un sistema operativo funzionante "cluster Kubernetes supportato" e che tu disponga dei privilegi necessari.
|
|
Con OpenShift, utilizzare oc invece di kubectl in tutti gli esempi che seguono e accedere prima come system:admin eseguendo oc login -u system:admin o oc login -u kube-admin.
|
Details
-
Verifica la versione di Kubernetes:
kubectl version
-
Verificare i privilegi di amministratore del cluster:
kubectl auth can-i '*' '*' --all-namespaces
-
Verifica di poter avviare un pod che utilizza un'immagine da Docker Hub e raggiungere il tuo sistema storage tramite la rete del pod:
kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \ ping <management IP>
Passaggio 1: Scarica il pacchetto di installazione di Trident
Il pacchetto di installazione Trident contiene tutto ciò che serve per distribuire l'operatore Trident e installare Trident. Scarica ed estrai l'ultima versione del pacchetto di installazione Trident da "la sezione Assets su GitHub".
wget https://github.com/NetApp/trident/releases/download/v6.0/trident-installer-25.10.0.tar.gz tar -xf trident-installer-25.10.0.tar.gz cd trident-installer
Passo 2: Creare il TridentOrchestrator CRD
Crea la TridentOrchestrator Custom Resource Definition (CRD). Creerai una TridentOrchestrator Custom Resources più tardi. Usa la versione YAML appropriata della CRD in deploy/crds per creare la TridentOrchestrator CRD:
kubectl create -f deploy/crds/<VERSION>.yaml
Passaggio 3: Aggiorna la posizione del registro nell'operatore
In /deploy/operator.yaml, aggiorna image: docker.io/netapp/trident-operator:25.10.0 per riflettere la posizione del tuo registro delle immagini. Il tuo "Trident e immagini CSI" può essere collocato in un registro o in registri diversi, ma tutte le immagini CSI devono essere collocate nello stesso registro. Ad esempio:
-
image: <your-registry>/trident-operator:25.10.0se tutte le immagini si trovano in un unico registro. -
image: <your-registry>/netapp/trident-operator:25.10.0se la tua immagine Trident si trova in un registro diverso rispetto alle tue immagini CSI.
Passaggio 4: Distribuire l'operatore Trident
Il programma di installazione di Trident fornisce un file bundle che può essere usato per installare l'operatore e creare oggetti associati. Il file bundle è un modo semplice per distribuire l'operatore e installare Trident usando una configurazione predefinita.
-
Per i cluster che eseguono Kubernetes 1.24, usa
bundle_pre_1_25.yaml. -
Per i cluster che eseguono Kubernetes 1.25 o versioni successive, utilizzare
bundle_post_1_25.yaml.
-
Per impostazione predefinita, il programma di installazione di Trident distribuisce l'operatore nel
tridentnamespace. Se iltridentnamespace non esiste, crearlo utilizzando:kubectl apply -f deploy/namespace.yaml
-
Per distribuire l'operatore in uno spazio dei nomi diverso dal
tridentnamespace, aggiornareserviceaccount.yaml,clusterrolebinding.yamleoperator.yamle generare il file bundle usando ilkustomization.yaml.-
Crea
kustomization.yamlutilizzando il seguente comando dove <bundle.yaml> èbundle_pre_1_25.yamlobundle_post_1_25.yamlin base alla tua versione di Kubernetes.cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
-
Compila il bundle usando il seguente comando, dove <bundle.yaml> è
bundle_pre_1_25.yamlobundle_post_1_25.yamlin base alla tua versione di Kubernetes.kubectl kustomize deploy/ > deploy/<bundle.yaml>
-
-
Crea le risorse e distribuisci l'operatore:
kubectl create -f deploy/<bundle.yaml>
-
Verificare che l'operatore, il deployment e i replicasets siano stati creati.
kubectl get all -n <operator-namespace>
|
|
Dovrebbe esserci solo un'istanza dell'operatore in un cluster Kubernetes. Non creare distribuzioni multiple dell'operatore Trident. |
Fase 5: Aggiorna la posizione del registro delle immagini nel TridentOrchestrator
Le tue "Trident e immagini CSI" possono essere localizzate in un unico registro o in registri diversi, ma tutte le immagini CSI devono trovarsi nello stesso registro. Aggiorna deploy/crds/tridentorchestrator_cr.yaml per aggiungere le specifiche di posizione aggiuntive in base alla configurazione del tuo registro.
imageRegistry: "<your-registry>" autosupportImage: "<your-registry>/trident-autosupport:25.10" tridentImage: "<your-registry>/trident:25.10.0"
imageRegistry: "<your-registry>" autosupportImage: "<your-registry>/trident-autosupport:25.10" tridentImage: "<your-registry>/trident:25.10.0"
Passaggio 6: crea TridentOrchestrator e installa Trident
Ora puoi creare il TridentOrchestrator e installare Trident. Facoltativamente, puoi "personalizza la tua installazione Trident"ulteriormente utilizzando gli attributi nella TridentOrchestrator specifica. Il seguente esempio mostra un'installazione in cui le immagini Trident e CSI si trovano in registri diversi.
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:25.10
Debug: true
Image Registry: <your-registry>
Namespace: trident
Trident Image: <your-registry>/trident:25.10.0
Status:
Current Installation Params:
IPv6: false
Autosupport Hostname:
Autosupport Image: <your-registry>/trident-autosupport:25.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:25.10.0
Message: Trident installed
Namespace: trident
Status: Installed
Version: v25.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.
Utilizzo TridentOrchestrator status
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 lo stato Failed e l'operatore non è in grado di ripristinarsi autonomamente, "controlla i registri".
| Stato | Descrizione |
|---|---|
Installazione |
L'operatore sta installando Trident utilizzando questo |
Installato |
Trident è stato installato correttamente. |
Disinstallazione |
L'operatore sta disinstallando Trident, perché |
Disinstallato |
Trident è disinstallato. |
Fallito |
L'operatore non è riuscito a installare, applicare patch, aggiornare o disinstallare Trident; l'operatore tenterà automaticamente di recuperare da questo stato. Se questo stato persiste, sarà necessaria la risoluzione dei problemi. |
Aggiornamento |
L'operatore sta aggiornando un'installazione esistente. |
Errore |
The |
Utilizzo dello stato di creazione del pod
Puoi confermare se l'installazione di Trident è stata completata esaminando 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
Utilizzando tridentctl
Puoi usare tridentctl per verificare la versione di Trident installata.
./tridentctl -n trident version +----------------+----------------+ | SERVER VERSION | CLIENT VERSION | +----------------+----------------+ | 25.10.0 | 25.10.0 | +----------------+----------------+