Skip to main content
NetApp Backup and Recovery
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Aggiungi e proteggi le applicazioni Kubernetes

Collaboratori netapp-mwallis

NetApp Backup and Recovery consente di aggiungere applicazioni Kubernetes tramite l'interfaccia utente web o applicando file di risorse personalizzati. Le applicazioni possono essere basate su namespace, composte da risorse Kubernetes standard, oppure basate su VM, composte da una o più macchine virtuali.

Ruolo richiesto NetApp Console

Amministratore dell'organizzazione o amministratore SnapCenter . "Scopri di più sui ruoli di accesso a NetApp Backup and Recovery" . "Scopri di più sui ruoli di accesso NetApp Console per tutti i servizi" .

Aggiungi e proteggi una nuova applicazione Kubernetes

Il primo passo per proteggere le applicazioni Kubernetes è creare un'applicazione all'interno di NetApp Backup and Recovery. Quando si crea un'applicazione, si informa NetApp Backup and Recovery dell'applicazione in esecuzione sul cluster Kubernetes.

Prima di iniziare

Prima di poter aggiungere e proteggere un'applicazione Kubernetes, è necessario"scopri i carichi di lavoro di Kubernetes" .

Aggiungi un'app basata su namespace (interfaccia utente web)
Passi
  1. In NetApp Backup and Recovery, seleziona Inventario.

  2. Scegli un'istanza di Kubernetes e seleziona Visualizza per visualizzare le risorse associate a tale istanza.

  3. Selezionare la scheda Applicazioni.

  4. Seleziona Crea applicazione.

  5. Inserisci un nome per l'applicazione.

  6. Dall'elenco Cluster, seleziona il cluster che ospita l'applicazione.

  7. Nella sezione Filtri, seleziona Namespace per filtrare le applicazioni in base al namespace.

  8. Facoltativamente, seleziona uno dei seguenti campi per cercare le risorse che desideri proteggere:

    • Spazi dei nomi associati

    • Tipi di risorse

    • Selettori di etichette

      1. Seleziona Aggiungi risorse con ambito cluster per aggiungere risorse con ambito a livello di cluster. Se le includi, vengono aggiunte all'applicazione quando la crei.

      2. Facoltativamente, seleziona Cerca per trovare le risorse in base ai tuoi criteri di ricerca.

        Nota NetApp Backup and Recovery non memorizza i parametri di ricerca o i risultati; i parametri vengono utilizzati per cercare nel cluster Kubernetes selezionato le risorse che possono essere incluse nell'applicazione.
  9. Backup and Recovery visualizza un elenco di risorse che corrispondono ai criteri di ricerca.

  10. Se l'elenco contiene le risorse che si desidera proteggere, selezionare Avanti.

  11. Facoltativamente, nell'area Criterio, seleziona un criterio di protezione esistente per proteggere l'applicazione o creane uno nuovo. Se non selezioni un criterio, l'applicazione verrà creata senza criterio di protezione. Puoi"aggiungere una politica di protezione" Dopo.

  12. Nell'area Prescript e postscript, abilitare e configurare tutti gli hook di esecuzione prescript o postscript che si desidera eseguire prima o dopo le operazioni di backup. Per abilitare prescript o postscript, devi averne già creato almeno uno"modello di gancio di esecuzione" .

  13. Seleziona Crea.

Risultato

L'applicazione viene creata e compare nell'elenco delle applicazioni nella scheda Applicazioni dell'inventario di Kubernetes. Backup and Recovery consente di proteggere l'applicazione in base alle impostazioni configurate e puoi monitorare l'avanzamento nell'area Monitoraggio.

Aggiungi un'app basata su VM (web UI)
Passi
  1. In NetApp Backup and Recovery, seleziona Inventario.

  2. Scegli un'istanza di Kubernetes e seleziona Visualizza per visualizzare le risorse associate a tale istanza.

  3. Selezionare la scheda Applicazioni.

  4. Seleziona Crea applicazione.

  5. Inserisci un nome per l'applicazione.

  6. Dall'elenco Cluster, seleziona il cluster che ospita l'applicazione.

  7. Nella sezione Filtri, seleziona Macchine virtuali per creare un'applicazione basata su VM.

  8. Trova le macchine virtuali da aggiungere all'applicazione scegliendo uno spazio dei nomi e includendo facoltativamente i selettori di etichette.

    Nota Se si selezionano le VM dall'elenco, la definizione dell'applicazione è statica: le nuove VM non vengono aggiunte all'applicazione in un secondo momento (è necessario modificare l'app per aggiungerle e proteggerle). Se si utilizzano i selettori di etichette, non è possibile selezionare singole VM o modificare l'elenco generato, ma qualsiasi VM che corrisponda successivamente al selettore viene inclusa e protetta automaticamente.

    Le macchine virtuali selezionate vengono visualizzate nell'elenco a destra.

  9. Se l'elenco contiene le macchine virtuali che si desidera proteggere, selezionare Avanti.

  10. Facoltativamente, nell'area Criterio, seleziona un criterio di protezione esistente per proteggere l'applicazione o creane uno nuovo. Se non selezioni un criterio, l'applicazione verrà creata senza criterio di protezione. Puoi"aggiungere una politica di protezione" Dopo.

  11. Nell'area Prescript e postscript, abilitare e configurare tutti gli hook di esecuzione prescript o postscript che si desidera eseguire prima o dopo le operazioni di backup. Per abilitare prescript o postscript, devi averne già creato almeno uno"modello di gancio di esecuzione" .

  12. Seleziona Crea.

Risultato

L'applicazione viene creata e appare nell'elenco delle applicazioni nella scheda Applicazioni dell'inventario Kubernetes. La NetApp Console consente la protezione dell'applicazione in base alle impostazioni e puoi monitorare l'avanzamento nell'area Monitoraggio del backup e del ripristino.

Aggiungi un'app basata su namespace (CR)
Passi
  1. Crea il file CR dell'applicazione di destinazione:

    1. Creare il file custom resource (CR) e assegnargli un nome (ad esempio my-app-name.yaml).

    2. Configura i seguenti attributi:

      • metadata.name: (Obbligatorio) Il nome della risorsa personalizzata dell'applicazione. Nota il nome che scegli perché altri file CR necessari per le operazioni di protezione fanno riferimento a questo valore.

      • spec.includedNamespaces: (Obbligatorio) Utilizzare il selettore di namespace e di etichetta per specificare i namespace e le risorse che l'applicazione utilizza. Il namespace dell'applicazione deve essere parte di questo elenco. Il selettore di etichetta è facoltativo e può essere utilizzato per filtrare le risorse all'interno di ciascun namespace specificato.

      • spec.includedClusterScopedResources: (Facoltativo) Utilizzare questo attributo per specificare le risorse con ambito cluster da includere nella definizione dell'applicazione. Questo attributo consente di selezionare queste risorse in base al gruppo, alla versione, al tipo e alle etichette.

        • groupVersionKind: (Obbligatorio) Specifica il gruppo API, la versione e il tipo di risorsa con ambito cluster.

        • labelSelector: (Facoltativo) Filtra le risorse con ambito cluster in base alle loro etichette.

    3. Configurare le seguenti annotazioni, se necessario:

      • metadata.annotations.protect.trident.netapp.io/skip-vm-freeze: (Opzionale) Questa annotazione è applicabile solo alle applicazioni definite da macchine virtuali, ad esempio in ambienti KubeVirt, in cui si verificano blocchi del filesystem prima degli snapshot. Specifica se questa applicazione può scrivere sul filesystem durante uno snapshot. Se impostato su true, l'applicazione ignora l'impostazione globale e può scrivere sul filesystem durante uno snapshot. Se impostato su false, l'applicazione ignora l'impostazione globale e il filesystem viene bloccato durante uno snapshot. Se specificato ma l'applicazione non ha macchine virtuali nella definizione dell'applicazione, l'annotazione viene ignorata. Se non specificato, l'applicazione segue "impostazione di congelamento del filesystem globale".

      • protect.trident.netapp.io/protection-command: (Facoltativo) Utilizzare questa annotazione per indicare a NetApp Backup and Recovery di proteggere o interrompere la protezione dell'applicazione. I valori possibili sono protect o unprotect.

      • protect.trident.netapp.io/protection-policy-name: (Facoltativo) Utilizzare questa annotazione per specificare il nome della policy di protezione di NetApp Backup and Recovery che si desidera utilizzare per proteggere questa applicazione. Questa policy di protezione deve essere già presente in NetApp Backup and Recovery.

Se è necessario applicare questa annotazione dopo che un'applicazione è già stata creata, è possibile utilizzare il seguente comando:

kubectl annotate application -n <application CR namespace> <application CR name> protect.trident.netapp.io/skip-vm-freeze="true"

+
Esempio YAML:

+

apiVersion: protect.trident.netapp.io/v1
kind: Application
metadata:
  annotations:
    protect.trident.netapp.io/skip-vm-freeze: "false"
    protect.trident.netapp.io/protection-command: "protect"
    protect.trident.netapp.io/protection-policy-name: "policy-name"
  name: my-app-name
  namespace: my-app-namespace
spec:
  includedNamespaces:
    - namespace: namespace-1
      labelSelector:
        matchLabels:
          app: example-app
    - namespace: namespace-2
      labelSelector:
        matchLabels:
          app: another-example-app
  includedClusterScopedResources:
    - groupVersionKind:
        group: rbac.authorization.k8s.io
        kind: ClusterRole
        version: v1
      labelSelector:
        matchLabels:
          mylabel: test
  1. (Facoltativo) Aggiungi il filtraggio che include o esclude le risorse contrassegnate con etichette particolari:

    • resourceFilter.resourceSelectionCriteria: (Obbligatorio per il filtraggio) Utilizzare Include o Exclude per includere o escludere una risorsa definita in resourceMatchers. Aggiungere i seguenti parametri resourceMatchers per definire le risorse da includere o escludere:

      • resourceFilter.resourceMatchers: Un array di resourceMatcher oggetti. Se si definiscono più elementi in questo array, la corrispondenza avviene tramite un'operazione OR, e i campi all'interno di ciascun elemento (group, kind, version) corrispondono tramite un'operazione AND.

        • resourceMatchers[].group: (Facoltativo) Gruppo della risorsa da filtrare.

        • resourceMatchers[].kind: (Facoltativo) Tipo di risorsa da filtrare.

        • resourceMatchers[].version: (Facoltativo) Versione della risorsa da filtrare.

        • resourceMatchers[].names: (Facoltativo) Nomi nel campo metadata.name di Kubernetes della risorsa da filtrare.

        • resourceMatchers[].namespaces: (Facoltativo) Namespace nel campo metadata.name di Kubernetes della risorsa da filtrare.

        • resourceMatchers[].labelSelectors: (Facoltativo) Stringa del selettore di etichetta nel campo metadata.name dei metadati Kubernetes della risorsa come definito in "Documentazione Kubernetes". Ad esempio: "trident.netapp.io/os=linux".

          Nota Quando sia resourceFilter che labelSelector vengono utilizzati, resourceFilter viene eseguito per primo e poi labelSelector viene applicato alle risorse risultanti.

      Ad esempio:

    spec:
      resourceFilter:
        resourceSelectionCriteria: "Include"
        resourceMatchers:
          - group: my-resource-group-1
            kind: my-resource-kind-1
            version: my-resource-version-1
            names: ["my-resource-names"]
            namespaces: ["my-resource-namespaces"]
            labelSelectors: ["trident.netapp.io/os=linux"]
          - group: my-resource-group-2
            kind: my-resource-kind-2
            version: my-resource-version-2
            names: ["my-resource-names"]
            namespaces: ["my-resource-namespaces"]
            labelSelectors: ["trident.netapp.io/os=linux"]
  2. Dopo aver creato la CR dell'applicazione adatta al tuo ambiente, applica la CR. Ad esempio:

    kubectl apply -f my-app-name.yaml