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

安装 Astra 控制中心

贡献者

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

安装 Astra 控制中心

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

您需要的内容
关于此任务

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

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

  • 创建默认帐户。

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

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

  • 安装 Astra UI 。

备注 如果您使用的是 Red Hat 的 Podman 存储库,则可以使用 Podman 命令代替 Docker 命令。
步骤
  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
  4. 提取映像:

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

    cd astra-control-center-[version]
  6. 将 Astra Control Center 映像目录中的文件添加到本地注册表中。

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

      docker login [Docker_registry_path]
    2. 将映像加载到 Docker 中。

    3. 标记图像。

    4. 将映像推送到本地注册表。

    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
  7. (仅适用于具有身份验证要求的注册表)如果您使用的注册表需要身份验证,则需要执行以下操作:

    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=[Docker_registry_path] --docker-username=[username] --docker-password=[token]

      响应示例:

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

      kubectl create ns [netapp-acc or custom]

      响应示例:

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

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

      响应

    secret/astra-registry-cred created
  8. 编辑 Astra 控制中心操作员部署 YAML (Astra_control_center_operator_deploy.yaml )以参考您的本地注册表和机密。

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

      imagePullSecrets:
      - name: astra-registry-cred
    2. Kube-RBAC 映像的 ` [docker_registry_path]` 更改为上一步推送映像的注册表路径。

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

    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: [Docker_registry_path]/kube-rbac-proxy:v0.5.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: [Docker_registry_path]/acc-operator:[version x.y.z]
            imagePullPolicy: IfNotPresent
          imagePullSecrets: []
  9. 编辑 Astra Control Center 自定义资源( CR )文件(Astra_control_center_min.yaml ):

    vim astra_control_center_min.yaml
    备注 如果您的环境需要其他自定义设置,您可以使用 Astra_control_center.yaml 作为替代 CR 。Astra_control_center_min.yaml 是默认 CR ,适用于大多数安装。
    备注 首次部署 Astra 控制中心后,无法更改 CR 配置的属性。
    1. 将 ` Docker _registry_path]` 更改为上一步推送映像的注册表路径。

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

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

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

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

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

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

    8. 如果您使用的注册表不需要授权,请删除 secret 行。

    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: "[Docker_registry_path]"
        secret: "astra-registry-cred"
      storageClass: "ontap-gold"
  10. 安装 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
  11. 如果您在上一步中尚未创建,请创建 NetApp-Accc (或自定义)命名空间:

    kubectl create ns [netapp-acc or custom]

    响应示例:

    namespace/netapp-acc created
  12. 运行以下修补程序进行更正 "集群角色绑定"

  13. NetApp-Accc (或您的自定义)命名空间中安装 Astra Control Center :

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

    响应示例:

    astracontrolcenter.astra.netapp.io/astra created
  14. 验证是否已成功安装所有系统组件。

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

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

    响应示例:

    NAME                                         READY   STATUS    RESTARTS   AGE
    acc-helm-repo-5fdfff786f-gkv6z               1/1     Running   0          4m58s
    activity-649f869bf7-jn5gs                    1/1     Running   0          3m14s
    asup-79846b5fdc-s9s97                        1/1     Running   0          3m10s
    authentication-84c78f5cf4-qhx9t              1/1     Running   0          118s
    billing-9b8496787-v8rzv                      1/1     Running   0          2m54s
    bucketservice-5fb876d9d5-wkfvz               1/1     Running   0          3m26s
    cloud-extension-f9f4f59c6-dz6s6              1/1     Running   0          3m
    cloud-insights-service-5676b8c6d4-6q7lv      1/1     Running   0          2m52s
    composite-compute-7dcc9c6d6c-lxdr6           1/1     Running   0          2m50s
    composite-volume-74dbfd7577-cd42b            1/1     Running   0          3m2s
    credentials-75dbf46f9d-5qm2b                 1/1     Running   0          3m32s
    entitlement-6cf875cb48-gkvhp                 1/1     Running   0          3m12s
    features-74fd97bb46-vss2n                    1/1     Running   0          3m6s
    fluent-bit-ds-2g9jb                          1/1     Running   0          113s
    fluent-bit-ds-5tg5h                          1/1     Running   0          113s
    fluent-bit-ds-qfxb8                          1/1     Running   0          113s
    graphql-server-7769f98b86-p4qrv              1/1     Running   0          90s
    identity-566c566cd5-ntfj6                    1/1     Running   0          3m16s
    influxdb2-0                                  1/1     Running   0          4m43s
    krakend-5cb8d56978-44q66                     1/1     Running   0          93s
    license-66cbbc6f48-27kgf                     1/1     Running   0          3m4s
    login-ui-584f7fd84b-dmdrp                    1/1     Running   0          87s
    loki-0                                       1/1     Running   0          4m44s
    metrics-ingestion-service-6dcfddf45f-mhnvh   1/1     Running   0          3m8s
    monitoring-operator-78d67b4d4-nxs6v          2/2     Running   0          116s
    nats-0                                       1/1     Running   0          4m40s
    nats-1                                       1/1     Running   0          4m26s
    nats-2                                       1/1     Running   0          4m15s
    nautilus-9b664bc55-rn9t8                     1/1     Running   0          2m56s
    openapi-dc5ddfb7d-6q8vh                      1/1     Running   0          3m20s
    polaris-consul-consul-5tjs7                  1/1     Running   0          4m43s
    polaris-consul-consul-5wbnx                  1/1     Running   0          4m43s
    polaris-consul-consul-bfvl7                  1/1     Running   0          4m43s
    polaris-consul-consul-server-0               1/1     Running   0          4m43s
    polaris-consul-consul-server-1               1/1     Running   0          4m43s
    polaris-consul-consul-server-2               1/1     Running   0          4m43s
    polaris-mongodb-0                            2/2     Running   0          4m49s
    polaris-mongodb-1                            2/2     Running   0          4m22s
    polaris-mongodb-arbiter-0                    1/1     Running   0          4m49s
    polaris-ui-6648875998-75d98                  1/1     Running   0          92s
    polaris-vault-0                              1/1     Running   0          4m41s
    polaris-vault-1                              1/1     Running   0          4m41s
    polaris-vault-2                              1/1     Running   0          4m41s
    storage-backend-metrics-69546f4fc8-m7lfj     1/1     Running   0          3m22s
    storage-provider-5d46f755b-qfv89             1/1     Running   0          3m30s
    support-5dc579865c-z4pwq                     1/1     Running   0          3m18s
    telegraf-ds-4452f                            1/1     Running   0          113s
    telegraf-ds-gnqxl                            1/1     Running   0          113s
    telegraf-ds-jhw74                            1/1     Running   0          113s
    telegraf-rs-gg6m4                            1/1     Running   0          113s
    telemetry-service-6dcc875f98-zft26           1/1     Running   0          3m24s
    tenancy-7f7f77f699-q7l6w                     1/1     Running   0          3m28s
    traefik-769d846f9b-c9crt                     1/1     Running   0          83s
    traefik-769d846f9b-l9n4k                     1/1     Running   0          67s
    trident-svc-8649c8bfc5-pdj79                 1/1     Running   0          2m57s
    vault-controller-745879f98b-49c5v            1/1     Running   0          4m51s
  15. (可选)为确保安装完成,您可以使用以下命令查看 Acc-operator 日志。

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

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

    备注 您将在下一步中使用 uuid
    apiVersion: v1
    items:
    - apiVersion: astra.netapp.io/v1
      kind: AstraControlCenter
      metadata:
        creationTimestamp: "2021-07-28T21:36:49Z"
        finalizers:
        - astracontrolcenter.netapp.io/finalizer
       generation: 1
        name: astra
        namespace: netapp-acc
        resourceVersion: "27797604"
        selfLink: /apis/astra.netapp.io/v1/namespaces/netapp-acc/astracontrolcenters/astra
        uid: 61cd8b65-047b-431a-ba35-510afcb845f1
      spec:
        accountName: Example
        astraAddress: astra.example.com
        astraResourcesScaler: "Off"
        astraVersion: 21.08.52
        autoSupport:
          enrolled: false
        email: admin@example.com
        firstName: SRE
        lastName: Admin
        imageRegistry:
          name: registry_name/astra
      status:
        certManager: deploy
        deploymentState: Deployed
        observedGeneration: 1
        observedVersion: 21.08.52
        postInstall: Complete
        uuid: c49008a5-4ef1-4c5d-a53e-830daf994116
    kind: List
    metadata:
      resourceVersion: ""
      selfLink: ""
  18. 要获取登录到 Astra 控制中心时要使用的一次性密码,请从上一步的响应中复制 status.uuid 值。密码为 Acc- ,后跟 UUID 值(Acc-[UUUUUID] 或在本示例中为 Acc-c49008a5-4ef1-4c5d-a53e-830daf994116 )。

登录到 Astra 控制中心 UI

安装完 Accc 后,您将更改默认管理员的密码并登录到 Accc UI 信息板。

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

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

    备注 您可以在登录后创建自定义证书。
  3. 在 Astra Control Center 登录页面上,在 Astra_control_center_min.yaml CR when 中输入您用于 email 的值 您已安装了 Acc,后跟一次性密码(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

下一步行动

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