Instale Astra Control Center mediante el proceso estándar
Para instalar Astra Control Center, descargue el paquete de instalación desde el sitio de soporte de NetApp y realice los siguientes pasos. Puede utilizar este procedimiento para instalar Astra Control Center en entornos conectados a Internet o con conexión por aire.
Expanda para otros procedimientos de instalación
-
Instalar con Red Hat OpenShift OperatorHub: Utilice esto "procedimiento alternativo" Para instalar Astra Control Center en OpenShift mediante OperatorHub.
-
Instalar en la nube pública con Cloud Volumes ONTAP backend: Uso "estos procedimientos" Para instalar Astra Control Center en Amazon Web Services (AWS), Google Cloud Platform (GCP) o Microsoft Azure con un back-end de almacenamiento de Cloud Volumes ONTAP.
Para ver una demostración del proceso de instalación de Astra Control Center, consulte "este vídeo".
-
Cumplir con los requisitos ambientales: "Antes de comenzar la instalación, prepare su entorno para la implementación de Astra Control Center".
Pon en marcha Astra Control Center en un tercer dominio de fallo o sitio secundario. Esto se recomienda para la replicación de aplicaciones y la recuperación ante desastres fluida. -
Asegurar servicios saludables: Comprueba que todos los servicios API estén en buen estado y disponibles:
kubectl get apiservices
-
Asegúrese de que un FQDN enrutable: El FQDN de Astra que planea utilizar se puede enrutar al clúster. Esto significa que tiene una entrada DNS en el servidor DNS interno o que está utilizando una ruta URL principal que ya está registrada.
-
Configurar gestor de cert: Si ya existe un gestor de cert en el clúster, debe realizar algunos "requisitos previos" Por lo tanto, Astra Control Center no intenta instalar su propio administrador de certificados. De forma predeterminada, Astra Control Center instala su propio administrador de certificados durante la instalación.
-
Acceda al registro de imágenes de NetApp Astra Control:
Tiene la opción de obtener imágenes de instalación y mejoras de funcionalidades para Astra Control, como Astra Control Provisioner, desde el registro de imágenes de NetApp.Expanda para obtener los pasos
-
Registra tu ID de cuenta de Astra Control que tendrás que iniciar sesión en el registro.
Puedes ver tu ID de cuenta en la interfaz de usuario web de Astra Control Service. Selecciona el icono de la figura en la parte superior derecha de la página, selecciona Acceso API y escribe tu ID de cuenta.
-
En la misma página, selecciona Generar token de API y copia la cadena de token de API en el portapapeles y guárdalo en tu editor.
-
Inicia sesión en el Registro de Astra Control:
docker login cr.astra.netapp.io -u <account-id> -p <api-token>
-
-
Considera una malla de servicio: Se recomienda encarecidamente que los canales de comunicaciones del clúster host de Astra Control estén protegidos mediante un "malla de servicio compatible".
Detalles de malla de servicio de Istio
Para el uso de la malla de servicio de Istio, deberá hacer lo siguiente:
-
Agregue un
istio-injection:enabled
etiqueta En el espacio de nombres de Astra antes de poner en marcha Astra Control Center. -
Utilice la
Generic
ajuste de entrada y proporcionar una entrada alternativa para equilibrio de carga externo. -
Para los clústeres de Red Hat OpenShift, debe definirlos
NetworkAttachmentDefinition
En todos los espacios de nombres del Centro de control de Astra asociados (netapp-acc-operator
,netapp-acc
,netapp-monitoring
para clusters de aplicaciones o cualquier espacio de nombres personalizado que se haya sustituido).cat <<EOF | oc -n netapp-acc-operator create -f - apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: istio-cni EOF cat <<EOF | oc -n netapp-acc create -f - apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: istio-cni EOF cat <<EOF | oc -n netapp-monitoring create -f - apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: istio-cni EOF
-
-
Solo controlador SAN de ONTAP: Si está utilizando un controlador SAN de ONTAP, asegúrese de que la función multivía esté habilitada en todos sus clústeres de Kubernetes.
Para instalar Astra Control Center, lleve a cabo los siguientes pasos:
No elimine el operador Astra Control Center (por ejemplo, kubectl delete -f astra_control_center_operator_deploy.yaml ) En cualquier momento durante la instalación o el funcionamiento de Astra Control Center para evitar la eliminación de las dosis.
|
Descargue y extraiga Astra Control Center
Puede elegir descargar el paquete Astra Control Center desde el sitio de soporte de NetApp o utilizar Docker para extraer el paquete del registro de imágenes del servicio de control de Astra.
-
Descargue el paquete que contiene Astra Control Center (
astra-control-center-[version].tar.gz
) del "Página de descargas de Astra Control Center". -
(Recomendado pero opcional) Descargue el paquete de certificados y firmas para Astra Control Center (
astra-control-center-certs-[version].tar.gz
) para verificar la firma del paquete.Amplíe para obtener más detalles
tar -vxzf astra-control-center-certs-[version].tar.gz
openssl dgst -sha256 -verify certs/AstraControlCenter-public.pub -signature certs/astra-control-center-[version].tar.gz.sig astra-control-center-[version].tar.gz
Se mostrará la salida
Verified OK
después de una verificación correcta. -
Extraiga las imágenes del paquete Astra Control Center:
tar -vxzf astra-control-center-[version].tar.gz
-
Inicia sesión en el servicio Astra Control.
-
En el Dashboard, selecciona Desplegar una instancia autogestionada de Astra Control.
-
Sigue las instrucciones para iniciar sesión en el registro de imágenes de Astra Control, extraer la imagen de instalación de Astra Control Center y extraer la imagen.
Instale el complemento Astra kubectl de NetApp
Puede utilizar el complemento de línea de comandos kubectl de Astra de NetApp para insertar imágenes en un repositorio de Docker local.
NetApp proporciona binarios de complementos para diferentes arquitecturas de CPU y sistemas operativos. Debe saber qué CPU y sistema operativo tiene antes de realizar esta tarea.
Si ya tiene instalado el plugin desde una instalación anterior, "asegúrese de tener la versión más reciente" antes de realizar estos pasos.
-
Enumera los binarios para complementos de kubectl de Astra de NetApp disponibles:
La biblioteca de complementos kubectl forma parte del paquete tar y se extrae en la carpeta kubectl-astra
.ls kubectl-astra/
-
Mueva el archivo que necesita para su sistema operativo y la arquitectura de CPU a la ruta actual y cámbiele el nombre a.
kubectl-astra
:cp kubectl-astra/<binary-name> /usr/local/bin/kubectl-astra
Agregue las imágenes al registro local
-
Complete la secuencia de pasos apropiada para el motor del contenedor:
-
Cambie al directorio raíz del tarball. Debería ver el
acc.manifest.bundle.yaml
archivo y estos directorios:acc/
kubectl-astra/
acc.manifest.bundle.yaml
-
Inserte las imágenes del paquete en el directorio de imágenes de Astra Control Center en su registro local. Realice las siguientes sustituciones antes de ejecutar el
push-images
comando:-
Sustituya <BUNDLE_FILE> por el nombre del archivo Astra Control Bundle (
acc.manifest.bundle.yaml
). -
Sustituya <MY_FULL_REGISTRY_PATH> por la URL del repositorio de Docker; por ejemplo, "https://<docker-registry>".
-
Reemplace <MY_REGISTRY_USER> por el nombre de usuario.
-
Sustituya <MY_REGISTRY_TOKEN> por un token autorizado para el registro.
kubectl astra packages push-images -m <BUNDLE_FILE> -r <MY_FULL_REGISTRY_PATH> -u <MY_REGISTRY_USER> -p <MY_REGISTRY_TOKEN>
-
-
Cambie al directorio raíz del tarball. Debería ver este archivo y directorio:
acc/
kubectl-astra/
acc.manifest.bundle.yaml
-
Inicie sesión en su registro:
podman login <YOUR_REGISTRY>
-
Prepare y ejecute una de las siguientes secuencias de comandos personalizadas para la versión de Podman que utilice. Sustituya <MY_FULL_REGISTRY_PATH> por la URL del repositorio que incluye cualquier subdirectorio.
Podman 4
export REGISTRY=<MY_FULL_REGISTRY_PATH> export PACKAGENAME=acc export PACKAGEVERSION=23.10.0-68 export DIRECTORYNAME=acc for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //') astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::') podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath} podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath} done
Podman 3
export REGISTRY=<MY_FULL_REGISTRY_PATH> export PACKAGENAME=acc export PACKAGEVERSION=23.10.0-68 export DIRECTORYNAME=acc for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //') astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::') podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath} podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath} done
La ruta de acceso de imagen que crea el script debe parecerse a la siguiente, dependiendo de la configuración del Registro: https://downloads.example.io/docker-astra-control-prod/netapp/astra/acc/23.10.0-68/image:version
Configurar espacio de nombres y secreto para registros con requisitos de autenticación
-
Exporte el comando kubeconfig del clúster de hosts de Astra Control Center:
export KUBECONFIG=[file path]
Antes de completar la instalación, asegúrese de que su kubeconfig apunte al clúster donde desea instalar Astra Control Center. -
Si utiliza un registro que requiere autenticación, debe hacer lo siguiente:
Expanda para obtener los pasos
-
Cree el
netapp-acc-operator
espacio de nombres:kubectl create ns netapp-acc-operator
-
Cree un secreto para
netapp-acc-operator
espacio de nombres. Añada información sobre Docker y ejecute el siguiente comando:El marcador de posición your_registry_path
debe coincidir con la ubicación de las imágenes que ha cargado anteriormente (por ejemplo,[Registry_URL]/netapp/astra/astracc/23.10.0-68
).kubectl create secret docker-registry astra-registry-cred -n netapp-acc-operator --docker-server=[your_registry_path] --docker-username=[username] --docker-password=[token]
Si elimina el espacio de nombres después de que se genere el secreto, vuelva a crear el espacio de nombres y, a continuación, vuelva a generar el secreto para el espacio de nombres. -
Cree el
netapp-acc
(o nombre personalizado).kubectl create ns [netapp-acc or custom namespace]
-
Cree un secreto para
netapp-acc
(o nombre personalizado). Añada información sobre Docker y ejecute el siguiente 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]
-
Instale el operador de Astra Control Center
-
Cambie el directorio:
cd manifests
-
Edite la implementación del operador de Astra Control Center YAML (
astra_control_center_operator_deploy.yaml
) para referirse a su registro local y secreto.vim astra_control_center_operator_deploy.yaml
Una muestra anotada de AYLMA sigue estos pasos. -
Si utiliza un registro que requiere autenticación, reemplace la línea predeterminada de
imagePullSecrets: []
con lo siguiente:imagePullSecrets: [{name: astra-registry-cred}]
-
Cambiar
ASTRA_IMAGE_REGISTRY
para lakube-rbac-proxy
imagen a la ruta del registro en la que se insertó la imagen en un paso anterior. -
Cambiar
ASTRA_IMAGE_REGISTRY
para laacc-operator-controller-manager
imagen a la ruta del registro en la que se insertó la imagen en un paso anterior.
Amplíe el ejemplo astra_control_center_operator_deploy.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 strategy: type: Recreate 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: ASTRA_IMAGE_REGISTRY/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 env: - name: ACCOP_LOG_LEVEL value: "2" - name: ACCOP_HELM_INSTALLTIMEOUT value: 5m image: ASTRA_IMAGE_REGISTRY/acc-operator:23.10.72 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /healthz port: 8081 initialDelaySeconds: 15 periodSeconds: 20 name: manager readinessProbe: httpGet: path: /readyz port: 8081 initialDelaySeconds: 5 periodSeconds: 10 resources: limits: cpu: 300m memory: 750Mi requests: cpu: 100m memory: 75Mi securityContext: allowPrivilegeEscalation: false imagePullSecrets: [] securityContext: runAsUser: 65532 terminationGracePeriodSeconds: 10
-
-
Instale el operador de Astra Control Center:
kubectl apply -f astra_control_center_operator_deploy.yaml
Ampliar para respuesta de muestra:
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
-
Verifique que los pods se estén ejecutando:
kubectl get pods -n netapp-acc-operator
Configurar Astra Control Center
-
Edite el archivo de recursos personalizados (CR) del Centro de control de Astra (
astra_control_center.yaml
) para realizar las configuraciones de cuenta, soporte, registro y otras necesarias:vim astra_control_center.yaml
Una muestra anotada de AYLMA sigue estos pasos. -
Modifique o confirme los siguientes ajustes:
<code>accountName</code>
Ajuste Orientación Tipo Ejemplo accountName
Cambie el
accountName
Cadena con el nombre que desea asociar a la cuenta Astra Control Center. Sólo puede haber un nombre de cuenta.cadena
Example
<code>astraVersion</code>
Ajuste Orientación Tipo Ejemplo astraVersion
La versión de Astra Control Center para implementar. No se necesita ninguna acción para este ajuste, ya que el valor se rellenará previamente.
cadena
23.10.0-68
<code>astraAddress</code>
Ajuste Orientación Tipo Ejemplo astraAddress
Cambie el
astraAddress
Cadena al FQDN (recomendado) o dirección IP que desea utilizar en su navegador para acceder a Astra Control Center. Esta dirección define cómo se encontrará Astra Control Center en su centro de datos y es el mismo FQDN o la dirección IP que ha aprovisionado desde su equilibrador de carga cuando ha finalizado "Requisitos del Centro de Control de Astra".
NOTA: No utilizarhttp://
o.https://
en la dirección. Copie este FQDN para utilizarlo en un paso posterior.cadena
astra.example.com
<code>autoSupport</code>
Sus selecciones en esta sección determinan si participará en la aplicación de soporte proactivo de NetApp, el asesor digital y dónde se envían los datos. Se requiere una conexión a Internet (puerto 442) y todos los datos de soporte se anóniman.
Ajuste Uso Orientación Tipo Ejemplo autoSupport.enrolled
Uno de los dos
enrolled
o.url
los campos deben seleccionarseCambiar
enrolled
Para AutoSupport a.false
para sitios sin conexión a internet o retencióntrue
para sitios conectados. Un valor detrue
Permite enviar datos anónimos a NetApp con fines de soporte. La elección predeterminada esfalse
E indica que no se enviará ningún dato de soporte a NetApp.Booleano
false
(este valor es el predeterminado)autoSupport.url
Uno de los dos
enrolled
o.url
los campos deben seleccionarseEsta URL determina dónde se enviarán los datos anónimos.
cadena
<code>email</code>
Ajuste Orientación Tipo Ejemplo email
Cambie el
email
cadena en la dirección inicial predeterminada del administrador. Copie esta dirección de correo electrónico para su uso en un paso posterior. Esta dirección de correo electrónico se utilizará como nombre de usuario de la cuenta inicial para iniciar sesión en la interfaz de usuario y se le notificarán los eventos de Astra Control.cadena
admin@example.com
<code>firstName</code>
Ajuste Orientación Tipo Ejemplo firstName
El nombre del administrador inicial predeterminado asociado con la cuenta Astra. El nombre utilizado aquí aparecerá en un encabezado de la interfaz de usuario después del primer inicio de sesión.
cadena
SRE
<code>LastName</code>
Ajuste Orientación Tipo Ejemplo lastName
Apellido del administrador inicial predeterminado asociado con la cuenta Astra. El nombre utilizado aquí aparecerá en un encabezado de la interfaz de usuario después del primer inicio de sesión.
cadena
Admin
<code>imageRegistry</code>
Las selecciones realizadas en esta sección definen el registro de imágenes del contenedor que aloja las imágenes de la aplicación Astra, el operador del centro de control Astra y el repositorio de Astra Control Center Helm.
Ajuste Uso Orientación Tipo Ejemplo imageRegistry.name
Obligatorio
El nombre del registro de imágenes en el que se insertó las imágenes en el paso anterior. No utilizar
http://
o.https://
en el nombre del registro.cadena
example.registry.com/astra
imageRegistry.secret
Obligatorio si la cadena introducida para
imageRegistry.name' requires a secret.
línea dentro
IMPORTANT: If you are using a registry that does not require authorization, you must delete this `secretimageRegistry
o se producirá un error en la instalación.El nombre del secreto Kubernetes utilizado para autenticarse con el registro de imágenes.
cadena
astra-registry-cred
<code>storageClass</code>
Ajuste Orientación Tipo Ejemplo storageClass
Cambie el
storageClass
valor desdeontap-gold
A otro recurso de la clase de almacenamiento de Astra Trident, según lo requiera la instalación. Ejecute el comandokubectl get sc
para determinar las clases de almacenamiento configuradas existentes. Debe introducirse una de las clases de almacenamiento basadas en Astra Trident en el archivo de manifiesto (astra-control-center-<version>.manifest
) Y se utilizará para Astra PVs. Si no está establecida, se utilizará la clase de almacenamiento predeterminada.
NOTA: Si se ha configurado una clase de almacenamiento predeterminada, asegúrese de que es la única clase de almacenamiento que tiene la anotación predeterminada.cadena
ontap-gold
<code>volumeReclaimPolicy</code>
Ajuste Orientación Tipo Opciones volumeReclaimPolicy
De esta forma se establece la política de reclamaciones para los vehículos de Astra. Configuración de esta directiva como
Retain
Conserva los volúmenes persistentes una vez que Astra se elimina. Configuración de esta directiva comoDelete
elimina los volúmenes persistentes después de eliminar astra. Si no se establece este valor, se conservan los VP.cadena
-
Retain
(Este es el valor predeterminado) -
Delete
<code>ingressType</code>
Ajuste Orientación Tipo Opciones ingressType
Utilice uno de los siguientes tipos de entrada:
Generic
* (ingressType: "Generic"
) (Predeterminado)
Utilice esta opción cuando tenga otro controlador de entrada en uso o prefiera utilizar su propio controlador de entrada. Después de implementar Astra Control Center, deberá configurar el "controlador de entrada" Para exponer Astra Control Center con una URL.
IMPORTANTE: Si va a utilizar una malla de servicio con Astra Control Center, debe seleccionarGeneric
como tipo de ingreso y configure el suyo propio "controlador de entrada".
AccTraefik
(ingressType: "AccTraefik"
)
Utilice esta opción cuando prefiera no configurar un controlador de entrada. Esto despliega el Astra Control Centertraefik
Puerta de enlace como servicio de tipo Kubernetes LoadBalancer.
Astra Control Center utiliza un servicio del tipo "LoadBalancer" (svc/traefik
En el espacio de nombres de Astra Control Center) y requiere que se le asigne una dirección IP externa accesible. Si se permiten equilibradores de carga en su entorno y aún no tiene uno configurado, puede utilizar MetalLB u otro equilibrador de carga de servicio externo para asignar una dirección IP externa al servicio. En la configuración interna del servidor DNS, debe apuntar el nombre DNS elegido para Astra Control Center a la dirección IP con equilibrio de carga.
NOTA: Para obtener detalles sobre el tipo de servicio de “LoadBalancer” y Ingress, consulte "Requisitos".cadena
-
Generic
(este es el valor predeterminado) -
AccTraefik
<code>scaleSize</code>
Ajuste Orientación Tipo Opciones scaleSize
De forma predeterminada, Astra utilizará la alta disponibilidad (HA)
scaleSize
deMedium
, Que despliega la mayoría de los servicios en HA y despliega múltiples réplicas para redundancia. ConscaleSize
comoSmall
, Astra reducirá el número de réplicas para todos los servicios excepto los servicios esenciales para reducir el consumo.
CONSEJO:Medium
las puestas en marcha constan de unos 100 pods (sin incluir cargas de trabajo transitorias. 100 pod se basa en la configuración de tres nodos principales y tres nodos de trabajador). Tenga en cuenta las limitaciones de límites de red por pod que pueden ser un problema en su entorno, sobre todo cuando tenga en cuenta situaciones de recuperación ante desastres.cadena
-
Small
-
Medium
(Este es el valor predeterminado)
<code>astraResourcesScaler</code>
Ajuste Orientación Tipo Opciones astraResourcesScaler
Opciones de escalado para los límites de recursos de AstraControlCenter. De forma predeterminada, Astra Control Center se despliega con solicitudes de recursos establecidas para la mayoría de los componentes de Astra. Esta configuración permite que la pila de software de Astra Control Center tenga un mejor rendimiento en entornos con un mayor nivel de carga y escalabilidad de las aplicaciones.
Sin embargo, en situaciones que utilizan grupos de desarrollo o pruebas más pequeños, el campo CRastraResourcesScalar
se puede establecer enOff
. De este modo se deshabilitan las solicitudes de recursos y se puede implementar en clústeres más pequeños.cadena
-
Default
(Este es el valor predeterminado) -
Off
<code>additionalValues</code>
Añada los siguientes valores adicionales a Astra Control Center CR para evitar un problema conocido en la instalación: additionalValues: keycloak-operator: livenessProbe: initialDelaySeconds: 180 readinessProbe: initialDelaySeconds: 180
-
Para el Centro de control astral y la comunicación Cloud Insights, la verificación de certificados TLS está desactivada de forma predeterminada. Puede habilitar la verificación de la certificación TLS para la comunicación entre Cloud Insights y el clúster de host del Centro de control de Astra y el clúster gestionado, añadiendo la siguiente sección en la
additionalValues
.
additionalValues: netapp-monitoring-operator: config: ciSkipTlsVerify: false cloud-insights-service: config: ciSkipTlsVerify: false telemetry-service: config: ciSkipTlsVerify: false
<code>crds</code>
Sus selecciones en esta sección determinan cómo Astra Control Center debe manejar los CRD.
Ajuste Orientación Tipo Ejemplo crds.externalCertManager
Si utiliza un administrador de certificados externo, cambie
externalCertManager
paratrue
. El valor predeterminadofalse
Hace que Astra Control Center instale sus propios CRD de administrador de certificados durante la instalación.
Los crds son objetos de todo el clúster y su instalación podría tener un impacto en otras partes del clúster. Puede utilizar este indicador para indicar a Astra Control Center que el administrador del clúster instalará y gestionará estos CRD fuera de Astra Control Center.Booleano
False
(este valor es el predeterminado)crds.externalTraefik
De forma predeterminada, Astra Control Center instalará los CRD de Traefik necesarios. Los crds son objetos de todo el clúster y su instalación podría tener un impacto en otras partes del clúster. Puede utilizar este indicador para indicar a Astra Control Center que el administrador del clúster instalará y gestionará estos CRD fuera de Astra Control Center.
Booleano
False
(este valor es el predeterminado) -
Asegúrese de haber seleccionado la clase de almacenamiento y el tipo de entrada correctos para la configuración antes de completar la instalación. |
Expanda para la muestra astra_control_center.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" volumeReclaimPolicy: "Retain" ingressType: "Generic" scaleSize: "Medium" astraResourcesScaler: "Default" additionalValues: keycloak-operator: livenessProbe: initialDelaySeconds: 180 readinessProbe: initialDelaySeconds: 180 crds: externalTraefik: false externalCertManager: false
Complete la instalación del centro de control de Astra y del operador
-
Si todavía no lo ha hecho en un paso anterior, cree el
netapp-acc
espacio de nombres (o personalizado):kubectl create ns [netapp-acc or custom namespace]
-
Si usas una malla de servicio con Astra Control Center, agrega la siguiente etiqueta a la
netapp-acc
o espacio de nombres personalizado:Su tipo de ingreso ( ingressType
) debe establecerse enGeneric
En Astra Control Center CR antes de continuar con este comando.kubectl label ns [netapp-acc or custom namespace] istio-injection:enabled
-
(Recomendado) "Activar MTLS estricto" Para la malla de servicio de Istio:
kubectl apply -n istio-system -f - <<EOF apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: default spec: mtls: mode: STRICT EOF
-
Instale Astra Control Center en
netapp-acc
(o su espacio de nombres personalizado):kubectl apply -f astra_control_center.yaml -n [netapp-acc or custom namespace]
El operador del Centro de control de Astra realizará una comprobación automática de los requisitos del entorno. Ausente "requisitos" Puede provocar que falle la instalación o que Astra Control Center no funcione correctamente. Consulte siguiente sección para comprobar si hay mensajes de advertencia relacionados con la comprobación automática del sistema. |
Comprobar el estado del sistema
Puede verificar el estado del sistema con comandos kubectl. Si prefiere utilizar OpenShift, puede utilizar comandos de OC comparables para realizar los pasos de verificación.
-
Compruebe que el proceso de instalación no ha generado mensajes de advertencia relacionados con las comprobaciones de validación:
kubectl get acc [astra or custom Astra Control Center CR name] -n [netapp-acc or custom namespace] -o yaml
También se notifican mensajes de advertencia adicionales en los registros del operador de Astra Control Center. -
Corrija cualquier problema del entorno que se notifique mediante las comprobaciones automatizadas de requisitos.
Puede corregir problemas garantizando que su entorno cumple con los "requisitos" Para Astra Control Center. -
Compruebe que todos los componentes del sistema se han instalado correctamente.
kubectl get pods -n [netapp-acc or custom namespace]
Cada pod debe tener el estado de
Running
. Pueden tardar varios minutos en implementar los pods del sistema.Amplíe para obtener una respuesta de muestra
NAME READY STATUS RESTARTS AGE acc-helm-repo-6cc7696d8f-pmhm8 1/1 Running 0 9h activity-597fb656dc-5rd4l 1/1 Running 0 9h activity-597fb656dc-mqmcw 1/1 Running 0 9h api-token-authentication-62f84 1/1 Running 0 9h api-token-authentication-68nlf 1/1 Running 0 9h api-token-authentication-ztgrm 1/1 Running 0 9h asup-669d4ddbc4-fnmwp 1/1 Running 1 (9h ago) 9h authentication-78789d7549-lk686 1/1 Running 0 9h bucketservice-65c7d95496-24x7l 1/1 Running 3 (9h ago) 9h cert-manager-c9f9fbf9f-k8zq2 1/1 Running 0 9h cert-manager-c9f9fbf9f-qjlzm 1/1 Running 0 9h cert-manager-cainjector-dbbbd8447-b5qll 1/1 Running 0 9h cert-manager-cainjector-dbbbd8447-p5whs 1/1 Running 0 9h cert-manager-webhook-6f97bb7d84-4722b 1/1 Running 0 9h cert-manager-webhook-6f97bb7d84-86kv5 1/1 Running 0 9h certificates-59d9f6f4bd-2j899 1/1 Running 0 9h certificates-59d9f6f4bd-9d9k6 1/1 Running 0 9h certificates-expiry-check-28011180--1-8lkxz 0/1 Completed 0 9h cloud-extension-5c9c9958f8-jdhrp 1/1 Running 0 9h cloud-insights-service-5cdd5f7f-pp8r5 1/1 Running 0 9h composite-compute-66585789f4-hxn5w 1/1 Running 0 9h composite-volume-68649f68fd-tb7p4 1/1 Running 0 9h credentials-dfc844c57-jsx92 1/1 Running 0 9h credentials-dfc844c57-xw26s 1/1 Running 0 9h entitlement-7b47769b87-4jb6c 1/1 Running 0 9h features-854d8444cc-c24b7 1/1 Running 0 9h features-854d8444cc-dv6sm 1/1 Running 0 9h fluent-bit-ds-9tlv4 1/1 Running 0 9h fluent-bit-ds-bpkcb 1/1 Running 0 9h fluent-bit-ds-cxmwx 1/1 Running 0 9h fluent-bit-ds-jgnhc 1/1 Running 0 9h fluent-bit-ds-vtr6k 1/1 Running 0 9h fluent-bit-ds-vxqd5 1/1 Running 0 9h graphql-server-7d4b9d44d5-zdbf5 1/1 Running 0 9h identity-6655c48769-4pwk8 1/1 Running 0 9h influxdb2-0 1/1 Running 0 9h keycloak-operator-55479d6fc6-slvmt 1/1 Running 0 9h krakend-f487cb465-78679 1/1 Running 0 9h krakend-f487cb465-rjsxx 1/1 Running 0 9h license-64cbc7cd9c-qxsr8 1/1 Running 0 9h login-ui-5db89b5589-ndb96 1/1 Running 0 9h loki-0 1/1 Running 0 9h metrics-facade-8446f64c94-x8h7b 1/1 Running 0 9h monitoring-operator-6b44586965-pvcl4 2/2 Running 0 9h nats-0 1/1 Running 0 9h nats-1 1/1 Running 0 9h nats-2 1/1 Running 0 9h nautilus-85754d87d7-756qb 1/1 Running 0 9h nautilus-85754d87d7-q8j7d 1/1 Running 0 9h openapi-5f9cc76544-7fnjm 1/1 Running 0 9h openapi-5f9cc76544-vzr7b 1/1 Running 0 9h packages-5db49f8b5-lrzhd 1/1 Running 0 9h polaris-consul-consul-server-0 1/1 Running 0 9h polaris-consul-consul-server-1 1/1 Running 0 9h polaris-consul-consul-server-2 1/1 Running 0 9h polaris-keycloak-0 1/1 Running 2 (9h ago) 9h polaris-keycloak-1 1/1 Running 0 9h polaris-keycloak-2 1/1 Running 0 9h polaris-keycloak-db-0 1/1 Running 0 9h polaris-keycloak-db-1 1/1 Running 0 9h polaris-keycloak-db-2 1/1 Running 0 9h polaris-mongodb-0 1/1 Running 0 9h polaris-mongodb-1 1/1 Running 0 9h polaris-mongodb-2 1/1 Running 0 9h polaris-ui-66fb99479-qp9gq 1/1 Running 0 9h polaris-vault-0 1/1 Running 0 9h polaris-vault-1 1/1 Running 0 9h polaris-vault-2 1/1 Running 0 9h public-metrics-76fbf9594d-zmxzw 1/1 Running 0 9h storage-backend-metrics-7d7fbc9cb9-lmd25 1/1 Running 0 9h storage-provider-5bdd456c4b-2fftc 1/1 Running 0 9h task-service-87575df85-dnn2q 1/1 Running 3 (9h ago) 9h task-service-task-purge-28011720--1-q6w4r 0/1 Completed 0 28m task-service-task-purge-28011735--1-vk6pd 1/1 Running 0 13m telegraf-ds-2r2kw 1/1 Running 0 9h telegraf-ds-6s9d5 1/1 Running 0 9h telegraf-ds-96jl7 1/1 Running 0 9h telegraf-ds-hbp84 1/1 Running 0 9h telegraf-ds-plwzv 1/1 Running 0 9h telegraf-ds-sr22c 1/1 Running 0 9h telegraf-rs-4sbg8 1/1 Running 0 9h telemetry-service-fb9559f7b-mk9l7 1/1 Running 3 (9h ago) 9h tenancy-559bbc6b48-5msgg 1/1 Running 0 9h traefik-d997b8877-7xpf4 1/1 Running 0 9h traefik-d997b8877-9xv96 1/1 Running 0 9h trident-svc-585c97548c-d25z5 1/1 Running 0 9h vault-controller-88484b454-2d6sr 1/1 Running 0 9h vault-controller-88484b454-fc5cz 1/1 Running 0 9h vault-controller-88484b454-jktld 1/1 Running 0 9h
-
(Opcional) Vea el
acc-operator
registros para supervisar el progreso:kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
accHost
el registro del clúster es una de las últimas operaciones y, si no se produce un error en la implementación, no provocará un error. En el caso de que se produzca un error de registro del clúster que se indica en los registros, puede volver a intentar realizar el registro a través de la "Añada el flujo de trabajo del clúster en la interfaz de usuario de" O API. -
Cuando todos los pods estén en ejecución, verifique que la instalación se haya realizado correctamente (
READY
esTrue
) Y obtenga la contraseña de configuración inicial que utilizará cuando inicie sesión en Astra Control Center:kubectl get AstraControlCenter -n [netapp-acc or custom namespace]
Respuesta:
NAME UUID VERSION ADDRESS READY astra 9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f 23.10.0-68 10.111.111.111 True
Copie el valor de UUID. La contraseña es ACC-
Seguido del valor UUID (ACC-[UUID]
o, en este ejemplo,ACC-9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f
).
Configure la entrada para el equilibrio de carga
Puede configurar un controlador de entrada de Kubernetes que gestione el acceso externo a los servicios. Estos procedimientos proporcionan ejemplos de configuración para un controlador de entrada si utilizó el valor predeterminado de ingressType: "Generic"
En el recurso personalizado Astra Control Center (astra_control_center.yaml
). No es necesario utilizar este procedimiento si se ha especificado ingressType: "AccTraefik"
En el recurso personalizado Astra Control Center (astra_control_center.yaml
).
Después de implementar Astra Control Center, deberá configurar el controlador Ingress para exponer Astra Control Center con una dirección URL.
Los pasos de configuración varían en función del tipo de controlador de entrada que utilice. Astra Control Center admite muchos tipos de controladores Ingress. Estos procedimientos de configuración proporcionan pasos de ejemplo para algunos tipos de controladores de entrada comunes.
-
El requerido "controlador de entrada" ya debe ponerse en marcha.
-
La "clase de entrada" ya se debe crear la correspondiente al controlador de entrada.
Pasos para la entrada de Istio
-
Configurar la entrada de Istio.
En este procedimiento se asume que Istio se implementa utilizando el perfil de configuración "predeterminado". -
Recopile o cree el certificado y el archivo de claves privadas deseados para la puerta de enlace de entrada.
Es posible usar un certificado firmado por CA o autofirmado. El nombre común debe ser la dirección Astra (FQDN).
Comando de ejemplo:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt
-
Cree un secreto
tls secret name
de tipokubernetes.io/tls
Para una clave privada TLS y un certificado enistio-system namespace
Tal como se describe en los secretos TLS.Comando de ejemplo:
kubectl create secret tls [tls secret name] --key="tls.key" --cert="tls.crt" -n istio-system
El nombre del secreto debe coincidir con el spec.tls.secretName
proporcionado enistio-ingress.yaml
archivo. -
Implemente un recurso de entrada en
netapp-acc
espacio de nombres (o con nombre personalizado) mediante el tipo de recurso v1 para un esquema (istio-Ingress.yaml
se utiliza en este ejemplo):apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: istio spec: controller: istio.io/ingress-controller --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress namespace: [netapp-acc or custom namespace] spec: ingressClassName: istio tls: - hosts: - <ACC address> secretName: [tls secret name] rules: - host: [ACC address] http: paths: - path: / pathType: Prefix backend: service: name: traefik port: number: 80
-
Aplicar los cambios:
kubectl apply -f istio-Ingress.yaml
-
Compruebe el estado de la entrada:
kubectl get ingress -n [netapp-acc or custom namespace]
Respuesta:
NAME CLASS HOSTS ADDRESS PORTS AGE ingress istio astra.example.com 172.16.103.248 80, 443 1h
Pasos para el controlador de entrada Nginx
-
Cree un secreto de tipo
kubernetes.io/tls
Para una clave privada TLS y un certificado ennetapp-acc
(o nombre personalizado) como se describe en "Secretos TLS". -
Implemente un recurso de entrada en
netapp-acc
espacio de nombres (o con nombre personalizado) mediante el tipo de recurso v1 para un esquema (nginx-Ingress.yaml
se utiliza en este ejemplo):apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: netapp-acc-ingress namespace: [netapp-acc or custom namespace] spec: ingressClassName: [class name for nginx controller] tls: - hosts: - <ACC address> secretName: [tls secret name] rules: - host: <ACC address> http: paths: - path: backend: service: name: traefik port: number: 80 pathType: ImplementationSpecific
-
Aplicar los cambios:
kubectl apply -f nginx-Ingress.yaml
NetApp recomienda la instalación de la controladora nginx como una puesta en marcha en lugar de como una daemonSet .
|
Pasos para el controlador de entrada de OpenShift
-
Obtenga su certificado y consiga los archivos de clave, certificado y CA listos para su uso por la ruta OpenShift.
-
Cree la ruta OpenShift:
oc create route edge --service=traefik --port=web -n [netapp-acc or custom namespace] --insecure-policy=Redirect --hostname=<ACC address> --cert=cert.pem --key=key.pem
Inicie sesión en la interfaz de usuario de Astra Control Center
Después de instalar Astra Control Center, cambiará la contraseña del administrador predeterminado e inicie sesión en el panel de interfaz de usuario de Astra Control Center.
-
En un navegador, introduzca el FQDN (incluido el
https://
prefijo) que utilizó en elastraAddress
en laastra_control_center.yaml
CR cuando Ha instalado Astra Control Center. -
Acepte los certificados autofirmados si se le solicita.
Se puede crear un certificado personalizado después de iniciar sesión. -
En la página de inicio de sesión de Astra Control Center, introduzca el valor utilizado
email
pulgastra_control_center.yaml
CR cuando Ha instalado Astra Control Center, seguido de la contraseña de configuración inicial (ACC-[UUID]
).Si introduce una contraseña incorrecta tres veces, la cuenta de administrador se bloqueará durante 15 minutos. -
Seleccione Iniciar sesión.
-
Cambie la contraseña cuando se le solicite.
Si éste es su primer inicio de sesión y olvida la contraseña y no se han creado otras cuentas de usuario administrativas, póngase en contacto con "Soporte de NetApp" para obtener ayuda para la recuperación de contraseñas. -
(Opcional) quite el certificado TLS autofirmado existente y sustitúyalo por un "Certificado TLS personalizado firmado por una entidad de certificación (CA)".
Solucione los problemas de instalación
Si alguno de los servicios está en Error
puede inspeccionar los registros. Busque códigos de respuesta API en la gama 400 a 500. Esos indican el lugar donde ocurrió un fracaso.
-
Para inspeccionar los registros del operador de Astra Control Center, introduzca lo siguiente:
kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
-
Para comprobar el resultado de Astra Control Center CR:
kubectl get acc -n [netapp-acc or custom namespace] -o yaml
El futuro
-
(Opcional) en función de su entorno, post-instalación completa "pasos de configuración".
-
Complete la implementación llevando a cabo "tareas de configuración".