Installer le centre de contrôle Astra en suivant la procédure standard
Pour installer le centre de contrôle Astra, téléchargez le bundle d'installation sur le site de support NetApp et effectuez les opérations suivantes pour installer l'opérateur du centre de contrôle Astra et le centre de contrôle Astra dans votre environnement. Vous pouvez utiliser cette procédure pour installer Astra Control Center dans des environnements connectés à Internet ou équipés d'un filtre à air.
Pour les environnements Red Hat OpenShift, vous pouvez également utiliser un "autre procédure" Pour installer Astra Control Center à l'aide d'OpenShift OperatorHub.
-
S'assurer que tous les opérateurs du groupe d'instruments sont en état de fonctionnement et disponibles.
Exemple OpenShift :
oc get clusteroperators
-
Assurez-vous que tous les services API sont en état de santé et disponibles :
Exemple OpenShift :
oc get apiservices
-
Vous avez créé une adresse FQDN pour Astra Control Center dans votre data Center.
La procédure d'installation d'Astra Control Center est la suivante :
-
Installe les composants Astra dans le
netapp-acc
(ou espace de nom personnalisé). -
Crée un compte par défaut.
-
Définit une adresse e-mail d'utilisateur administratif par défaut et un mot de passe unique par défaut de
ACC-<UUID_of_installation>
Pour cet exemple de centre de contrôle Astra. Ce rôle est attribué à cet utilisateur dans le système et est nécessaire pour la première connexion à l'interface utilisateur. -
Vous aide à déterminer que toutes les POD Astra Control Center sont en cours d'exécution.
-
Installe l'interface utilisateur Astra.
Les commandes Podman peuvent être utilisées à la place des commandes Docker si vous utilisez le Podman de Red Hat au lieu de Docker Engine. |
N'exécutez pas la commande suivante pendant l'intégralité du processus d'installation pour éviter de supprimer toutes les pods Astra Control Center : kubectl delete -f astra_control_center_operator_deploy.yaml
|
Pour installer le centre de contrôle Astra, procédez comme suit :
Terminez le déploiement en effectuant le processus "tâches de configuration".
Téléchargez le pack Astra Control Center
-
Téléchargez le pack Astra Control Center (
astra-control-center-[version].tar.gz
) du "Site de support NetApp". -
Téléchargez le code postal des certificats et clés Astra Control Center sur le "Site de support NetApp".
-
(Facultatif) utilisez la commande suivante pour vérifier la signature du pack :
openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz
Déballez le bundle et modifiez le répertoire
-
Extraire les images :
tar -vxzf astra-control-center-[version].tar.gz
-
Passez au répertoire Astra.
cd astra-control-center-[version]
Ajoutez les images à votre registre local
-
Ajoutez les fichiers du répertoire d'images de l'Astra Control Center à votre registre local.
Voir les exemples de scripts pour le chargement automatique des images ci-dessous. -
Connectez-vous à votre registre :
Docker :
docker login [your_registry_path]
Podman :
podman login [your_registry_path]
-
Utilisez le script approprié pour charger les images, les marquer et pousser les images dans votre registre local :
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
-
Configurez l'espace de noms et le secret pour les registres avec les exigences d'authentification
-
Si vous utilisez un registre qui nécessite une authentification, vous devez procéder comme suit :
-
Créer le
netapp-acc-operator
espace de noms :kubectl create ns netapp-acc-operator
Réponse :
namespace/netapp-acc-operator created
-
Créez un secret pour le
netapp-acc-operator
espace de noms. Ajoutez des informations sur Docker et exécutez la commande suivante :kubectl create secret docker-registry astra-registry-cred -n netapp-acc-operator --docker-server=[your_registry_path] --docker-username=[username] --docker-password=[token]
Exemple de réponse :
secret/astra-registry-cred created
-
Créer le
netapp-acc
(ou espace de nom personnalisé).kubectl create ns [netapp-acc or custom namespace]
Exemple de réponse :
namespace/netapp-acc created
-
Créez un secret pour le
netapp-acc
(ou espace de nom personnalisé). Ajoutez des informations sur Docker et exécutez la commande suivante :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]
Réponse
secret/astra-registry-cred created
-
Poser le conducteur du centre de commande Astra
-
Modifiez le YAML de déploiement de l'opérateur Astra Control Center (
astra_control_center_operator_deploy.yaml
) pour faire référence à votre registre local et à votre secret.vim astra_control_center_operator_deploy.yaml
-
Si vous utilisez un registre qui nécessite une authentification, remplacez la ligne par défaut de
imagePullSecrets: []
avec les éléments suivants :imagePullSecrets: - name: <name_of_secret_with_creds_to_local_registry>
-
Changer
[your_registry_path]
pour lekube-rbac-proxy
image dans le chemin du registre où vous avez poussé les images dans un étape précédente. -
Changer
[your_registry_path]
pour leacc-operator-controller-manager
image dans le chemin du registre où vous avez poussé les images dans un étape précédente. -
(Pour les installations utilisant l'aperçu d'Astra Data Store) Découvrez ce problème connu concernant "Les spécialistes en provisionnement de classe de stockage et les changements supplémentaires que vous devrez apporter au 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: []
-
-
Poser le conducteur du centre de commande Astra :
kubectl apply -f astra_control_center_operator_deploy.yaml
Exemple de réponse :
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
Configurer le centre de contrôle Astra
-
Modifiez le fichier de ressources personnalisées (CR) Astra Control Center (
astra_control_center_min.yaml
) Pour créer des comptes, AutoSupport, registre et autres configurations nécessaires :Si d'autres personnalisations sont nécessaires pour votre environnement, vous pouvez l'utiliser astra_control_center.yaml
En tant que CR alternatif.astra_control_center_min.yaml
Est le CR par défaut et convient à la plupart des installations.vim astra_control_center_min.yaml
Les propriétés configurées par le CR ne peuvent pas être modifiées après le déploiement initial du centre de contrôle Astra. Si vous utilisez un registre qui ne requiert pas d'autorisation, vous devez supprimer le secret
ligne comprise entreimageRegistry
sinon, l'installation échouera.-
Changer
[your_registry_path]
vers le chemin du registre où vous avez poussé les images à l'étape précédente. -
Modifiez le
accountName
chaîne du nom que vous souhaitez associer au compte. -
Modifiez le
astraAddress
Chaîne du FQDN que vous souhaitez utiliser dans votre navigateur pour accéder à Astra. Ne pas utiliserhttp://
ouhttps://
dans l'adresse. Copier ce FQDN pour l'utiliser dans un plus tard. -
Modifiez le
email
chaîne à l'adresse d'administrateur initiale par défaut. Copiez cette adresse e-mail pour l'utiliser dans un plus tard. -
Changer
enrolled
Pour AutoSupport àfalse
pour les sites sans connexion internet ou sans conservationtrue
pour les sites connectés. -
(Facultatif) Ajouter un prénom
firstName
et nomlastName
de l'utilisateur associé au compte. Vous pouvez effectuer cette étape maintenant ou plus tard dans l'interface utilisateur. -
(Facultatif) modifiez le
storageClass
Avantages pour une autre ressource de stockage Astra Trident, si nécessaire à votre installation. -
(Pour les installations utilisant l'aperçu d'Astra Data Store) Découvrez ce problème connu pour "autres modifications requises" Au 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"
-
Installation complète du centre de contrôle Astra et du conducteur
-
Si vous ne l'avez pas déjà fait dans une étape précédente, créez le
netapp-acc
(ou personnalisée) espace de noms :kubectl create ns [netapp-acc or custom namespace]
Exemple de réponse :
namespace/netapp-acc created
-
Poser le centre de contrôle Astra dans le
netapp-acc
(ou votre espace de noms personnalisé) :kubectl apply -f astra_control_center_min.yaml -n [netapp-acc or custom namespace]
Exemple de réponse :
astracontrolcenter.astra.netapp.io/astra created
Vérifiez l'état du système
Si vous préférez utiliser OpenShift, vous pouvez utiliser des commandes oc comparables pour les étapes de vérification. |
-
Vérifiez que tous les composants du système sont correctement installés.
kubectl get pods -n [netapp-acc or custom namespace]
Chaque pod doit avoir un statut de
Running
. Le déploiement des modules du système peut prendre plusieurs minutes.Exemple de réponse :
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
-
(Facultatif) pour vous assurer que l'installation est terminée, vous pouvez regarder le
acc-operator
journaux utilisant la commande suivante.kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
-
Lorsque tous les modules sont en cours d'exécution, vérifiez que l'installation a réussi en récupérant
AstraControlCenter
Instance installée par l'opérateur du centre de contrôle Astra.kubectl get acc -o yaml -n [netapp-acc or custom namespace]
-
Vérifier le
status.deploymentState
dans le champ de réponse pour leDeployed
valeur. Si le déploiement a échoué, un message d'erreur s'affiche à la place.Vous utiliserez le uuid
à l'étape suivante.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: ""
-
Pour obtenir le mot de passe unique que vous utiliserez lorsque vous vous connecterez à Astra Control Center, copiez le
status.uuid
valeur de la réponse à l'étape précédente. Le mot de passe estACC-
Suivi de la valeur UUID (ACC-[UUID]
ou, dans cet exemple,ACC-c49008a5-4ef1-4c5d-a53e-830daf994116
).
Connectez-vous à l'interface utilisateur du centre de contrôle Astra
Après avoir installé Astra Control Center, vous modifierez le mot de passe de l'administrateur par défaut et vous connecterez au tableau de bord de l'interface utilisateur de Astra Control Center.
-
Dans un navigateur, entrez le FQDN que vous avez utilisé dans le
astraAddress
dans leastra_control_center_min.yaml
CR quand Vous avez installé Astra Control Center. -
Acceptez les certificats auto-signés lorsque vous y êtes invité.
Vous pouvez créer un certificat personnalisé après la connexion. -
Dans la page de connexion à Astra Control Center, entrez la valeur que vous avez utilisée
email
dansastra_control_center_min.yaml
CR quand Vous avez installé Astra Control Center, suivi du mot de passe à usage unique (ACC-[UUID]
).Si vous saisissez trois fois un mot de passe incorrect, le compte admin est verrouillé pendant 15 minutes. -
Sélectionnez connexion.
-
Modifiez le mot de passe lorsque vous y êtes invité.
Si c'est votre premier login et que vous oubliez le mot de passe et qu'aucun autre compte utilisateur administratif n'a encore été créé, contactez le support NetApp pour obtenir de l'aide pour la récupération de mot de passe. -
(Facultatif) supprimez le certificat TLS auto-signé existant et remplacez-le par un "Certificat TLS personnalisé signé par une autorité de certification".
Dépanner l'installation
Si l'un des services est dans Error
état, vous pouvez inspecter les journaux. Rechercher les codes de réponse API dans la plage 400 à 500. Ceux-ci indiquent l'endroit où un échec s'est produit.
-
Pour inspecter les journaux de l'opérateur de l'Astra Control Center, entrez ce qui suit :
kubectl logs --follow -n netapp-acc-operator $(kubectl get pods -n netapp-acc-operator -o name) -c manager
Et la suite
Terminez le déploiement en effectuant le processus "tâches de configuration".