Skip to main content
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

设置 Astra 控制中心

贡献者

安装Astra Control Center、登录到UI并更改密码后、您需要设置许可证、添加集群、启用身份验证、管理存储以及添加存储分段。

添加 Astra 控制中心的许可证

安装Astra Control Center时、已安装嵌入式评估版许可证。如果您正在评估Astra Control Center、则可以跳过此步骤。

您可以使用Astra Control UI或添加新许可证 "Astra Control API"

Astra控制中心许可证使用Kubernetes CPU单元测量CPU资源、并计算分配给所有受管Kubernetes集群的工作节点的CPU资源。许可证基于vCPU使用量。有关如何计算许可证的详细信息、请参见 "许可"

备注 如果您的安装增长到超过许可的 CPU 单元数,则 Astra 控制中心将阻止您管理新应用程序。超过容量时,将显示警报。
备注 要更新现有评估版或完整许可证、请参见 "更新现有许可证"
开始之前
步骤
  1. 登录到 Astra 控制中心 UI 。

  2. 选择 * 帐户 * > * 许可证 * 。

  3. 选择 * 添加许可证 * 。

  4. 浏览到您下载的许可证文件( NLF )。

  5. 选择 * 添加许可证 * 。

    • 帐户 * > * 许可证 * 页面显示许可证信息,到期日期,许可证序列号,帐户 ID 和使用的 CPU 单元。

备注 如果您拥有评估版许可证、并且不向AutoSupport 发送数据、请确保存储您的帐户ID、以避免在Astra控制中心发生故障时丢失数据。

使用Astra Control准备用于集群管理的环境

在添加集群之前、应确保满足以下前提条件。您还应运行资格检查、以确保集群已准备好添加到Astra控制中心并创建集群管理角色。

开始之前
  • 确保集群中的工作节点已配置适当的存储驱动程序、以便Pod可以与后端存储进行交互。

  • 您的环境符合 "操作环境要求" 适用于Astra Trident和Astra控制中心。

  • 如果要使用引用私有证书颁发机构(CA)的kubeconfigfile文件添加集群、请将以下行添加到 cluster kubeconfig"文件的部分。这样、Astra Control便可添加集群:

    insecure-skip-tls-verify: true
  • 一个版本的Astra Trident "受Astra控制中心支持" 已安装:

    备注 您可以 "部署Astra Trident" 使用Asta三端图运算符(手动或使用Helm图表)或 tridentctl。在安装或升级Astra Trident之前、请查看 "支持的前端、后端和主机配置"
    • 已配置Astra三端存储后端:必须至少配置一个Astra三端存储后端 "已配置" 在集群上。

    • 已配置Astra三端存储类:必须至少有一个Astra三端存储类 "已配置" 在集群上。如果配置了默认存储类、请确保它是唯一具有默认标注的存储类。

    • 已安装并配置* Astra Trident卷快照控制器和卷快照类*:卷快照控制器必须为 "已安装" 以便可以在Astra Control中创建快照。至少一个Astra Trident VolumeSnapshotClass 已经 "设置" 由管理员执行。

  • * Kubeconfig accessible*:您可以访问 "默认集群kubeconfig""您在安装期间配置的"

  • * ONTAP 凭据*:您需要在备用ONTAP 系统上设置ONTAP 凭据以及超级用户和用户ID、以便使用Astra控制中心备份和还原应用程序。

    在ONTAP 命令行中运行以下命令:

    export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -superuser sys
    export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -anon 65534
  • *仅Rancher *:在Rancher环境中管理应用程序集群时、请修改Rancher提供的kubeconfig文件中的应用程序集群默认上下文、以使用控制平面上下文、而不是Rancher API服务器上下文。这样可以减少 Rancher API 服务器上的负载并提高性能。

运行资格检查

运行以下资格检查,以确保您的集群已准备好添加到 Astra 控制中心。

步骤
  1. 检查Astra Trident版本。

    kubectl get tridentversions -n trident

    如果存在Asta三项功能、您将看到类似于以下内容的输出:

    NAME      VERSION
    trident   23.XX.X

    如果Astra三端存储不存在、则会显示类似于以下内容的输出:

    error: the server doesn't have a resource type "tridentversions"
    备注 如果未安装Astra三端到酒店或安装的版本不是最新版本、则需要先安装Astra三端到酒店的最新版本、然后再继续操作。请参见 "Astra Trident 文档" 有关说明,请参见。
  2. 确保Pod正在运行:

    kubectl get pods -n trident
  3. 确定存储类是否正在使用受支持的Asta三端驱动程序。配置程序名称应为 csi.trident.netapp.io。请参见以下示例:

    kubectl get sc

    响应示例:

    NAME                  PROVISIONER            RECLAIMPOLICY  VOLUMEBINDINGMODE  ALLOWVOLUMEEXPANSION  AGE
    ontap-gold (default)  csi.trident.netapp.io  Delete         Immediate          true                  5d23h

创建集群角色kubeconfig

您可以选择为Astra Control Center创建有限权限或扩展权限管理员角色。这不是Astra控制中心设置所需的操作步骤、因为您已在中配置了kubeconfig "安装过程"

如果您适用场景的环境发生以下任一情况、则此操作步骤可帮助您创建一个单独的kubeconfig:

  • 您希望限制Astra Control对其管理的集群的权限

  • 您使用多个环境、并且不能使用在安装期间配置的默认Asta Control kubeconfig,否则在您的环境中使用单一环境的有限角色将不起作用

开始之前

在完成操作步骤 步骤之前、请确保您对要管理的集群具有以下信息:

  • 已安装kubec不得 安装v1.23或更高版本

  • kubectl访问要使用Astra控制中心添加和管理的集群

    备注 对于此操作步骤 、您不需要对运行Astra控制中心的集群进行kubectl访问。
  • 要使用活动环境的集群管理员权限管理的集群的活动kubeconfig

步骤
  1. 创建服务帐户:

    1. 创建名为的服务帐户文件 astracontrol-service-account.yaml

      根据需要调整名称和命名空间。如果在此处进行了更改,则应在以下步骤中应用相同的更改。

    astracontrol-service-account.yaml

    +

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: astracontrol-service-account
      namespace: default
    1. 应用服务帐户:

      kubectl apply -f astracontrol-service-account.yaml
  2. 创建以下具有足够权限的集群角色之一、以使集群由Astra Control管理:

    • 受限集群角色:此角色包含由Astra Control管理集群所需的最低权限:

      展开步骤
      1. 创建 ClusterRole 文件、例如、 astra-admin-account.yaml

        根据需要调整名称和命名空间。如果在此处进行了更改,则应在以下步骤中应用相同的更改。

        astra-admin-account.yaml
        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRole
        metadata:
          name: astra-admin-account
        rules:
        
        # Get, List, Create, and Update all resources
        # Necessary to backup and restore all resources in an app
        - apiGroups:
          - '*'
          resources:
          - '*'
          verbs:
          - get
          - list
          - create
          - patch
        
        # Delete Resources
        # Necessary for in-place restore and AppMirror failover
        - apiGroups:
          - ""
          - apps
          - autoscaling
          - batch
          - crd.projectcalico.org
          - extensions
          - networking.k8s.io
          - policy
          - rbac.authorization.k8s.io
          - snapshot.storage.k8s.io
          - trident.netapp.io
          resources:
          - configmaps
          - cronjobs
          - daemonsets
          - deployments
          - horizontalpodautoscalers
          - ingresses
          - jobs
          - namespaces
          - networkpolicies
          - persistentvolumeclaims
          - poddisruptionbudgets
          - pods
          - podtemplates
          - podsecuritypolicies
          - replicasets
          - replicationcontrollers
          - replicationcontrollers/scale
          - rolebindings
          - roles
          - secrets
          - serviceaccounts
          - services
          - statefulsets
          - tridentmirrorrelationships
          - tridentsnapshotinfos
          - volumesnapshots
          - volumesnapshotcontents
          verbs:
          - delete
        
        # Watch resources
        # Necessary to monitor progress
        - apiGroups:
          - ""
          resources:
          - pods
          - replicationcontrollers
          - replicationcontrollers/scale
          verbs:
          - watch
        
        # Update resources
        - apiGroups:
          - ""
          - build.openshift.io
          - image.openshift.io
          resources:
          - builds/details
          - replicationcontrollers
          - replicationcontrollers/scale
          - imagestreams/layers
          - imagestreamtags
          - imagetags
          verbs:
          - update
        
        # Use PodSecurityPolicies
        - apiGroups:
          - extensions
          - policy
          resources:
          - podsecuritypolicies
          verbs:
          - use
      2. (仅适用于OpenShift集群)在末尾附加以下内容 astra-admin-account.yaml 文件或之后 # Use PodSecurityPolicies 部分。

        # OpenShift security
        - apiGroups:
          - security.openshift.io
          resources:
          - securitycontextconstraints
          verbs:
          - use
      3. 应用集群角色:

        kubectl apply -f astra-admin-account.yaml
    • 扩展的集群角色:此角色包含要由Astra Control管理的集群的扩展权限。如果您使用多个环境,并且无法使用在安装期间配置的默认Asta Control kubeconfig,则可以使用此角色,否则在您的环境中,只使用一个环境的有限角色将不起作用:

      备注 以下内容 ClusterRole 步骤是一个常规Kubbernetes示例。有关特定于您的环境的说明、请参见Kubennetes分发版的文档。
    展开步骤
    1. 创建 ClusterRole 文件、例如、 astra-admin-account.yaml

      根据需要调整名称和命名空间。如果在此处进行了更改,则应在以下步骤中应用相同的更改。

      astra-admin-account.yaml
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: astra-admin-account
      rules:
      - apiGroups:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
    2. 应用集群角色:

      kubectl apply -f astra-admin-account.yaml
  3. 为集群角色创建与服务帐户的集群角色绑定:

    1. 创建 ClusterRoleBinding 文件已调用 astracontrol-clusterrolebinding.yaml

      根据需要调整创建服务帐户时修改的任何名称和命名空间。

    astracontrol-clusterrolebinding.yaml

    +

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: astracontrol-admin
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: astra-admin-account
    subjects:
    - kind: ServiceAccount
      name: astracontrol-service-account
      namespace: default
    1. 应用集群角色绑定:

      kubectl apply -f astracontrol-clusterrolebinding.yaml
  4. 创建并应用令牌密钥:

    1. 创建名为的令牌机密文件 secret-astracontrol-service-account.yaml

      secret-astracontrol-service-account.yaml
      apiVersion: v1
      kind: Secret
      metadata:
        name: secret-astracontrol-service-account
        namespace: default
        annotations:
          kubernetes.io/service-account.name: "astracontrol-service-account"
      type: kubernetes.io/service-account-token
    2. 应用令牌密钥:

      kubectl apply -f secret-astracontrol-service-account.yaml
  5. 通过将令牌密钥名称添加到、将其添加到服务帐户 secrets 数组(以下示例中的最后一行):

    kubectl edit sa astracontrol-service-account
    apiVersion: v1
    imagePullSecrets:
    - name: astracontrol-service-account-dockercfg-48xhx
    kind: ServiceAccount
    metadata:
      annotations:
        kubectl.kubernetes.io/last-applied-configuration: |
          {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"astracontrol-service-account","namespace":"default"}}
      creationTimestamp: "2023-06-14T15:25:45Z"
      name: astracontrol-service-account
      namespace: default
      resourceVersion: "2767069"
      uid: 2ce068c4-810e-4a96-ada3-49cbf9ec3f89
    secrets:
    - name: astracontrol-service-account-dockercfg-48xhx
    - name: secret-astracontrol-service-account
  6. 列出服务帐户密码、替换 <context> 使用适用于您的安装的正确环境:

    kubectl get serviceaccount astracontrol-service-account --context <context> --namespace default -o json

    输出的结尾应类似于以下内容:

    "secrets": [
    { "name": "astracontrol-service-account-dockercfg-48xhx"},
    { "name": "secret-astracontrol-service-account"}
    ]

    中每个元素的索引 secrets 阵列以0开头。在上面的示例中、是的索引 astracontrol-service-account-dockercfg-48xhx 将为0、并为创建索引 secret-astracontrol-service-account 将为1。在输出中、记下服务帐户密钥的索引编号。在下一步中、您将需要此索引编号。

  7. 按如下所示生成 kubeconfig :

    1. 创建 create-kubeconfig.sh 文件替换 TOKEN_INDEX 在以下脚本的开头、使用正确的值。

      create-kubeconfig.sh
      # Update these to match your environment.
      # Replace TOKEN_INDEX with the correct value
      # from the output in the previous step. If you
      # didn't change anything else above, don't change
      # anything else here.
      
      SERVICE_ACCOUNT_NAME=astracontrol-service-account
      NAMESPACE=default
      NEW_CONTEXT=astracontrol
      KUBECONFIG_FILE='kubeconfig-sa'
      
      CONTEXT=$(kubectl config current-context)
      
      SECRET_NAME=$(kubectl get serviceaccount ${SERVICE_ACCOUNT_NAME} \
        --context ${CONTEXT} \
        --namespace ${NAMESPACE} \
        -o jsonpath='{.secrets[TOKEN_INDEX].name}')
      TOKEN_DATA=$(kubectl get secret ${SECRET_NAME} \
        --context ${CONTEXT} \
        --namespace ${NAMESPACE} \
        -o jsonpath='{.data.token}')
      
      TOKEN=$(echo ${TOKEN_DATA} | base64 -d)
      
      # Create dedicated kubeconfig
      # Create a full copy
      kubectl config view --raw > ${KUBECONFIG_FILE}.full.tmp
      
      # Switch working context to correct context
      kubectl --kubeconfig ${KUBECONFIG_FILE}.full.tmp config use-context ${CONTEXT}
      
      # Minify
      kubectl --kubeconfig ${KUBECONFIG_FILE}.full.tmp \
        config view --flatten --minify > ${KUBECONFIG_FILE}.tmp
      
      # Rename context
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        rename-context ${CONTEXT} ${NEW_CONTEXT}
      
      # Create token user
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-credentials ${CONTEXT}-${NAMESPACE}-token-user \
        --token ${TOKEN}
      
      # Set context to use token user
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-context ${NEW_CONTEXT} --user ${CONTEXT}-${NAMESPACE}-token-user
      
      # Set context to correct namespace
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-context ${NEW_CONTEXT} --namespace ${NAMESPACE}
      
      # Flatten/minify kubeconfig
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        view --flatten --minify > ${KUBECONFIG_FILE}
      
      # Remove tmp
      rm ${KUBECONFIG_FILE}.full.tmp
      rm ${KUBECONFIG_FILE}.tmp
    2. 获取用于将其应用于 Kubernetes 集群的命令。

      source create-kubeconfig.sh
  8. (可选)将kubeconfig重命名为集群的有意义名称。

    mv kubeconfig-sa YOUR_CLUSTER_NAME_kubeconfig

下一步是什么?

现在、您已确认满足了这些前提条件、您已做好准备 添加集群

添加集群

要开始管理应用程序,请添加 Kubernetes 集群并将其作为计算资源进行管理。您必须为 Astra 控制中心添加一个集群,才能发现您的 Kubernetes 应用程序。

提示 我们建议,在将其他集群添加到 Astra 控制中心进行管理之前,先由 Astra 控制中心管理其部署所在的集群。要发送 Kubemmetrics 数据和集群关联数据以获取指标和故障排除信息,必须对初始集群进行管理。
开始之前
步骤
  1. 从信息板或集群菜单导航:

    • 从"Resource Summary"的"信息板"中、从"Clusters"窗格中选择"添加"。

    • 在左侧导航区域中、选择*集群*、然后从集群页面中选择*添加集群*。

  2. 在打开的*添加集群*窗口中、上传 kubeconfig.yaml 归档或粘贴的内容 kubeconfig.yaml 文件

    备注 kubeconfig.yaml 文件应仅包含一个集群的集群凭据*。
    重要说明 创建自己的 kubeconfig file中、您只能定义*一*上下文元素。请参见 "Kubernetes 文档" 有关创建的信息 kubeconfig 文件。如果您使用为有限集群角色创建了kubeconfig 上述过程、请务必在此步骤中上传或粘贴kubeconfig。
  3. 请提供凭据名称。默认情况下,凭据名称会自动填充为集群的名称。

  4. 选择 * 下一步 * 。

  5. 选择要用于此Kubernetes集群的默认存储类、然后选择*下一步*。

    备注 您应选择一个由ONTAP 存储提供支持的Asta三端存储类。
  6. 查看相关信息、如果一切正常、请选择*添加*。

结果

集群将进入*正在发现*状态、然后更改为*运行状况良好*。现在、您正在使用Astra控制中心管理集群。

重要说明 添加要在 Astra 控制中心中管理的集群后,部署监控操作员可能需要几分钟的时间。在此之前,通知图标将变为红色并记录一个 * 监控代理状态检查失败 * 事件。您可以忽略此问题,因为当 Astra 控制中心获得正确状态时,问题描述将解析。如果问题描述 在几分钟内未解析、请转至集群并运行 oc get pods -n netapp-monitoring 作为起点。您需要查看监控操作员日志以调试此问题。

在ONTAP 存储后端启用身份验证

Astra控制中心提供了两种对ONTAP 后端进行身份验证的模式:

  • 基于凭据的身份验证:具有所需权限的ONTAP 用户的用户名和密码。您应使用预定义的安全登录角色(如admin或vsadmin)、以确保与ONTAP 版本的最大兼容性。

  • 基于证书的身份验证:Astra控制中心还可以使用后端安装的证书与ONTAP 集群进行通信。您应使用客户端证书、密钥和可信CA证书(如果使用)(建议)。

您可以稍后更新现有后端、以便从一种身份验证类型迁移到另一种身份验证方法。一次仅支持一种身份验证方法。

启用基于凭据的身份验证

ASRA控制中心需要集群范围的凭据 admin 与ONTAP 后端通信。您应使用标准的预定义角色、例如 admin。这样可以确保与未来的ONTAP 版本向前兼容、这些版本可能会公开功能API、以供未来的Astra控制中心版本使用。

备注 可以创建自定义安全登录角色并将其用于Astra Control Center、但不建议这样做。

示例后端定义如下所示:

{
  "version": 1,
  "backendName": "ExampleBackend",
  "storageDriverName": "ontap-nas",
  "managementLIF": "10.0.0.1",
  "dataLIF": "10.0.0.2",
  "svm": "svm_nfs",
  "username": "admin",
  "password": "secret"
}

后端定义是以纯文本格式存储凭据的唯一位置。创建或更新后端是唯一需要了解凭据的步骤。因此、这是一项仅由管理员执行的操作、由Kubornetes或存储管理员执行。

启用基于证书的身份验证

Astra控制中心可以使用证书与新的和现有的ONTAP 后端进行通信。您应在后端定义中输入以下信息。

  • clientCertificate:客户端证书。

  • clientPrivateKey:关联的私钥。

  • trustedCACertificate:可信CA证书。如果使用可信 CA ,则必须提供此参数。如果不使用可信 CA ,则可以忽略此设置。

您可以使用以下类型的证书之一:

  • 自签名证书

  • 第三方证书

使用自签名证书启用身份验证

典型的工作流包括以下步骤。

步骤
  1. 生成客户端证书和密钥。生成时、请将公用名(Common Name、CN)设置为ONTAP 用户、以进行身份验证。

    openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -keyout k8senv.key -out k8senv.pem -subj "/C=US/ST=NC/L=RTP/O=NetApp/CN=<common-name>"
  2. 安装类型为的客户端证书 client-ca 和键ONTAP。

    security certificate install -type client-ca -cert-name <certificate-name> -vserver <vserver-name>
    security ssl modify -vserver <vserver-name> -client-enabled true
  3. 确认ONTAP 安全登录角色支持证书身份验证方法。

    security login create -user-or-group-name vsadmin -application ontapi -authentication-method cert -vserver <vserver-name>
    security login create -user-or-group-name vsadmin -application http -authentication-method cert -vserver <vserver-name>
  4. 使用生成的证书测试身份验证。将<SVM ManagementLIF> and <vserver name> 替换为管理LIF IP和ONTAP 名称。您必须确保LIF的服务策略设置为 default-data-management

    curl -X POST -Lk https://<ONTAP-Management-LIF>/servlets/netapp.servlets.admin.XMLrequest_filer --key k8senv.key --cert ~/k8senv.pem -d '<?xml version="1.0" encoding="UTF-8"?><netapp xmlns=http://www.netapp.com/filer/admin version="1.21" vfiler="<vserver-name>"><vserver-get></vserver-get></netapp>
  5. 使用上一步中获得的值、在Astra Control Center UI中添加存储后端。

使用第三方证书启用身份验证

如果您拥有第三方证书、则可以使用以下步骤设置基于证书的身份验证。

步骤
  1. 生成私钥和CSR:

    openssl req -new -newkey rsa:4096 -nodes -sha256 -subj "/" -outform pem -out ontap_cert_request.csr -keyout ontap_cert_request.key -addext "subjectAltName = DNS:<ONTAP_CLUSTER_FQDN_NAME>,IP:<ONTAP_MGMT_IP>”
  2. 将CSR传递到Windows CA (第三方CA)、然后问题描述 签名证书。

  3. 下载签名证书并将其命名为`ONTAP signed_cert.crt

  4. 从Windows CA (第三方CA)导出根证书。

  5. 为此文件命名 ca_root.crt

    现在、您已有以下三个文件:

    • 私钥ontap_signed_request.key (这是ONTAP 中服务器证书对应的密钥。安装服务器证书时需要此证书。)

    • 签名证书ontap_signed_cert.crt (在ONTAP 中也称为_server certificATE _。)

    • 根CA证书ca_root.crt (在ONTAP 中也称为_server-ca certific存在_。)

  6. 在ONTAP 中安装这些证书。生成并安装 serverserver-ca ONTAP 上的证书。

    展开SAMPLE.YAML
    # Copy the contents of ca_root.crt and use it here.
    
    security certificate install -type server-ca
    
    Please enter Certificate: Press <Enter> when done
    
    -----BEGIN CERTIFICATE-----
    <certificate details>
    -----END CERTIFICATE-----
    
    
    You should keep a copy of the CA-signed digital certificate for future reference.
    
    The installed certificate's CA and serial number for reference:
    
    CA:
    serial:
    
    The certificate's generated name for reference:
    
    
    ===
    
    # Copy the contents of ontap_signed_cert.crt and use it here. For key, use the contents of ontap_cert_request.key file.
    security certificate install -type server
    Please enter Certificate: Press <Enter> when done
    
    -----BEGIN CERTIFICATE-----
    <certificate details>
    -----END CERTIFICATE-----
    
    Please enter Private Key: Press <Enter> when done
    
    -----BEGIN PRIVATE KEY-----
    <private key details>
    -----END PRIVATE KEY-----
    
    Enter certificates of certification authorities (CA) which form the certificate chain of the server certificate. This starts with the issuing CA certificate of the server certificate and can range up to the root CA certificate.
    Do you want to continue entering root and/or intermediate certificates {y|n}: n
    
    The provided certificate does not have a common name in the subject field.
    Enter a valid common name to continue installation of the certificate: <ONTAP_CLUSTER_FQDN_NAME>
    
    You should keep a copy of the private key and the CA-signed digital certificate for future reference.
    The installed certificate's CA and serial number for reference:
    CA:
    serial:
    The certificate's generated name for reference:
    
    
    ==
    # Modify the vserver settings to enable SSL for the installed certificate
    
    ssl modify -vserver <vserver_name> -ca <CA>  -server-enabled true -serial <serial number>       (security ssl modify)
    
    ==
    # Verify if the certificate works fine:
    
    openssl s_client -CAfile ca_root.crt -showcerts -servername server -connect <ONTAP_CLUSTER_FQDN_NAME>:443
    CONNECTED(00000005)
    depth=1 DC = local, DC = umca, CN = <CA>
    verify return:1
    depth=0
    verify return:1
    write W BLOCK
    ---
    Certificate chain
    0 s:
       i:/DC=local/DC=umca/<CA>
    
    -----BEGIN CERTIFICATE-----
    <Certificate details>
  7. 为同一主机创建客户端证书、以实现无密码通信。Asta控制中心使用此过程与ONTAP 进行通信。

  8. 在ONTAP 上生成并安装客户端证书:

    展开SAMPLE.YAML
    # Use /CN=admin or use some other account which has privileges.
    openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -keyout ontap_test_client.key -out ontap_test_client.pem -subj "/CN=admin"
    
    Copy the content of ontap_test_client.pem file and use it in the below command:
    security certificate install -type client-ca -vserver <vserver_name>
    
    Please enter Certificate: Press <Enter> when done
    
    -----BEGIN CERTIFICATE-----
    <Certificate details>
    -----END CERTIFICATE-----
    
    You should keep a copy of the CA-signed digital certificate for future reference.
    The installed certificate’s CA and serial number for reference:
    
    CA:
    serial:
    The certificate’s generated name for reference:
    
    
    ==
    
    ssl modify -vserver <vserver_name> -client-enabled true
    (security ssl modify)
    
    # Setting permissions for certificates
    security login create -user-or-group-name admin -application ontapi -authentication-method cert -role admin -vserver <vserver_name>
    
    security login create -user-or-group-name admin -application http -authentication-method cert -role admin -vserver <vserver_name>
    
    ==
    
    #Verify passwordless communication works fine with the use of only certificates:
    
    curl --cacert ontap_signed_cert.crt  --key ontap_test_client.key --cert ontap_test_client.pem https://<ONTAP_CLUSTER_FQDN_NAME>/api/storage/aggregates
    {
    "records": [
    {
    "uuid": "f84e0a9b-e72f-4431-88c4-4bf5378b41bd",
    "name": "<aggr_name>",
    "node": {
    "uuid": "7835876c-3484-11ed-97bb-d039ea50375c",
    "name": "<node_name>",
    "_links": {
    "self": {
    "href": "/api/cluster/nodes/7835876c-3484-11ed-97bb-d039ea50375c"
    }
    }
    },
    "_links": {
    "self": {
    "href": "/api/storage/aggregates/f84e0a9b-e72f-4431-88c4-4bf5378b41bd"
    }
    }
    }
    ],
    "num_records": 1,
    "_links": {
    "self": {
    "href": "/api/storage/aggregates"
    }
    }
    }%
  9. 在Asta Control Center UI中添加存储后端、并提供以下值:

    • 客户端证书:ONATP_TEST_client.prom

    • 私钥:ontap_test_client.key

    • 可信CA证书:ONATP_signed_cert.crt

添加存储后端

您可以将现有ONTAP 存储后端添加到Astra控制中心以管理其资源。

通过将 Astra Control 中的存储集群作为存储后端进行管理,您可以在永久性卷( PV )和存储后端之间建立链接,并获得其他存储指标。

设置凭据或证书身份验证信息后、您可以将现有ONTAP 存储后端添加到Astra控制中心以管理其资源。

步骤
  1. 从左侧导航区域的信息板中、选择*后端*。

  2. 选择 * 添加 * 。

  3. 在添加存储后端页面的使用现有部分中,选择* ONTAP *。

  4. 选择以下选项之一:

    • 使用管理员凭据:输入ONTAP 集群管理IP地址和管理员凭据。凭据必须是集群范围的凭据。

      备注 您在此处输入凭据的用户必须具有 ontapi 在ONTAP 集群上的ONTAP 系统管理器中启用用户登录访问方法。如果您计划使用SnapMirror复制、请应用具有"admin"角色的用户凭据、该角色具有访问方法 ontapihttp、在源和目标ONTAP 集群上。请参见 "管理ONTAP 文档中的用户帐户" 有关详细信息 …​
    • 使用证书:上传证书 .pem file、证书密钥 .key 文件、以及证书颁发机构文件(可选)。

  5. 选择 * 下一步 * 。

  6. 确认后端详细信息并选择 * 管理 * 。

结果

后端将显示在中 online 包含摘要信息的列表中的状态。

备注 您可能需要刷新页面才能显示后端。

添加存储分段

您可以使用Astra Control UI或添加存储分段 "Astra Control API"。如果要备份应用程序和永久性存储,或者要跨集群克隆应用程序,则必须添加对象存储分段提供程序。Astra Control 会将这些备份或克隆存储在您定义的对象存储分段中。

如果您要将应用程序配置和永久性存储克隆到同一集群、则无需在Astra Control中使用存储分段。应用程序快照功能不需要存储分段。

开始之前
  • 可从由Astra控制中心管理的集群访问的存储分段。

  • 存储分段的凭据。

  • 包含以下类型的存储分段:

    • NetApp ONTAP S3

    • NetApp StorageGRID S3

    • Microsoft Azure

    • 通用 S3

备注 Amazon Web Services (AWS)和Google Cloud Platform (GCP)使用通用S3存储分段类型。
备注 虽然Astra控制中心支持将Amazon S3作为通用S3存储分段提供商、但Astra控制中心可能不支持声称支持Amazon S3的所有对象存储供应商。
步骤
  1. 在左侧导航区域中,选择 * 桶 * 。

  2. 选择 * 添加 * 。

  3. 选择存储分段类型。

    备注 添加存储分段时,请选择正确的存储分段提供程序,并为该提供程序提供正确的凭据。例如, UI 接受 NetApp ONTAP S3 作为类型并接受 StorageGRID 凭据;但是,这将发生原因使使用此存储分段执行所有未来应用程序备份和还原失败。
  4. 输入现有存储分段名称和可选的问题描述。

    提示 存储分段名称和问题描述 显示为备份位置、您可以稍后在创建备份时选择该位置。此名称也会在配置保护策略期间显示。
  5. 输入 S3 端点的名称或 IP 地址。

  6. 在*选择凭据*下、选择*添加*或*使用现有*选项卡。

    • 如果选择*添加*:

      1. 在 Astra Control 中输入凭据名称,以便与其他凭据区分开。

      2. 通过粘贴剪贴板中的内容来输入访问 ID 和机密密钥。

    • 如果选择*使用现有*:

      1. 选择要用于存储分段的现有凭据。

  7. 选择 …​ Add

    备注 添加存储分段时、Astra Control会使用默认存储分段指示符标记一个存储分段。您创建的第一个存储分段将成为默认存储分段。添加分段时、您可以稍后决定添加 "设置另一个默认存储分段"

下一步是什么?

现在、您已登录并将集群添加到Astra控制中心、即可开始使用Astra控制中心的应用程序数据管理功能。

了解更多信息