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

使用标准流程安装 Astra 控制中心

贡献者

要安装 Astra 控制中心,请从 NetApp 支持站点下载安装包,并执行以下步骤在您的环境中安装 Astra 控制中心操作员和 Astra 控制中心。您可以使用此操作步骤在互联网连接或通风环境中安装 Astra 控制中心。

对于 Red Hat OpenShift 环境,您还可以使用 "备用操作步骤" 使用 OpenShift OperatorHub 安装 Astra Control Center 。

您需要的内容
关于此任务

Astra 控制中心安装过程将执行以下操作:

  • 将 Astra 组件安装到 NetApp-Accc (或自定义命名)命名空间中。

  • 创建默认帐户。

  • 为此 Astra 控制中心实例建立默认管理用户电子邮件地址和默认一次性密码 Acc-<UID_of_installation> 。系统会为此用户分配所有者角色,首次登录到 UI 时需要此用户。

  • 帮助您确定所有 Astra 控制中心 Pod 是否正在运行。

  • 安装 Astra UI 。

备注 如果您使用的是 Red Hat 的 Podman 而不是 Docker 引擎,则可以使用 Podman 命令代替 Docker 命令。
重要说明 请勿在整个安装过程中执行以下命令以避免删除所有 Astra 控制中心 Pod : kubectl delete -f Astra_control_center_operator_deploy.yaml
步骤

要安装 Astra 控制中心,请执行以下步骤:

执行以完成部署 "设置任务"

下载 Astra Control Center 捆绑包

  1. 从下载 Astra 控制中心捆绑包(Astra-control-center-[version].tar.gz"NetApp 支持站点"

  2. 从下载 Astra 控制中心证书和密钥的 zip "NetApp 支持站点"

  3. (可选)使用以下命令验证捆绑包的签名:

    openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz

打开软件包的包装并更改目录

  1. 提取映像:

    tar -vxzf astra-control-center-[version].tar.gz
  2. 更改为 Astra 目录。

    cd astra-control-center-[version]

将映像添加到本地注册表

  1. 将 Astra Control Center 映像目录中的文件添加到本地注册表中。

    备注 有关自动加载映像的信息,请参见下面的示例脚本。
    1. 登录到注册表:

      Docker :

      docker login [your_registry_path]

      播客:

      podman login [your_registry_path]
    2. 使用适当的脚本加载映像,标记映像,并将这些映像推送到本地注册表:

      Docker :

      export REGISTRY=[Docker_registry_path]
      for astraImageFile in $(ls images/*.tar) ; do
        # Load to local cache. And store the name of the loaded image trimming the 'Loaded images: '
        astraImage=$(docker load --input ${astraImageFile} | sed 's/Loaded image: //')
        astraImage=$(echo ${astraImage} | sed 's!localhost/!!')
        # Tag with local image repo.
        docker tag ${astraImage} ${REGISTRY}/${astraImage}
        # Push to the local repo.
        docker push ${REGISTRY}/${astraImage}
      done

      播客:

    export REGISTRY=[Registry_path]
    for astraImageFile in $(ls images/*.tar) ; do
      # Load to local cache. And store the name of the loaded image trimming the 'Loaded images: '
      astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image(s): //')
      astraImage=$(echo ${astraImage} | sed 's!localhost/!!')
      # Tag with local image repo.
      podman tag ${astraImage} ${REGISTRY}/${astraImage}
      # Push to the local repo.
      podman push ${REGISTRY}/${astraImage}
    done

为具有身份验证要求的注册表设置命名空间和密钥

  1. 如果您使用的注册表需要身份验证,则需要执行以下操作:

    1. 创建 NetApp-Acc-operator 命名空间:

      kubectl create ns netapp-acc-operator

      响应:

      namespace/netapp-acc-operator created
    2. NetApp-Acc-operator 命名空间创建一个密钥。添加 Docker 信息并运行以下命令:

      kubectl create secret docker-registry astra-registry-cred -n netapp-acc-operator --docker-server=[your_registry_path] --docker-username=[username] --docker-password=[token]

      响应示例:

      secret/astra-registry-cred created
    3. 创建 NetApp-Accc (或自定义命名)命名空间。

      kubectl create ns [netapp-acc or custom namespace]

      响应示例:

      namespace/netapp-acc created
    4. NetApp-Accc (或自定义命名)命名空间创建一个密钥。添加 Docker 信息并运行以下命令:

      kubectl create secret docker-registry astra-registry-cred -n [netapp-acc or custom namespace] --docker-server=[your_registry_path] --docker-username=[username] --docker-password=[token]

      响应

    secret/astra-registry-cred created

安装 Astra 控制中心操作员

  1. 编辑 Astra 控制中心操作员部署 YAML (Astra_control_center_operator_deploy.yaml )以参考您的本地注册表和机密。

    vim astra_control_center_operator_deploy.yaml
    1. 如果您使用的注册表需要身份验证,请将默认行 imagePullSecs : [] 替换为以下内容:

      imagePullSecrets:
      - name: <name_of_secret_with_creds_to_local_registry>
    2. Kube-RBAC 代理 映像的 ` [yor_registry_path]` 更改为将映像推入的注册表路径 上一步

    3. Acc-operator-controller-manager 映像的 ` [yor_registry_path]` 更改为在中推送映像的注册表路径 上一步

    4. (对于使用 Astra 数据存储预览版的安装)请参见有关的此已知问题描述 "存储类配置程序以及需要对 YAML 进行的其他更改"

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          control-plane: controller-manager
        name: acc-operator-controller-manager
        namespace: netapp-acc-operator
      spec:
        replicas: 1
        selector:
          matchLabels:
            control-plane: controller-manager
        template:
          metadata:
            labels:
              control-plane: controller-manager
          spec:
            containers:
            - args:
              - --secure-listen-address=0.0.0.0:8443
              - --upstream=http://127.0.0.1:8080/
              - --logtostderr=true
              - --v=10
              image: [your_registry_path]/kube-rbac-proxy:v4.8.0
              name: kube-rbac-proxy
              ports:
              - containerPort: 8443
                name: https
            - args:
              - --health-probe-bind-address=:8081
              - --metrics-bind-address=127.0.0.1:8080
              - --leader-elect
              command:
              - /manager
              env:
              - name: ACCOP_LOG_LEVEL
                value: "2"
              image: [your_registry_path]/acc-operator:[version x.y.z]
              imagePullPolicy: IfNotPresent
            imagePullSecrets: []
  2. 安装 Astra 控制中心操作员:

    kubectl apply -f astra_control_center_operator_deploy.yaml

    响应示例:

    namespace/netapp-acc-operator created
    customresourcedefinition.apiextensions.k8s.io/astracontrolcenters.astra.netapp.io created
    role.rbac.authorization.k8s.io/acc-operator-leader-election-role created
    clusterrole.rbac.authorization.k8s.io/acc-operator-manager-role created
    clusterrole.rbac.authorization.k8s.io/acc-operator-metrics-reader created
    clusterrole.rbac.authorization.k8s.io/acc-operator-proxy-role created
    rolebinding.rbac.authorization.k8s.io/acc-operator-leader-election-rolebinding created
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-manager-rolebinding created
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-proxy-rolebinding created
    configmap/acc-operator-manager-config created
    service/acc-operator-controller-manager-metrics-service created
    deployment.apps/acc-operator-controller-manager created

配置 Astra 控制中心

  1. 编辑 Astra 控制中心自定义资源( CR )文件(Astra_control_center_min.yaml )以进行帐户, AutoSupport ,注册表和其他必要配置:

    备注 如果您的环境需要其他自定义设置,您可以使用 Astra_control_center.yaml 作为替代 CR 。Astra_control_center_min.yaml 是默认 CR ,适用于大多数安装。
    vim astra_control_center_min.yaml
    备注 首次部署 Astra 控制中心后,无法更改 CR 配置的属性。
    重要说明 如果您使用的注册表不需要授权,则必须删除 imageRegistry 中的 secret 行,否则安装将失败。
    1. 将 ` [yor_registry_path]` 更改为上一步中用于推送映像的注册表路径。

    2. accountName 字符串更改为要与帐户关联的名称。

    3. astraAddress 字符串更改为要在浏览器中使用的 FQDN 以访问 Astra 。请勿在此地址中使用 http : //https : // 。复制此 FQDN 以在中使用 后续步骤

    4. email 字符串更改为默认的初始管理员地址。复制此电子邮件地址以在中使用 后续步骤

    5. 将 AutoSupport 的 已注册 更改为 false 对于无 Internet 连接的站点,或者将已连接站点的 true 保留。

    6. (可选)添加与帐户关联的用户的名字 firstName 和姓氏 lastName 。您可以在用户界面中立即或稍后执行此步骤。

    7. (可选)如果您的安装需要,请将 storageClass 值更改为另一个 Astra Trident StorageClass 资源。

    8. (对于使用 Astra 数据存储预览版的安装)请参见适用于的此已知问题描述 "需要进行的其他更改" 向 YAML 报告。

    apiVersion: astra.netapp.io/v1
    kind: AstraControlCenter
    metadata:
      name: astra
    spec:
      accountName: "Example"
      astraVersion: "ASTRA_VERSION"
      astraAddress: "astra.example.com"
      autoSupport:
        enrolled: true
      email: "[admin@example.com]"
      firstName: "SRE"
      lastName: "Admin"
      imageRegistry:
        name: "[your_registry_path]"
        secret: "astra-registry-cred"
      storageClass: "ontap-gold"

完成 Astra 控制中心和操作员安装

  1. 如果您在上一步中尚未创建,请创建 NetApp-Accc (或自定义)命名空间:

    kubectl create ns [netapp-acc or custom namespace]

    响应示例:

    namespace/netapp-acc created
  2. NetApp-Accc (或您的自定义)命名空间中安装 Astra Control Center :

    kubectl apply -f astra_control_center_min.yaml -n [netapp-acc or custom namespace]

    响应示例:

    astracontrolcenter.astra.netapp.io/astra created

验证系统状态

备注 如果您更喜欢使用 OpenShift ,则可以使用同等的 oc 命令执行验证步骤。
  1. 验证是否已成功安装所有系统组件。

    kubectl get pods -n [netapp-acc or custom namespace]

    每个 POD 的状态应为 running 。部署系统 Pod 可能需要几分钟的时间。

    响应示例:

    NAME                                       READY   STATUS    RESTARTS   AGE
    acc-helm-repo-5f75c5f564-bzqmt             1/1     Running   0          11m
    activity-6b8f7cccb9-mlrn4                  1/1     Running   0          9m2s
    api-token-authentication-6hznt             1/1     Running   0          8m50s
    api-token-authentication-qpfgb             1/1     Running   0          8m50s
    api-token-authentication-sqnb7             1/1     Running   0          8m50s
    asup-5578bbdd57-dxkbp                      1/1     Running   0          9m3s
    authentication-56bff4f95d-mspmq            1/1     Running   0          7m31s
    bucketservice-6f7968b95d-9rrrl             1/1     Running   0          8m36s
    cert-manager-5f6cf4bc4b-82khn              1/1     Running   0          6m19s
    cert-manager-cainjector-76cf976458-sdrbc   1/1     Running   0          6m19s
    cert-manager-webhook-5b7896bfd8-2n45j      1/1     Running   0          6m19s
    cloud-extension-749d9f684c-8bdhq           1/1     Running   0          9m6s
    cloud-insights-service-7d58687d9-h5tzw     1/1     Running   2          8m56s
    composite-compute-968c79cb5-nv7l4          1/1     Running   0          9m11s
    composite-volume-7687569985-jg9gg          1/1     Running   0          8m33s
    credentials-5c9b75f4d6-nx9cz               1/1     Running   0          8m42s
    entitlement-6c96fd8b78-zt7f8               1/1     Running   0          8m28s
    features-5f7bfc9f68-gsjnl                  1/1     Running   0          8m57s
    fluent-bit-ds-h88p7                        1/1     Running   0          7m22s
    fluent-bit-ds-krhnj                        1/1     Running   0          7m23s
    fluent-bit-ds-l5bjj                        1/1     Running   0          7m22s
    fluent-bit-ds-lrclb                        1/1     Running   0          7m23s
    fluent-bit-ds-s5t4n                        1/1     Running   0          7m23s
    fluent-bit-ds-zpr6v                        1/1     Running   0          7m22s
    graphql-server-5f5976f4bd-vbb4z            1/1     Running   0          7m13s
    identity-56f78b8f9f-8h9p9                  1/1     Running   0          8m29s
    influxdb2-0                                1/1     Running   0          11m
    krakend-6f8d995b4d-5khkl                   1/1     Running   0          7m7s
    license-5b5db87c97-jmxzc                   1/1     Running   0          9m
    login-ui-57b57c74b8-6xtv7                  1/1     Running   0          7m10s
    loki-0                                     1/1     Running   0          11m
    monitoring-operator-9dbc9c76d-8znck        2/2     Running   0          7m33s
    nats-0                                     1/1     Running   0          11m
    nats-1                                     1/1     Running   0          10m
    nats-2                                     1/1     Running   0          10m
    nautilus-6b9d88bc86-h8kfb                  1/1     Running   0          8m6s
    nautilus-6b9d88bc86-vn68r                  1/1     Running   0          8m35s
    openapi-b87d77dd8-5dz9h                    1/1     Running   0          9m7s
    polaris-consul-consul-5ljfb                1/1     Running   0          11m
    polaris-consul-consul-s5d5z                1/1     Running   0          11m
    polaris-consul-consul-server-0             1/1     Running   0          11m
    polaris-consul-consul-server-1             1/1     Running   0          11m
    polaris-consul-consul-server-2             1/1     Running   0          11m
    polaris-consul-consul-twmpq                1/1     Running   0          11m
    polaris-mongodb-0                          2/2     Running   0          11m
    polaris-mongodb-1                          2/2     Running   0          10m
    polaris-mongodb-2                          2/2     Running   0          10m
    polaris-ui-84dc87847f-zrg8w                1/1     Running   0          7m12s
    polaris-vault-0                            1/1     Running   0          11m
    polaris-vault-1                            1/1     Running   0          11m
    polaris-vault-2                            1/1     Running   0          11m
    public-metrics-657698b66f-67pgt            1/1     Running   0          8m47s
    storage-backend-metrics-6848b9fd87-w7x8r   1/1     Running   0          8m39s
    storage-provider-5ff5868cd5-r9hj7          1/1     Running   0          8m45s
    telegraf-ds-dw4hg                          1/1     Running   0          7m23s
    telegraf-ds-k92gn                          1/1     Running   0          7m23s
    telegraf-ds-mmxjl                          1/1     Running   0          7m23s
    telegraf-ds-nhs8s                          1/1     Running   0          7m23s
    telegraf-ds-rj7lw                          1/1     Running   0          7m23s
    telegraf-ds-tqrkb                          1/1     Running   0          7m23s
    telegraf-rs-9mwgj                          1/1     Running   0          7m23s
    telemetry-service-56c49d689b-ffrzx         1/1     Running   0          8m42s
    tenancy-767c77fb9d-g9ctv                   1/1     Running   0          8m52s
    traefik-5857d87f85-7pmx8                   1/1     Running   0          6m49s
    traefik-5857d87f85-cpxgv                   1/1     Running   0          5m34s
    traefik-5857d87f85-lvmlb                   1/1     Running   0          4m33s
    traefik-5857d87f85-t2xlk                   1/1     Running   0          4m33s
    traefik-5857d87f85-v9wpf                   1/1     Running   0          7m3s
    trident-svc-595f84dd78-zb8l6               1/1     Running   0          8m54s
    vault-controller-86c94fbf4f-krttq          1/1     Running   0          9m24s
  2. (可选)为确保安装完成,您可以使用以下命令查看 Acc-operator 日志。

    kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
  3. 当所有 Pod 运行时,通过检索 Astra 控制中心操作员安装的 AstraControlCenter 实例来验证安装是否成功。

    kubectl get acc -o yaml -n [netapp-acc or custom namespace]
  4. s响应中的 tatus.deploymentState D字段,查看 eploy 值。如果部署失败,则会显示一条错误消息。

    备注 您将在下一步中使用 uuid
    name: astra
       namespace: netapp-acc
       resourceVersion: "104424560"
       selfLink: /apis/astra.netapp.io/v1/namespaces/netapp-acc/astracontrolcenters/astra
       uid: 9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f
     spec:
       accountName: Example
       astraAddress: astra.example.com
       astraVersion: 21.12.60
       autoSupport:
         enrolled: true
         url: https://support.netapp.com/asupprod/post/1.0/postAsup
       crds: {}
       email: admin@example.com
       firstName: SRE
       imageRegistry:
         name: registry_name/astra
         secret: astra-registry-cred
       lastName: Admin
     status:
       accConditionHistory:
         items:
         - astraVersion: 21.12.60
           condition:
             lastTransitionTime: "2021-11-23T02:23:59Z"
             message: Deploying is currently in progress.
             reason: InProgress
             status: "False"
             type: Ready
           generation: 2
           observedSpec:
             accountName: Example
             astraAddress: astra.example.com
             astraVersion: 21.12.60
             autoSupport:
               enrolled: true
               url: https://support.netapp.com/asupprod/post/1.0/postAsup
             crds: {}
             email: admin@example.com
             firstName: SRE
             imageRegistry:
               name: registry_name/astra
               secret: astra-registry-cred
             lastName: Admin
           timestamp: "2021-11-23T02:23:59Z"
         - astraVersion: 21.12.60
           condition:
             lastTransitionTime: "2021-11-23T02:23:59Z"
             message: Deploying is currently in progress.
             reason: InProgress
             status: "True"
             type: Deploying
           generation: 2
           observedSpec:
             accountName: Example
             astraAddress: astra.example.com
             astraVersion: 21.12.60
             autoSupport:
               enrolled: true
               url: https://support.netapp.com/asupprod/post/1.0/postAsup
             crds: {}
             email: admin@example.com
             firstName: SRE
             imageRegistry:
               name: registry_name/astra
               secret: astra-registry-cred
             lastName: Admin
           timestamp: "2021-11-23T02:23:59Z"
         - astraVersion: 21.12.60
           condition:
             lastTransitionTime: "2021-11-23T02:29:41Z"
             message: Post Install was successful
             observedGeneration: 2
             reason: Complete
             status: "True"
             type: PostInstallComplete
           generation: 2
           observedSpec:
             accountName: Example
             astraAddress: astra.example.com
             astraVersion: 21.12.60
             autoSupport:
               enrolled: true
               url: https://support.netapp.com/asupprod/post/1.0/postAsup
             crds: {}
             email: admin@example.com
             firstName: SRE
             imageRegistry:
               name: registry_name/astra
               secret: astra-registry-cred
             lastName: Admin
           timestamp: "2021-11-23T02:29:41Z"
         - astraVersion: 21.12.60
           condition:
             lastTransitionTime: "2021-11-23T02:29:41Z"
             message: Deploying succeeded.
             reason: Complete
             status: "False"
             type: Deploying
           generation: 2
           observedGeneration: 2
           observedSpec:
             accountName: Example
             astraAddress: astra.example.com
             astraVersion: 21.12.60
             autoSupport:
               enrolled: true
               url: https://support.netapp.com/asupprod/post/1.0/postAsup
             crds: {}
             email: admin@example.com
             firstName: SRE
             imageRegistry:
               name: registry_name/astra
               secret: astra-registry-cred
             lastName: Admin
           observedVersion: 21.12.60
           timestamp: "2021-11-23T02:29:41Z"
         - astraVersion: 21.12.60
           condition:
             lastTransitionTime: "2021-11-23T02:29:41Z"
             message: Astra is deployed
             reason: Complete
             status: "True"
             type: Deployed
           generation: 2
           observedGeneration: 2
           observedSpec:
             accountName: Example
             astraAddress: astra.example.com
             astraVersion: 21.12.60
             autoSupport:
               enrolled: true
               url: https://support.netapp.com/asupprod/post/1.0/postAsup
             crds: {}
             email: admin@example.com
             firstName: SRE
             imageRegistry:
               name: registry_name/astra
               secret: astra-registry-cred
             lastName: Admin
           observedVersion: 21.12.60
           timestamp: "2021-11-23T02:29:41Z"
         - astraVersion: 21.12.60
           condition:
             lastTransitionTime: "2021-11-23T02:29:41Z"
             message: Astra is deployed
             reason: Complete
             status: "True"
             type: Ready
           generation: 2
           observedGeneration: 2
           observedSpec:
             accountName: Example
             astraAddress: astra.example.com
             astraVersion: 21.12.60
             autoSupport:
               enrolled: true
               url: https://support.netapp.com/asupprod/post/1.0/postAsup
             crds: {}
             email: admin@example.com
             firstName: SRE
             imageRegistry:
               name: registry_name/astra
               secret: astra-registry-cred
             lastName: Admin
           observedVersion: 21.12.60
           timestamp: "2021-11-23T02:29:41Z"
       certManager: deploy
       cluster:
         type: OCP
         vendorVersion: 4.7.5
         version: v1.20.0+bafe72f
       conditions:
       - lastTransitionTime: "2021-12-08T16:19:55Z"
         message: Astra is deployed
         reason: Complete
         status: "True"
         type: Ready
       - lastTransitionTime: "2021-12-08T16:19:55Z"
         message: Deploying succeeded.
         reason: Complete
         status: "False"
         type: Deploying
       - lastTransitionTime: "2021-12-08T16:19:53Z"
         message: Post Install was successful
         observedGeneration: 2
         reason: Complete
         status: "True"
         type: PostInstallComplete
       - lastTransitionTime: "2021-12-08T16:19:55Z"
         message: Astra is deployed
         reason: Complete
         status: "True"
         type: Deployed
       deploymentState: Deployed
       observedGeneration: 2
       observedSpec:
         accountName: Example
         astraAddress: astra.example.com
         astraVersion: 21.12.60
         autoSupport:
           enrolled: true
           url: https://support.netapp.com/asupprod/post/1.0/postAsup
         crds: {}
         email: admin@example.com
         firstName: SRE
         imageRegistry:
           name: registry_name/astra
           secret: astra-registry-cred
         lastName: Admin
       observedVersion: 21.12.60
       postInstall: Complete
       uuid: 9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f
    kind: List
    metadata:
     resourceVersion: ""
     selfLink: ""
  5. 要获取登录到 Astra 控制中心时要使用的一次性密码,请从上一步的响应中复制 status.uuid 值。密码为 Acc- ,后跟 UUID 值(Acc-[UUUUUID] 或在本示例中为 Acc-c49008a5-4ef1-4c5d-a53e-830daf994116 )。

登录到 Astra 控制中心 UI

安装 Astra 控制中心后,您将更改默认管理员的密码并登录到 Astra 控制中心 UI 信息板。

步骤
  1. 在浏览器中,输入在 Astra_control_center_min.YAML CR when 的 AstraAddress 中使用的 FQDN 您安装了 Astra 控制中心

  2. 出现提示时接受自签名证书。

    备注 您可以在登录后创建自定义证书。
  3. 在 Astra Control Center 登录页面上,在 Astra_control_center_min.yaml CR when 中输入您用于 email 的值 您安装了 Astra 控制中心,后跟一次性密码(Acc-UUID )。

    备注 如果您输入的密码三次不正确,管理员帐户将锁定 15 分钟。
  4. 选择 * 登录 * 。

  5. 根据提示更改密码。

    备注 如果您是首次登录,但忘记了密码,并且尚未创建任何其他管理用户帐户,请联系 NetApp 支持部门以获得密码恢复帮助。
  6. (可选)删除现有自签名 TLS 证书并将其替换为 "由证书颁发机构( CA )签名的自定义 TLS 证书"

对安装进行故障排除

如果任何服务处于 Error 状态,您可以检查日志。查找 400 到 500 范围内的 API 响应代码。这些信息表示发生故障的位置。

步骤
  1. 要检查 Astra 控制中心操作员日志,请输入以下内容:

    kubectl logs --follow -n netapp-acc-operator $(kubectl get pods -n netapp-acc-operator -o name)  -c manager

下一步行动

执行以完成部署 "设置任务"