NetBackup™ Web UI Kubernetes 管理指南
- 适用于 Kubernetes 的 NetBackup 概述
- 部署和配置 NetBackup Kubernetes Operator
- 管理映像组
- 在 NetBackup Kubernetes Operator 上部署证书
- 管理 Kubernetes 资产
- 管理 Kubernetes 智能组
- 保护 Kubernetes 资产
- 恢复 Kubernetes 资产
- 对 Kubernetes 问题进行故障排除
执行 ECA 证书操作
在执行外部证书颁发机构 (ECA) 的创建、更新和删除操作之前,必须在 ECA 模式下配置备份服务器。
要检查 ECA 模式是否处于打开状态,请运行以下命令:/usr/openv/netbackup/bin/nbcertcmd -getSecConfig -caUsage。
输出如下所示:
NBCA: ON ECA: ON
要在 ECA 模式下配置备份服务器,请参考《NetBackup™ 安全和加密指南》中的“关于 NetBackup 中的外部 CA 支持”部分
ECA 证书规范如下所示:
apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-sample-eca namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: primaryserver.sample.domain.com certificateOperation: Create | Update | Remove certificateType: ECA ecaAttributes: ecaCreateOptions: ecaSecretName: "Secret name consists of cert, key, passphrase, cacert" copyCertsFromSecret: true | false isKeyEncrypted: true | false ecaUpdateOptions: ecaCrlCheck: DISABLE | LEAF | CHAIN ecaCrlRefreshHours: range[0,4380]
表:ECA 证书操作
操作类型 | 选项和注释 |
---|---|
创建 |
|
删除 | 不适用 |
更新 |
|
NetBackup 支持在 Kubernetes Operator 中注册 ECA,以供多个主服务器使用。如果外部 CA 在主服务器中是通用的。在通信期间,必须使用证书吊销列表分发点动态获取证书吊销列表。
创建 ECA 签名证书
- 使用证书吊销列表分发点获取证书吊销列表。
- 在主目录中准备好 ECA 签名证书链、私钥和密码(如果需要)。
- 明确步骤 2 中提到的每个文件支持的不同格式(如 DER、PEM 等)。有关更多信息,请参考《NetBackup™ 安全和加密指南》中的“用于外部 CA 签名证书的配置选项”部分。
- 使用步骤 3 中提到的文件创建密钥。
要在私钥未加密的情况下创建密钥,请运行以下命令:kubectl create secret generic <Name of secret>
--from-file=cert_chain=<File path to ECA signed certificate chain> --from-file=key=<File path to private key>
--from-file=cacert=<File path to External CA certificate> -n <Namespace where kops is deployed>
要在私钥已加密的情况下创建密钥,请运行以下命令:kubectl create secret generic <Name of secret>
--from-file=cert_chain=<File path to ECA signed certificate chain> --from-file=key=<File path to private key>
--from-file=cacert=<File path to External CA certificate> --from-file=passphrase=<File path to passphrase
of encrypted private key> -n <Namespace where kops is deployed>
目录结构如下所示:
├── cert_chain.pem ├── private | |___key.pem | |___passphrase.txt |___trusted |__cacerts.pem
cert_chain.pem 是 ECA 签名证书链
private/key.pem 是私钥
private/passphrase.txt 是私钥的密码
trusted/cacerts.pem 是外部 CA 证书
要在私钥未加密的情况下创建名为 eca-secret 的密钥,请运行以下命令:
kubectl create secret generic eca-secret--from-file=cert_chain=cert_chain.pem
--from-file=key=private/key.pem
--from-file=cacert=trusted/cacerts.pem -n kops-ns
要在私钥已加密的情况下创建名为 eca-secret 的密钥,请运行以下命令:
kubectl create secret generic eca-secret
--from-file=cert_chain=cert_chain.pem
--from-file=key=private/key.pem
--from-file=cacert=trusted/cacerts.pem
--from- file=passphrase=private/passphrase.txt
-n kops-ns
- 创建密钥后,接下来创建
backupservercert
对象自定义资源。eca-create-backupservercert.yaml
文件如下所示:apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-eca-create namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: backupserver.sample.domain.com certificateOperation: Create certificateType: ECA ecaAttributes: ecaCreateOptions: ecaSecretName: eca-secret copyCertsFromSecret: true isKeyEncrypted: false
复制
eca-create-backupservercert.yaml
文件文本。打开文本编辑器并粘贴 yaml 文件文本。
然后,使用 yaml 文件扩展名将文本保存到可以访问 Kubernetes 群集的主目录中。
- 要将证书和密钥复制到 Kubernetes Operator,请执行以下任一操作:
将
copyCertsFromSecret
设置为 true将
copyCertsFromSecret
设置为 false,以避免复制 Kubernetes Operator 上现有的证书和密钥。
注意:
ECA 在所有主服务器中是通用的,因此 Kubernetes Operator 需要一组证书和密钥,可根据需要在所有主服务器中注册这些证书和密钥。除非之前复制的证书和密钥出现问题,否则无需每次都复制证书和密钥。
注意:
如果由于与证书和密钥相关的任何原因(ECA 已损坏、已失效或已更改)导致
ecaHealthCheck
失败,则可以使用标志确定失败原因并复制有效证书。 - 如果私钥已加密,则将
isKeyEncrypted
标志设置为 true,而对于未加密的密钥,则将其设置为 false。如果私钥已加密,请确保以私密方式提供密码。 - 使用在步骤 5 中创建的密钥名称
backupservercert yaml
设置ecaSecretName
。 - 要创建
eca-create-backupservercert.yaml
文件,请运行以下命令:kubectl create -f eca-create-backupservercert.yaml - 创建
backupservercert
自定义资源后,检查自定义资源状态。 - 要在 NetBackup Web UI 上查看外部证书详细信息,请参考《NetBackup™ Web UI 管理指南》中的“查看域中 NetBackup 主机的外部证书信息”部分。
可以从主服务器删除 ECA 签名证书。
删除 ECA 签名证书
- 创建
backupservercert
,其操作为“删除”,证书类型为 ECA。eca-remove-backupservercert.yaml
文件如下所示:apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-eca-remove namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: backupserver.sample.domain.com certificateOperation: Remove certificateType: ECA
复制
eca-remove-backupservercert.yaml
文件文本。打开文本编辑器并粘贴 yaml 文件文本。
然后,使用 yaml 文件扩展名将文本保存到可以访问 Kubernetes 群集的主目录中。
- 要创建
eca-remove-backupservercert.yaml
文件,请运行以下命令:kubectl create -f eca-remove-backupservercert.yaml - 创建对象后,需要检查自定义资源状态。如果失败,则可以采取必要操作。
这些步骤可从本地证书存储库中删除有关指定主服务器的外部证书详细信息。不会从系统或 NetBackup 数据库中删除证书。
如果要禁用 ECA,请参考《NetBackup™ 安全和加密指南》中的“在 NetBackup 域中禁用外部 CA”部分。
如果在 Kubernetes Operator 上为备份服务器注册了 ECA,但后来重新安装了仅支持 NBCA 的备份服务器,那么,必须从 Kubernetes Operator 中删除 ECA 注册,因为与备份服务器进行 nbcertcmd 通信期间,可能会对 CA 支持情况进行比较,如果不匹配,则会发生错误。
ECA 中有一些可配置的选项。可以通过更新操作配置这些选项。
更新 ECA 签名证书
- 创建操作类型为“更新”的
backupservercert
对象。eca-update-backupservercert.yaml
文件如下所示:apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-eca-update namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: backupserver.sample.domain.com certificateOperation: Update certificateType: ECA ecaAttributes: ecaUpdateOptions: ecaCrlCheck: DISABLE | LEAF | CHAIN ecaCrlRefreshHours: [0,4380]
复制
eca-update-backupservercert.yaml
文件文本。打开文本编辑器并粘贴 yaml 文件文本。
然后,使用 yaml 文件扩展名将文本保存到可以访问 Kubernetes 群集的主目录中。
- 要创建
eca-update-backupservercert.yaml
文件,请运行以下命令:kubectl create -f eca-update-backupservercert.yaml - 您可以使用 ECA_CRL_CHECK 选项指定主机外部证书的吊销检查级别。还可以对外部证书禁用吊销检查。在主机通信期间,基于检查,根据证书吊销列表 (CRL) 验证证书的吊销状态。有关更多信息,请参考《NetBackup™ 安全和加密指南》中的“NetBackup 服务器和客户端的 ECA_CRL_CHECK”部分。
- ECA_CRL_REFRESH_HOURS 选项指定从对等主机证书的证书吊销列表分发点 (CDP) 中指定的 URL 下载 CRL 的时间间隔(以小时为单位)。有关更多信息,请参考《NetBackup™ 安全和加密指南》中的“NetBackup 服务器和客户端的 ECA_CRL_REFRESH_HOURS”部分