NetBackup™ for Kubernetes 管理者ガイド
- NetBackup for Kubernetes の概要
- NetBackup Kubernetes Operator の配備と構成
- NetBackup Kubernetes Operator を配備するための前提条件
- NetBackup Kubernetes Operator でのサービスパッケージの配備
- Kubernetes Operator の配備のためのポート要件
- NetBackup Kubernetes Operator のアップグレード
- NetBackup Kubernetes Operator の削除
- NetBackup Kubernetes データムーバーの構成
- Kubernetes 用の NetBackup 保護の自動構成
- NetBackup スナップショット操作の設定を行う
- 短縮名の付いた NetBackup サーバーのトラブルシューティング
- datamover ポッドのスケジュールメカニズムのサポート
- アクセラレータストレージクラスの検証
- NetBackup Kubernetes Operator での証明書の配備
- Kubernetes 資産の管理
- Kubernetes インテリジェントグループの管理
- Kubernetes ポリシーの管理
- Kubernetes 資産の保護
- イメージグループの管理
- NetBackup でのランチャ管理クラスタの保護
- Kubernetes 資産のリカバリ
- 増分バックアップとリストアについて
- アクセラレータベースのバックアップの有効化
- Kubernetes での FIPS モードの有効化
- Openshift Virtualization のサポートについて
- Kubernetes の問題のトラブルシューティング
- プライマリサーバーのアップグレード時のエラー: NBCheck が失敗する
- 古いイメージのリストア時のエラー: 操作が失敗する
- 永続ボリュームのリカバリ API でのエラー
- リストア中のエラー: ジョブの最終状態で一部が失敗していると表示される
- 同じ名前空間でのリストア時のエラー
- datamover ポッドが Kubernetes のリソース制限を超過
- リストア時のエラー: 高負荷のクラスタでジョブが失敗する
- 特定のクラスタ用に作成されたカスタムの Kubernetes の役割でジョブを表示できない
- OperatorHub からインストールされたアプリケーションのリストア時に、選択されていない空の PVC が Openshift によって作成される
- Kubernetes ノードで PID の制限を超えると NetBackup Kubernetes Operator が応答しなくなる
- NetBackup Kubernetes 10.1 におけるクラスタの編集中のエラー
- サイズの大きい PVC のバックアップまたはリストアが失敗する
- 名前空間ファイルモードの PVC を別のファイルシステムにリストアすると部分的に失敗する
- バックアップコピーからのリストアがイメージの不整合エラーで失敗する
- NetBackup プライマリサーバー、メディアサーバー、Kubernetes サーバー間の接続性チェック
- トラックログに利用可能な領域がない場合のアクセラレータバックアップ中のエラー
- トラックログ PVC の作成エラーによるアクセラレータバックアップ中のエラー
- 無効なアクセラレータストレージクラスによるアクセラレータバックアップ中のエラー
- トラックログポッドの起動中に発生したエラー
- トラックログ PVC 操作のためのデータムーバーインスタンスの設定に失敗する
- configmap からトラックログのストレージクラスを読み取る際のエラー
Kubernetes 用の NetBackup 保護の自動構成
Kubernetes 作業負荷で NetBackup を構成する前に、ポート 443、1556、および 13724 へのアクセス権を付与して NetBackup Server を実行する必要があります。
NetBackup の Kubernetes Operator とデータムーバーのイメージは、Kubernetes クラスタからアクセス可能なコンテナレジストリにアップロードする必要があります。
自動配備のために使用するシークレットを作成する必要があります。
API キーを作成するには
- NetBackup Web UI を開きます。
- 左側で[セキュリティ (Security)]、[アクセスキー (Access keys)]の順に選択します。
- [API キー (API keys)]タブをクリックします。
- [追加 (Add)]をクリックします。
- Kubernetes クラスタで、次の内容を含む新しいシークレット nb-config-deploy-secret.yaml を作成します。
apiVersion: v1 kind: Secret metadata: name: <kops-namespace>-nb-config-deploy-secret namespace: <kops-namespace> type: Opaque stringData: apikey: <Enter the value of API key from the earlier step>
- シークレットを適用します。kubectl apply -f nb-config-deploy-secret.yaml コマンドを実行します。
インストール前
netbackupkops-helm-chart/values.yamlの次のフィールドを編集します。containers.manager.image: NetBackup Kubernetes コントローライメージをプルするためのコンテナレジストリ URL
imagePullSecrets: name: コンテナレジストリがイメージをプルするために認証を必要とする場合の、イメージプルシークレットの名前。
nbprimaryserver: NetBackup プライマリサーバーの構成された名前。
nbsha256fingerprint: NetBackup Web UI から sha256 の指紋をフェッチします。左側で[セキュリティ (Security)]、[証明書 (Certificates)]の順に選択します。[認証局 (Certificate Authority)]をクリックします。
k8sCluster: Kubernetes クラスタ API サーバーの FQDN。
k8sPort: Kubernetes API サーバーが一覧表示されるポート。
この情報は、Kubernetes クラスタの UI コンソールで利用可能です。
- 存在しない場合は、次のコマンドを実行して Kubernetes クラスタと Kubernetes ポートを取得します。
# kubectl cluster-info Kubernetes コントロールプレーンは、https://<Kubernetes FQDN>:6443 で実行されます
datamoverimage: データムーバーイメージをプルするコンテナレジストリ URL。
スナップショット操作とスナップショットからのバックアップ操作には、ストレージパラメータが必要です。ブロックまたはファイルシステムのストレージパラメータの少なくとも 1 つは必須です。
- ストレージクラスを取得するには、次のコマンドを実行します。
# kubectl get storageclasses
storageclassblock: ブロックボリュームのプロビジョニングに使用されるストレージクラス。
storageclassfilesystem: ファイルシステムボリュームのプロビジョニングに使用されるストレージクラス。
- ボリュームスナップショットクラスを取得するには、次のコマンドを実行します。
# kubectl get volumesnapshotclasses
volumesnapshotclassblock: ブロックボリュームスナップショットを作成するためのボリュームスナップショットクラス。
volumesnapshotclassfilesystem: ファイルシステムボリュームスナップショットを作成するためのボリュームスナップショットクラス。
- ストレージクラスとスナップショットクラス間のマッピングは、storageMap を介して管理されます。新しいストレージオプションがクラスタに追加された場合、インストール後に backup-operator-configuration の configmap で更新することもできます。
storageMap はキーの辞書であり、値フィールドはキーがストレージクラスで、値が (snapshotClass、storageClassForBackupDataMovement、storageClassForRestoreFromBackup) で構成されるタプルです。このフィールドは、ストレージクラスとスナップショットクラス間のマッピングを指定する場合に必須です。
snapshotclass はストレージクラスと同じプロビジョナを使用して作成する必要があり、ストレージクラスのスナップショットを作成できる必要があります。すべてのストレージクラスに snapshotclass のエントリが必要です。
storageClassForBackupDataMovement は、データムーバー用の一時的な PVC を作成するために使用されます。このストレージクラスを使用して作成する場合は、元のストレージクラスのスナップショットを使用して作成された元のストレージクラス PVC と互換性がある必要があります。データムーバーはこの PVC からデータを読み込み、NetBackup メディアサーバーに送信します。storageClassForRestoreFromBackup はメディアサーバーのバックアップからリストアするために使用されます。元のストレージクラスと互換性があり、同じプロビジョナを使用している必要があります。
1 つのスナップショットクラスを使用して、互換性のある複数のストレージクラスのスナップショットを作成できます。
テンプレート
storageMap: <key - storage class name>: snapshotClass: [mandatory field to specify volumesnapshotclass for creating snapshot of given key storage class] storageClassForBackupDataMovement: <optional, storage class used to transfer pvc backup data from k8s cluster to NetBacup media server> storageClassForRestoreFromBackup: <optional, storage class used to restore pvc from NetBackup media server to k8s cluster> Note: storageClassForBackupDataMovement and storageClassForRestoreFromBackup are optional and must be compatible with key storage class if they are configured different from key storage class. If no value is specified for these fields original storage class would be used. These values can be changed later in backup-operator-configuration configmap Example for openshift storage classes. cephfs storage class should have corresponding snapclass as cephfs as follows storageMap: ocs-storagecluster-cephfs: storageClassForBackupDataMovement: ocs-storagecluster-cephfs storageClassForRestoreFromBackup: ocs-storagecluster-cephfs snapshotClass: ocs-storagecluster-cephfsplugin-snapclass ocs-storagecluster-ceph-rbd: snapshotClass: ocs-storagecluster-rbdplugin-snapclass
helm をインストールするには、次のコマンドを実行します。
# helm install veritas-netbackupkops <path to netbackupkops-helm-chart> -n <kops namespace>
Kubernetes Operator 名前空間から config-deploy ポッドを取得するには、次のコマンドを実行します。
# kubectl get pod -n <kops namespace> | grep "config-deploy"
ポッド <namespace>-netbackup-config-deploy からログを確認するには、次のコマンドを実行します。
# kubectl logs <pod-name> -n <kops namespace>
構成ポッドのログレベルを設定します。値には DEBUG、INFO、または ERROR を設定できます。デフォルト値は INFO に設定されます。
メモ:
詳しくは、『NetBackup Kubernetes クイックスタートガイド』を参照してください。