Guide de l'administrateur NetBackup™ pour Kubernetes

Last Published:
Product(s): NetBackup (11.0.0.1)
  1. Présentation de NetBackup pour Kubernetes
    1.  
      Overview
    2.  
      Fonctions de prise en charge de NetBackup pour Kubernetes
  2. Déploiement et configuration de l'opérateur NetBackup Kubernetes
    1.  
      Conditions préalables au déploiement de l'opérateur NetBackup Kubernetes
    2.  
      Déploiement du package de service sur l'opérateur NetBackup Kubernetes
    3.  
      Spécifications de port pour le déploiement de l'opérateur Kubernetes
    4.  
      Mise à niveau de l'opérateur NetBackup Kubernetes
    5.  
      Suppression de l'opérateur NetBackup Kubernetes
    6.  
      Configuration du système de déplacement des données NetBackup Kubernetes
    7.  
      Automated configuration of NetBackup protection for Kubernetes
    8. Personnaliser la charge de travail Kubernetes
      1.  
        Conditions préalables pour les opérations de sauvegarde depuis un snapshot et de restauration à partir d'une sauvegarde
      2.  
        Paramètres de client DTE pris en charge par Kubernetes
      3.  
        Personnalisation des propriétés du datamover
    9.  
      Dépannage des serveurs NetBackup avec des noms courts
    10.  
      Data mover pod schedule mechanism support
    11.  
      Validation de la classe de stockage d'accélérateur
  3. Déploiement de certificats sur l'opérateur NetBackup Kubernetes
    1.  
      Déploiement de certificats sur l'opérateur Kubernetes
    2.  
      Exécution d'opérations de certificats basés sur l'ID d'hôte
    3.  
      Exécution d'opérations de certificat d'autorité de certification externe
    4.  
      Identification des types de certificats
  4. Gestion des biens Kubernetes
    1.  
      Ajout d'un cluster Kubernetes
    2. Définition des paramètres
      1.  
        Modification des limites de ressource pour les types de ressources Kubernetes
      2.  
        Configuration de la fréquence de découverte automatique
      3.  
        Configuration des autorisations
      4.  
        Nettoyage des biens
    3.  
      Ajout de biens à un plan de protection
    4. Analyse antimalware
      1.  
        Assets by workload type
  5. Gestion des groupes intelligents Kubernetes
    1.  
      À propos des groupes intelligents
    2.  
      Création d'un groupe intelligent
    3.  
      Suppression d'un groupe intelligent
    4.  
      Modification d'un groupe intelligent
  6. Gestion des politiques Kubernetes
    1.  
      Création d'une politique
  7. Protection des biens Kubernetes
    1.  
      Protection d'un groupe intelligent
    2.  
      Suppression de la protection d'un groupe intelligent
    3.  
      Configuration d'une planification de sauvegarde
    4.  
      Configuration des options de sauvegardes
    5.  
      Configuration des sauvegardes
    6.  
      Configuration d'AIR (Auto Image Replication) et de la duplication
    7.  
      Configuration des unités de stockage
    8.  
      Prise en charge du mode volume
    9.  
      Configure application consistent backup
  8. Gestion des groupes d'images
    1. À propos des groupes d'images
      1.  
        Expiration d'image
      2.  
        Copie d'image
  9. Protection des clusters gérés par Rancher dans NetBackup
    1.  
      Ajout d'un cluster RKE géré par Rancher dans NetBackup à l'aide de la configuration automatisée
    2.  
      Ajout manuel d'un cluster RKE géré par Rancher dans NetBackup
  10. Récupération des biens Kubernetes
    1.  
      Exploration et validation des points de récupération
    2.  
      Restore from snapshot
    3.  
      Restore from backup copy
  11. À propos de la sauvegarde incrémentielle et de la restauration
    1.  
      Prise en charge des sauvegardes incrémentielles et des restaurations pour Kubernetes
  12. Activation de la sauvegarde basée sur l'accélérateur
    1.  
      À propos de la prise en charge de l'accélérateur NetBackup pour les charges de travail Kubernetes
    2.  
      Contrôle de l'espace disque réservé aux journaux de suivi sur le serveur principal
    3.  
      Impact du comportement de la classe de stockage sur l'accélérateur
    4.  
      À propos des nouvelles analyses forcées par l'accélérateur
    5.  
      Avertissements et raison probable des échecs des sauvegardes avec accélérateur
  13. Activation du mode FIPS dans Kubernetes
    1.  
      Activer le mode FIPS (Federal Information Processing Standards) dans Kubernetes
  14. À propos de la prise en charge de la virtualisation Openshift
    1.  
      Prise en charge de la virtualisation Openshift
    2.  
      Application consistent virtual machines backup
    3.  
      Dépannage pour la virtualisation
  15. Résolution des problèmes liés à Kubernetes
    1.  
      Erreur lors de la mise à niveau du serveur principal : échec de NBCheck
    2.  
      Erreur lors de la restauration d'une image ancienne : l'opération échoue
    3.  
      Erreur de l'API de récupération de volume persistant
    4.  
      Erreur lors de la restauration : l'état final du travail affiche un échec partiel
    5.  
      Erreur lors de la restauration sur le même espace de noms
    6.  
      Pods du datamover dépassant la limite de ressource Kubernetes
    7.  
      Erreur lors de la restauration : le travail échoue sur le cluster hautement chargé
    8.  
      Le rôle Kubernetes personnalisé créé pour des clusters spécifiques ne peut pas afficher les travaux
    9.  
      Openshift crée des PVC vides non sélectionnés lors de la restauration des applications installées à partir d'OperatorHub
    10.  
      L'opérateur NetBackup Kubernetes ne répond plus si la limite de PID est dépassée sur le nœud Kubernetes
    11.  
      Échec lors de la modification du cluster dans NetBackup Kubernetes 10.1
    12.  
      La sauvegarde ou la restauration échoue pour une demande PVC volumineuse
    13.  
      Échec partiel de la restauration des PVC de mode fichier de l'espace de noms sur un système de fichiers différent
    14.  
      Échec de la restauration à partir de la copie de sauvegarde avec une erreur d'incohérence d'image
    15.  
      Vérifications de connectivité entre les serveurs principal/de médias NetBackup et les serveurs Kubernetes
    16.  
      Erreur lors de la sauvegarde avec accélérateur lorsque l'espace disponible pour le journal de suivi est insuffisant
    17.  
      Erreur lors de la sauvegarde avec accélérateur en raison de l'échec de la création de la demande PVC pour le journal de suivi
    18.  
      Erreur lors de la sauvegarde avec accélérateur en raison d'une classe de stockage d'accélérateur non valide
    19.  
      Une erreur se produit lors du démarrage du pod de journal de suivi
    20.  
      Échec de la configuration de l'instance de système de déplacement des données pour l'opération de création de demande PVC pour le journal de suivi
    21.  
      Erreur lors de la lecture de la classe de stockage du journal de suivi à partir du fichier configmap

Data mover pod schedule mechanism support

In NetBackup, users can annotate datamover pods to enable the use of an additional network by applying Network Attachment Definitions to the datamover pod, by using a backup server specific ConfigMap.

To annotate datamover pods with Network-Attach-Definitions (NAD) during a fresh installation

During NetBackup Kubernetes Operator Helm installation, users can specify annotations in the netbackupkops-helm-chart/values.yaml file, which will be applied to NetBackup Kubernetes Operator deployments and the datamover pods. This is an optional parameter.

To annotate datamover pods with Network-Attach-Definitions (NAD) after installation

Users can annotate or modify existing annotations by editing the backup server specific ConfigMap.

For example

# kubectl get cm -n <kops-namespace> 

# kubectl edit cm/<backup-server-name> -n <kops-namespace> 

datamover.annotations: | 

k8s.v1.cni.cncf.io/networks: whereabouts-ipvlan-conf-1
Limitations

When datamover pod uses a dedicated network, the hostalias inside pod does not work for more than one dedicated network. If the first interface goes down, connectivity does not fallback to second dedicated backup network.

Instead of having two separate dedicated network interfaces plugged into datamover, it is advisable to create a bridge using both interfaces and configure multus on top of this bridge.

Specify the following fields in the backup server ConfigMap to schedule data mover pods on the nodes.

  1. nodeSelector: nodeSelector is the effortless way to constrain pods to the nodes with specific labels.

    Example:

    apiVersion: v1 
    
    kind: ConfigMap 
    
    metadata: 
    
      name: backupserver.sample.domain.com 
    
      namespace: netbackup 
    
    data: 
    
      datamover.hostaliases: | 
    
        10.20.12.13=backupserver.sample.domain.com 
    
        10.21.12.13=mediaserver.sample.domain.com 
    
      datamover.properties: | 
    
        image=reg.domain.com/datamover/image:latest 
    
      datamover.nodeSelector: | 
    
        kubernetes.io/hostname: test1-l94jm-worker-k49vj 
    
        topology.rook.io/rack: rack1 
    
      version: "1" 
  2. nodeName: nodeName is a direct form of node selection than affinity or nodeSelector. It allows you to specify a node on which a pod is scheduled for backup, overriding the default schedule mechanism.

    Example:

    apiVersion: v1 
    
    kind: ConfigMap 
    
    metadata: 
    
      name: backupserver.sample.domain.com 
    
      namespace: netbackup 
    
    data: 
    
      datamover.hostaliases: | 
    
        10.20.12.13=backupserver.sample.domain.com 
    
        10.21.12.13=mediaserver.sample.domain.com 
    
      datamover.properties: | 
    
        image=reg.domain.com/datamover/image:latest 
    
      datamover.nodeName : test1-l94jm-worker-hbblk 
    
      version: "1" 
  3. Taint and Toleration: Toleration allows you to schedule the pods with similar taints. Taint and toleration work together to ensure that the pods are scheduled onto appropriate nodes. If one or more taints are applied to a node. Then that node must not accept any pods which does not tolerate the taints.

    Example:

    apiVersion: v1 
    
    kind: ConfigMap 
    
    metadata: 
    
      name: backupserver.sample.domain.com 
    
      namespace: netbackup 
    
    data: 
    
      datamover.hostaliases: | 
    
        10.20.12.13=backupserver.sample.domain.com 
    
        10.21.12.13=mediaserver.sample.domain.com 
    
      datamover.properties: | 
    
        image=reg.domain.com/datamover/image:latest 
    
      datamover.tolerations: | 
    
        - key: "dedicated" 
    
          operator: "Equal" 
    
          value: "experimental" 
    
          effect: "NoSchedule" 
    
      version: "1" 
  4. Affinity and Anti-affinity: Node affinity functions like the nodeSelector field but it is more expressive and allows you to specify soft rules. Inter-pod affinity/anti-affinity allows you to constrain pods against labels on the other pods.

    Examples:

    • Node Affinity:

      apiVersion: v1 
      
      kind: ConfigMap 
      
      metadata: 
      
        name: backupserver.sample.domain.com 
      
        namespace: netbackup 
      
      data: 
      
        datamover.hostaliases: | 
      
          10.20.12.13=backupserver.sample.domain.com 
      
          10.21.12.13=mediaserver.sample.domain.com 
      
        datamover.properties: | 
      
          image=reg.domain.com/datamover/image:latest 
      
        datamover.affinity: | 
      
          nodeAffinity: 
      
            requiredDuringSchedulingIgnoredDuringExecution: 
      
              nodeSelectorTerms: 
      
              - matchExpressions: 
      
                - key: kubernetes.io/hostname 
      
                  operator: In 
      
                  values: 
      
                  - test1-l94jm-worker-hbblk 
      
            preferredDuringSchedulingIgnoredDuringExecution: 
      
            - weight: 1 
      
              preference: 
      
                matchExpressions: 
      
                - key: beta.kubernetes.io/arch 
      
                  operator: In 
      
                  values: 
      
                  - amd64 
      
        version: "1" 
    • Pod Affinity

      apiVersion: v1 
      
      kind: ConfigMap 
      
      metadata: 
      
        name: backupserver.sample.domain.com 
      
        namespace: netbackup 
      
      data: 
      
        datamover.hostaliases: | 
      
          10.20.12.13=backupserver.sample.domain.com 
      
          10.21.12.13=mediaserver.sample.domain.com 
      
        datamover.properties: | 
      
          image=reg.domain.com/datamover/image:latest 
      
        datamover.affinity: | 
      
          podAffinity: 
      
            requiredDuringSchedulingIgnoredDuringExecution: 
      
            - labelSelector: 
      
                matchExpressions: 
      
                - key: component 
      
                  operator: In 
      
                  values: 
      
                  - netbackup 
      
              topologyKey: kubernetes.io/hostname 
      
        version: "1" 
  5. topologySpreadConstraints: Topology spread constraints are used to control the behavior of the pods that are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains.

    Example:

    apiVersion: v1 
    
    kind: ConfigMap 
    
    metadata: 
    
      name: backupserver.sample.domain.com 
    
      namespace: netbackup 
    
    data: 
    
      datamover. hostaliases: | 
    
        10.20.12.13=backupserver.sample.domain.com 
    
        10.21.12.13=mediaserver.sample.domain.com 
    
      datamover.properties: | 
    
        image=reg.domain.com/datamover/image:latest 
    
      datamover.topologySpreadConstraints : | 
    
        - maxSkew: 1 
    
          topologyKey: kubernetes.io/hostname 
    
          whenUnsatisfiable: DoNotSchedule 
    
      version: "1" 
    • Labels: Labels are the key/value pairs attached to the objects, such as pods. Labels intends to identify the attributes of an object which are significant and relevant to users. Labels can organize and select subsets of objects. Labels which are attached to objects at creation time are subsequently added and modified at any time.

      Example:

      apiVersion: v1 
      
      kind: ConfigMap 
      
      metadata: 
      
        name: backupserver.sample.domain.com 
      
        namespace: netbackup 
      
      data: 
      
        datamover.hostaliases: | 
      
          10.20.12.13=backupserver.sample.domain.com 
      
          10.21.12.13=mediaserver.sample.domain.com 
      
        datamover.properties: | 
      
          image=reg.domain.com/datamover/image:latest 
      
        datamover.labels: | 
      
          env: test 
      
          pod: datamover 
      
        version: "1" 
    • Annotations: User can use either labels or annotations to attach metadata to Kubernetes objects. You cannot use Annotations to identify and select objects.

      Example:

      apiVersion: v1 
      
      kind: ConfigMap 
      
      metadata: 
      
        name: backupserver.sample.domain.com 
      
        namespace: netbackup 
      
      data: 
      
        datamover.hostaliases: | 
      
          10.20.12.13=backupserver.sample.domain.com 
      
          10.21.12.13=mediaserver.sample.domain.com 
      
        datamover.properties: | 
      
          image=reg.domain.com/datamover/image:latest 
      
        datamover.annotations: | 
      
          buildinfo: |- 
      
            [{ 
      
                  "name": "test", 
      
                  "build": "1" 
      
            }] 
      
          imageregistry: "https://reg.domain.com/" 
      
        version: "1"