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: no
nel file multipath.conf.L'utilizzo di una configurazione non multipathing o di
find_multipaths: yes
un valore ORfind_multipaths: smart
nel file multipath.conf determinerà errori di montaggio. Trident ha consigliato l'uso difind_multipaths: no
fin 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
Creare la TridentOrchestrator
definizione di risorsa personalizzata (CRD). In seguito, si crea una TridentOrchestrator
risorsa personalizzata. 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.0
se tutte le immagini si trovano in un unico registro. -
image: <your-registry>/netapp/trident-operator:24.10.0
Se 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
trident
spazio dei nomi. Se lotrident
spazio dei nomi non esiste, crearlo utilizzando:kubectl apply -f deploy/namespace.yaml
-
Per distribuire l'operatore in uno spazio dei nomi diverso dallo
trident
spazio dei nomi, aggiornareserviceaccount.yaml
clusterrolebinding.yaml
eoperator.yaml
generare il file bundle utilizzandokustomization.yaml
.-
Crea il
kustomization.yaml
usando il seguente comando dove <bundle.yaml> èbundle_pre_1_25.yaml
obundle_post_1_25.yaml
si 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.yaml
obundle_post_1_25.yaml
si 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"
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 | +----------------+----------------+