安装 Astra 控制中心
要安装 Astra 控制中心,请执行以下步骤:
安装 Astra 控制中心
要安装 Astra 控制中心,请从 NetApp 支持站点下载安装包,并执行一系列命令在您的环境中安装 Astra 控制中心操作员和 Astra 控制中心。您可以使用此操作步骤在互联网连接或通风环境中安装 Astra 控制中心。
-
在 OpenShift 集群中,确保所有集群操作员均处于运行状况良好的状态(
Available
istrue
):oc get clusteroperators
-
在 OpenShift 集群中,确保所有 API 服务均处于运行状况良好的状态(
Available
istrue
):oc get apiservices
Astra 控制中心安装过程将执行以下操作:
-
将 Astra 组件安装到
NetApp-Accc
(或自定义命名)命名空间中。 -
创建默认帐户。
-
为此 Astra 控制中心实例建立默认管理用户电子邮件地址和默认一次性密码
Acc-<UID_of_installation>
。系统会为此用户分配所有者角色,首次登录到 UI 时需要此用户。 -
帮助您确定所有 Astra 控制中心 Pod 是否正在运行。
-
安装 Astra UI 。
如果您使用的是 Red Hat 的 Podman 存储库,则可以使用 Podman 命令代替 Docker 命令。 |
-
从下载 Astra 控制中心捆绑包(
Astra-control-center-[version].tar.gz
) "NetApp 支持站点"。 -
从下载 Astra 控制中心证书和密钥的 zip "NetApp 支持站点"。
-
(可选)使用以下命令验证捆绑包的签名:
openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz
-
提取映像:
tar -vxzf astra-control-center-[version].tar.gz
-
更改为 Astra 目录。
cd astra-control-center-[version]
-
将 Astra Control Center 映像目录中的文件添加到本地注册表中。
有关自动加载映像的信息,请参见下面的示例脚本。 -
登录到 Docker 注册表:
docker login [Docker_registry_path]
-
将映像加载到 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
-
-
(仅适用于具有身份验证要求的注册表)如果您使用的注册表需要身份验证,则需要执行以下操作:
-
创建
NetApp-Acc-operator
命名空间:kubectl create ns netapp-acc-operator
响应:
namespace/netapp-acc-operator created
-
为
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
-
创建
NetApp-Accc
(或自定义命名)命名空间。kubectl create ns [netapp-acc or custom]
响应示例:
namespace/netapp-acc created
-
为
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
-
-
编辑 Astra 控制中心操作员部署 YAML (
Astra_control_center_operator_deploy.yaml
)以参考您的本地注册表和机密。vim astra_control_center_operator_deploy.yaml
-
如果您使用的注册表需要身份验证,请将默认行
imagePullSecs : []
替换为以下内容:imagePullSecrets: - name: astra-registry-cred
-
将
Kube-RBAC
映像的 ` [docker_registry_path]` 更改为上一步推送映像的注册表路径。 -
将
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: []
-
-
编辑 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 配置的属性。 -
将 ` Docker _registry_path]` 更改为上一步推送映像的注册表路径。
-
将
accountName
字符串更改为要与帐户关联的名称。 -
将
astraAddress
字符串更改为要在浏览器中使用的 FQDN 以访问 Astra 。请勿在此地址中使用http : //
或https : //
。复制此 FQDN 以在中使用 后续步骤。 -
将
email
字符串更改为默认的初始管理员地址。复制此电子邮件地址以在中使用 后续步骤。 -
将 AutoSupport 的
已注册
更改为false
对于无 Internet 连接的站点,或者将已连接站点的true
保留。 -
(可选)添加与帐户关联的用户的名字
firstName
和姓氏lastName
。您可以在用户界面中立即或稍后执行此步骤。 -
(可选)如果您的安装需要,请将
storageClass
值更改为另一个 Trident storageClass 资源。 -
如果您使用的注册表不需要授权,请删除
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"
-
-
安装 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
-
如果您在上一步中尚未创建,请创建
NetApp-Accc
(或自定义)命名空间:kubectl create ns [netapp-acc or custom]
响应示例:
namespace/netapp-acc created
-
运行以下修补程序进行更正 "集群角色绑定"。
-
在
NetApp-Accc
(或您的自定义)命名空间中安装 Astra Control Center :kubectl apply -f astra_control_center_min.yaml -n [netapp-acc or custom]
响应示例:
astracontrolcenter.astra.netapp.io/astra created
-
验证是否已成功安装所有系统组件。
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
-
(可选)为确保安装完成,您可以使用以下命令查看
Acc-operator
日志。kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
-
当所有 Pod 运行时,通过检索由 Acc 操作员安装的 AstraControlCenter 实例来验证安装是否成功。
kubectl get acc -o yaml -n netapp-acc
-
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: ""
-
要获取登录到 Astra 控制中心时要使用的一次性密码,请从上一步的响应中复制
status.uuid
值。密码为Acc-
,后跟 UUID 值(Acc-[UUUUUID]
或在本示例中为Acc-c49008a5-4ef1-4c5d-a53e-830daf994116
)。
登录到 Astra 控制中心 UI
安装完 Accc 后,您将更改默认管理员的密码并登录到 Accc UI 信息板。
-
在浏览器中,输入在
Astra_control_center_min.YAML
CR when 的AstraAddress
中使用的 FQDN 您已安装了 Acc。 -
出现提示时接受自签名证书。
您可以在登录后创建自定义证书。 -
在 Astra Control Center 登录页面上,在
Astra_control_center_min.yaml
CR when 中输入您用于email
的值 您已安装了 Acc,后跟一次性密码(Acc-UUID
)。如果您输入的密码三次不正确,管理员帐户将锁定 15 分钟。 -
选择 * 登录 * 。
-
根据提示更改密码。
如果您是首次登录,但忘记了密码,并且尚未创建任何其他管理用户帐户,请联系 NetApp 支持部门以获得密码恢复帮助。 -
(可选)删除现有自签名 TLS 证书并将其替换为 "由证书颁发机构( CA )签名的自定义 TLS 证书"。
对安装进行故障排除
如果任何服务处于 Error
状态,您可以检查日志。查找 400 到 500 范围内的 API 响应代码。这些信息表示发生故障的位置。
-
要检查 Astra 控制中心操作员日志,请输入以下内容:
kubectl logs --follow -n netapp-acc-operator $(kubectl get pods -n netapp-acc-operator -o name) -c manager
下一步行动
执行以完成部署 "设置任务"。