Installare Astra Control Center utilizzando il processo standard
Per installare Astra Control Center, scaricare il pacchetto di installazione dal NetApp Support Site ed eseguire la procedura seguente per installare Astra Control Center Operator e Astra Control Center nel proprio ambiente. È possibile utilizzare questa procedura per installare Astra Control Center in ambienti connessi a Internet o con connessione ad aria.
Per gli ambienti Red Hat OpenShift, è possibile utilizzare anche un "procedura alternativa" Per installare Astra Control Center utilizzando OpenShift OperatorHub.
-
Assicurarsi che tutti gli operatori del cluster siano in buono stato e disponibili.
Esempio di OpenShift:
oc get clusteroperators
-
Assicurarsi che tutti i servizi API siano in buono stato e disponibili:
Esempio di OpenShift:
oc get apiservices
-
Hai creato un indirizzo FQDN per Astra Control Center nel tuo data center.
Il processo di installazione di Astra Control Center esegue le seguenti operazioni:
-
Installa i componenti Astra in
netapp-acc
namespace (o personalizzato). -
Crea un account predefinito.
-
Stabilisce un indirizzo e-mail predefinito per l’utente amministrativo e una password monouso predefinita di
ACC-<UUID_of_installation>
Per questo caso di Astra Control Center. A questo utente viene assegnato il ruolo Owner (Proprietario) nel sistema ed è necessario per il primo accesso all’interfaccia utente. -
Consente di determinare se tutti i pod Astra Control Center sono in esecuzione.
-
Installa l’interfaccia utente Astra.
I comandi Podman possono essere utilizzati al posto dei comandi Docker se si utilizza il Podman di Red Hat invece di Docker Engine. |
Non eseguire il seguente comando durante l’intero processo di installazione per evitare di eliminare tutti i pod di Astra Control Center: kubectl delete -f astra_control_center_operator_deploy.yaml
|
Per installare Astra Control Center, procedere come segue:
Completare l’implementazione eseguendo "attività di installazione".
Scarica il bundle Astra Control Center
-
Scarica il bundle Astra Control Center (
astra-control-center-[version].tar.gz
) da "Sito di supporto NetApp". -
Scarica la zip dei certificati e delle chiavi di Astra Control Center dal "Sito di supporto NetApp".
-
(Facoltativo) utilizzare il seguente comando per verificare la firma del bundle:
openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz
Disimballare il bundle e modificare la directory
-
Estrarre le immagini:
tar -vxzf astra-control-center-[version].tar.gz
-
Passare alla directory Astra.
cd astra-control-center-[version]
Aggiungere le immagini al registro locale
-
Aggiungere i file nella directory dell’immagine di Astra Control Center al registro locale.
Vedere gli script di esempio per il caricamento automatico delle immagini di seguito. -
Accedere al Registro di sistema:
Docker:
docker login [your_registry_path]
Podman:
podman login [your_registry_path]
-
Utilizzare lo script appropriato per caricare le immagini, contrassegnare le immagini e inviare le immagini al registro locale:
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
Podman:
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
-
Impostare namespace e secret per i registri con requisiti di autenticazione
-
Se si utilizza un registro che richiede l’autenticazione, è necessario effettuare le seguenti operazioni:
-
Creare il
netapp-acc-operator
spazio dei nomi:kubectl create ns netapp-acc-operator
Risposta:
namespace/netapp-acc-operator created
-
Creare un segreto per
netapp-acc-operator
namespace. Aggiungere informazioni su Docker ed eseguire il seguente comando:kubectl create secret docker-registry astra-registry-cred -n netapp-acc-operator --docker-server=[your_registry_path] --docker-username=[username] --docker-password=[token]
Esempio di risposta:
secret/astra-registry-cred created
-
Creare il
netapp-acc
namespace (o personalizzato).kubectl create ns [netapp-acc or custom namespace]
Esempio di risposta:
namespace/netapp-acc created
-
Creare un segreto per
netapp-acc
namespace (o personalizzato). Aggiungere informazioni su Docker ed eseguire il seguente comando: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]
Risposta
secret/astra-registry-cred created
-
Installare l’operatore del centro di controllo Astra
-
Modificare l’YAML di implementazione dell’operatore di Astra Control Center (
astra_control_center_operator_deploy.yaml
) per fare riferimento al registro locale e al segreto.vim astra_control_center_operator_deploy.yaml
-
Se si utilizza un registro che richiede l’autenticazione, sostituire la riga predefinita di
imagePullSecrets: []
con i seguenti elementi:imagePullSecrets: - name: <name_of_secret_with_creds_to_local_registry>
-
Cambiare
[your_registry_path]
perkube-rbac-proxy
al percorso del registro in cui sono state inviate le immagini in a. passaggio precedente. -
Cambiare
[your_registry_path]
peracc-operator-controller-manager
al percorso del registro in cui sono state inviate le immagini in a. passaggio precedente. -
(Per le installazioni che utilizzano l’anteprima di Astra Data Store) vedere questo problema noto relativo a. "Provisioning delle classi di storage e modifiche aggiuntive da apportare al programma 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: []
-
-
Installare l’operatore del centro di controllo Astra:
kubectl apply -f astra_control_center_operator_deploy.yaml
Esempio di risposta:
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
Configurare Astra Control Center
-
Modificare il file delle risorse personalizzate (CR) di Astra Control Center (
astra_control_center_min.yaml
) Per creare account, AutoSupport, Registro di sistema e altre configurazioni necessarie:Se sono necessarie personalizzazioni aggiuntive per il proprio ambiente, è possibile utilizzare astra_control_center.yaml
Come CR alternativa.astra_control_center_min.yaml
È il CR predefinito ed è adatto per la maggior parte delle installazioni.vim astra_control_center_min.yaml
Le proprietà configurate dal CR non possono essere modificate dopo l’implementazione iniziale di Astra Control Center. Se si utilizza un registro che non richiede autorizzazione, è necessario eliminare secret
linea entroimageRegistry
in caso negativo, l’installazione non riesce.-
Cambiare
[your_registry_path]
al percorso del registro di sistema in cui sono state inviate le immagini nel passaggio precedente. -
Modificare il
accountName
stringa al nome che si desidera associare all’account. -
Modificare il
astraAddress
Stringa all’FQDN che si desidera utilizzare nel browser per accedere ad Astra. Non utilizzarehttp://
oppurehttps://
nell’indirizzo. Copiare questo FQDN per utilizzarlo in un passo successivo. -
Modificare il
email
stringa all’indirizzo iniziale predefinito dell’amministratore. Copiare questo indirizzo e-mail per utilizzarlo in passo successivo. -
Cambiare
enrolled
Per AutoSupport a.false
per i siti senza connettività internet o senza retaintrue
per i siti connessi. -
(Facoltativo) aggiungere un nome
firstName
e cognomelastName
dell’utente associato all’account. È possibile eseguire questo passaggio ora o in un secondo momento all’interno dell’interfaccia utente. -
(Facoltativo) modificare
storageClass
Valore per un’altra risorsa Astra Trident StorageClass, se richiesto dall’installazione. -
(Per le installazioni che utilizzano l’anteprima di Astra Data Store) vedere questo problema noto per "ulteriori modifiche richieste" Al programma 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"
-
Completare l’installazione dell’Astra Control Center e dell’operatore
-
Se non lo si è già fatto in un passaggio precedente, creare il
netapp-acc
namespace (o personalizzato):kubectl create ns [netapp-acc or custom namespace]
Esempio di risposta:
namespace/netapp-acc created
-
Installare Astra Control Center in
netapp-acc
spazio dei nomi (o personalizzato):kubectl apply -f astra_control_center_min.yaml -n [netapp-acc or custom namespace]
Esempio di risposta:
astracontrolcenter.astra.netapp.io/astra created
Verificare lo stato del sistema
Se preferisci utilizzare OpenShift, puoi utilizzare comandi oc paragonabili per le fasi di verifica. |
-
Verificare che tutti i componenti del sistema siano installati correttamente.
kubectl get pods -n [netapp-acc or custom namespace]
Ogni pod deve avere uno stato di
Running
. L’implementazione dei pod di sistema potrebbe richiedere alcuni minuti.Esempio di risposta:
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
-
(Facoltativo) per assicurarsi che l’installazione sia completata, è possibile guardare
acc-operator
registra usando il seguente comando.kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
-
Una volta eseguiti tutti i pod, verificare che l’installazione sia riuscita recuperando
AstraControlCenter
Istanza installata dall’operatore di Astra Control Center.kubectl get acc -o yaml -n [netapp-acc or custom namespace]
-
Controllare
status.deploymentState
nella risposta perDeployed
valore. Se l’implementazione non ha avuto esito positivo, viene visualizzato un messaggio di errore.Verrà utilizzato il uuid
nella fase successiva.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: ""
-
Per ottenere la password monouso da utilizzare quando si accede ad Astra Control Center, copiare il
status.uuid
valore della risposta nella fase precedente. La password èACC-
Seguito dal valore UUID (ACC-[UUID]
oppure, in questo esempio,ACC-c49008a5-4ef1-4c5d-a53e-830daf994116
).
Accedere all’interfaccia utente di Astra Control Center
Dopo aver installato Astra Control Center, si modifica la password dell’amministratore predefinito e si accede alla dashboard dell’interfaccia utente di Astra Control Center.
-
In un browser, immettere l’FQDN utilizzato in
astraAddress
inastra_control_center_min.yaml
CR quando Astra Control Center è stato installato. -
Accettare i certificati autofirmati quando richiesto.
È possibile creare un certificato personalizzato dopo l’accesso. -
Nella pagina di accesso di Astra Control Center, inserire il valore utilizzato per
email
pollastra_control_center_min.yaml
CR quando Astra Control Center è stato installato, seguito dalla password monouso (ACC-[UUID]
).Se si immette una password errata per tre volte, l’account admin viene bloccato per 15 minuti. -
Selezionare Login.
-
Modificare la password quando richiesto.
Se si tratta del primo accesso e si dimentica la password e non sono ancora stati creati altri account utente amministrativi, contattare il supporto NetApp per assistenza per il recupero della password. -
(Facoltativo) rimuovere il certificato TLS autofirmato esistente e sostituirlo con un "Certificato TLS personalizzato firmato da un’autorità di certificazione (CA)".
Risolvere i problemi di installazione
Se uno dei servizi è in Error
stato, è possibile esaminare i registri. Cercare i codici di risposta API nell’intervallo da 400 a 500. Questi indicano il luogo in cui si è verificato un guasto.
-
Per esaminare i registri dell’operatore di Astra Control Center, immettere quanto segue:
kubectl logs --follow -n netapp-acc-operator $(kubectl get pods -n netapp-acc-operator -o name) -c manager
Cosa succederà
Completare l’implementazione eseguendo "attività di installazione".