Inicie la gestión de aplicaciones
Usted primero "Añada un clúster a la gestión de Astra Control", Puede instalar aplicaciones en el clúster (fuera de Astra Control) y, a continuación, ir a la página aplicaciones de Astra Control para definir las aplicaciones y sus recursos.
Puede definir y gestionar aplicaciones que incluyan recursos de almacenamiento con pods en ejecución o aplicaciones que incluyan recursos de almacenamiento sin ningún pods en ejecución. Las aplicaciones que no tienen pods en ejecución se conocen como aplicaciones de solo datos.
Y gestión de aplicaciones
Astra Control tiene los siguientes requisitos de gestión de aplicaciones:
-
Licencias: Para administrar aplicaciones con Astra Control Center, necesitas la licencia de evaluación integrada de Astra Control Center o una licencia completa.
-
Namespaces: Las aplicaciones se pueden definir dentro de uno o más espacios de nombres especificados en un único clúster mediante Astra Control. Una aplicación puede contener recursos que abarcan varios espacios de nombres dentro del mismo clúster. Astra Control no admite la capacidad de definir las aplicaciones en varios clústeres.
-
Clase de almacenamiento: Si instala una aplicación con una clase de almacenamiento definida explícitamente y necesita clonar la aplicación, el clúster de destino para la operación de clonación debe tener la clase de almacenamiento especificada originalmente. Se producirá un error al clonar una aplicación con una clase de almacenamiento definida explícitamente a un clúster que no tenga la misma clase de almacenamiento.
-
Recursos de Kubernetes: Las aplicaciones que usan recursos de Kubernetes no recopilados por Astra Control podrían no tener funciones completas de gestión de datos de aplicaciones. Astra Control recopila los siguientes recursos de Kubernetes:
ClusterRole
ClusterRoleBinding
ConfigMap
CronJob
CustomResourceDefinition
CustomResource
DaemonSet
DeploymentConfig
HorizontalPodAutoscaler
Ingress
MutatingWebhook
NetworkPolicy
PersistentVolumeClaim
Pod
PodDisruptionBudget
PodTemplate
ReplicaSet
Role
RoleBinding
Route
Secret
Service
ServiceAccount
StatefulSet
ValidatingWebhook
Métodos de instalación de aplicaciones compatibles
Astra Control es compatible con los siguientes métodos de instalación de aplicaciones:
-
Fichero manifiesto: Astra Control admite aplicaciones instaladas desde un archivo manifiesto mediante kubectl. Por ejemplo:
kubectl apply -f myapp.yaml
-
Helm 3: Si utiliza Helm para instalar aplicaciones, Astra Control requiere Helm versión 3. Es totalmente compatible con la gestión y clonación de aplicaciones instaladas con Helm 3 (o actualizadas de Helm 2 a Helm 3). No se admite la administración de aplicaciones instaladas con Helm 2.
-
Aplicaciones implementadas por el operador: Astra Control admite aplicaciones instaladas con operadores de ámbito de espacio de nombres que, en general, están diseñadas con una arquitectura “pass-by-value” en lugar de “pass-by-reference”. Un operador y la aplicación que instala deben usar el mismo espacio de nombres; es posible que deba modificar el archivo YAML de implementación para que el operador se asegure de que este es el caso.
Las siguientes son algunas aplicaciones del operador que siguen estos patrones:
-
Para K8ssandra, se admiten operaciones de restauración in situ. Una operación de restauración a un nuevo espacio de nombres o clúster requiere que se apague la instancia original de la aplicación. Esto es para garantizar que la información del grupo de pares no conduzca a la comunicación entre instancias. No se admite la clonación de la aplicación.
Es posible que Astra Control no pueda clonar a un operador diseñado con una arquitectura "pase por referencia" (por ejemplo, el operador CockroachDB). Durante estos tipos de operaciones de clonado, el operador clonado intenta hacer referencia a los secretos de Kubernetes del operador de origen a pesar de tener su propio secreto nuevo como parte del proceso de clonado. Es posible que se produzca un error en la operación de clonado porque Astra Control no conoce los secretos de Kubernetes en el operador de origen.
-
Instale las aplicaciones en el clúster
La tienes "ha agregado el clúster" A Astra Control, puede instalar aplicaciones o gestionar las aplicaciones existentes en el clúster. Cualquier aplicación que se limita a uno o más espacios de nombres se puede gestionar.
Defina las aplicaciones
Una vez que Astra Control detecta espacios de nombres en sus clústeres, puede definir las aplicaciones que desea administrar. Puede elegir administrar una aplicación que abarque uno o más espacios de nombres o. gestione un espacio de nombres completo como una única aplicación. Todo se reduce al nivel de granularidad que necesita para las operaciones de protección de datos.
Aunque Astra Control le permite gestionar por separado ambos niveles de la jerarquía (el espacio de nombres y las aplicaciones en ese espacio de nombres o espacio de nombres expansivo), la práctica recomendada es elegir uno u otro. Las acciones que realice en Astra Control pueden fallar si las acciones se llevan a cabo al mismo tiempo tanto en el espacio de nombres como en el nivel de la aplicación.
A modo de ejemplo, puede que desee establecer una normativa de backup para «maria» con una cadencia semanal, pero es posible que deba realizar backups de «mariadb» (que se encuentra en el mismo espacio de nombres) con mayor frecuencia que esta. Según estas necesidades, debería gestionar las aplicaciones por separado, no como una aplicación de espacio de nombres único. |
-
Se añadió un clúster de Kubernetes a Astra Control.
-
Una o más aplicaciones instaladas en el clúster. Obtenga más información sobre los métodos de instalación de aplicaciones compatibles.
-
Espacios de nombres existentes en el clúster Kubernetes que se añadió a Astra Control.
-
(Opcional) una etiqueta de Kubernetes en cualquiera "Recursos de Kubernetes compatibles".
Una etiqueta es una pareja clave/valor que se puede asignar a objetos de Kubernetes para su identificación. Las etiquetas facilitan la ordenación, la organización y la búsqueda de los objetos de Kubernetes. Para obtener más información acerca de las etiquetas de Kubernetes, "Consulte la documentación oficial de Kubernetes".
-
Antes de empezar, también debe entender "gestión de espacios de nombres estándar y del sistema".
-
Si planea utilizar varios espacios de nombres con sus aplicaciones en Astra Control, "modificar los roles de usuario con restricciones de espacio de nombres" Tras actualizar a una versión de Astra Control Center compatible con varios espacios de nombres.
-
Para obtener instrucciones sobre cómo gestionar aplicaciones mediante la API de Astra Control, consulte "Información sobre API y automatización de Astra".
Defina los recursos que se van a administrar como una aplicación
Puede especificar el "Los recursos de Kubernetes forman una aplicación" Que desea gestionar con Astra Control. Definir una aplicación le permite agrupar elementos de su clúster de Kubernetes en una única aplicación. Esta colección de recursos de Kubernetes está organizada por criterios de espacio de nombres y selector de etiquetas.
Definir una aplicación le proporciona un control más granular de lo que se debe incluir en una operación Astra Control, que incluye clonado, copias Snapshot y backups.
Al definir aplicaciones, asegúrese de no incluir un recurso de Kubernetes en varias aplicaciones con políticas de protección. La superposición de políticas de protección en recursos de Kubernetes puede provocar conflictos de datos. Más información en un ejemplo. |
Amplíe para obtener más información sobre cómo agregar recursos de ámbito de cluster a los espacios de nombres de aplicaciones.
Puede importar recursos de clúster asociados a los recursos de espacio de nombres además de los que se incluyen automáticamente Astra Control. Puede agregar una regla que incluirá recursos de un grupo específico, tipo, versión y, opcionalmente, etiqueta. Es posible que desee hacer esto si hay recursos que Astra Control no incluye automáticamente.
No puede excluir ninguno de los recursos con ámbito de clúster que Astra Control incluya automáticamente.
Puede agregar lo siguiente apiVersions
(Que son los grupos combinados con la versión API):
Tipo de recursos | ApiVersions (grupo + versión) |
---|---|
|
rbac.authorization.k8s.io/v1 |
|
rbac.authorization.k8s.io/v1 |
|
apiextensions.k8s.io/v1, apiextensions.k8s.io/v1beta1 |
|
apiextensions.k8s.io/v1, apiextensions.k8s.io/v1beta1 |
|
admissionregistration.k8s.io/v1 |
|
admissionregistration.k8s.io/v1 |
-
En la página aplicaciones, seleccione definir.
-
En la ventana definir aplicación, introduzca el nombre de la aplicación.
-
Seleccione el clúster en el que se ejecuta la aplicación en la lista desplegable Cluster.
-
Elija un espacio de nombres para su aplicación en la lista desplegable espacio de nombres.
Las aplicaciones se pueden definir dentro de uno o más espacios de nombres especificados en un único clúster mediante Astra Control. Una aplicación puede contener recursos que abarcan varios espacios de nombres dentro del mismo clúster. Astra Control no admite la capacidad de definir las aplicaciones en varios clústeres. -
(Opcional) Introduzca una etiqueta para los recursos de Kubernetes en cada espacio de nombres. Puede especificar una sola etiqueta o un criterio de selector de etiquetas (consulta).
Para obtener más información acerca de las etiquetas de Kubernetes, "Consulte la documentación oficial de Kubernetes". -
(Opcional) Añada espacios de nombres adicionales para la aplicación seleccionando Agregar espacio de nombres y eligiendo el espacio de nombres en la lista desplegable.
-
(Opcional) Introduzca los criterios de etiqueta única o selector de etiquetas para los espacios de nombres adicionales que añada.
-
(Opcional) para incluir recursos de ámbito de clúster además de los que Astra Control incluye automáticamente, marque incluir recursos adicionales de ámbito de clúster y complete lo siguiente:
-
Seleccione Agregar regla de inclusión.
-
Grupo: En la lista desplegable, seleccione el grupo API de recursos.
-
Kind: En la lista desplegable, seleccione el nombre del esquema de objetos.
-
Versión: Introduzca la versión API.
-
Selector de etiquetas: Opcionalmente, incluya una etiqueta que se agregará a la regla. Esta etiqueta se utiliza para recuperar solo los recursos que coincidan con esta etiqueta. Si no proporciona una etiqueta, Astra Control recopila todas las instancias del tipo de recurso especificado para ese clúster.
-
Revise la regla que se crea en función de las entradas.
-
Seleccione Agregar.
Puede crear tantas reglas de recursos con ámbito de clúster como desee. Las reglas aparecen en definir resumen de la aplicación.
-
-
Seleccione definir.
-
Después de seleccionar definir, repita el proceso para otras aplicaciones, según sea necesario.
Cuando termine de definir una aplicación, la aplicación aparecerá en Healthy
estado en la lista de aplicaciones de la página aplicaciones. Ahora puede clonarla y crear backups y copias Snapshot.
Es posible que la aplicación que acaba de agregar tenga un icono de advertencia en la columna protegido, lo que indica que no se ha realizado una copia de seguridad y que aún no está programada para las copias de seguridad. |
Para ver los detalles de una aplicación en particular, seleccione el nombre de la aplicación. |
Para ver los recursos agregados a esta aplicación, seleccione la ficha Recursos. Seleccione el número después del nombre del recurso en la columna Resource o introduzca el nombre del recurso en la búsqueda para ver los recursos adicionales con ámbito del clúster incluidos.
Defina un espacio de nombres para administrar como una aplicación
Puede añadir todos los recursos de Kubernetes en un espacio de nombres a la gestión de Astra Control al definir los recursos de ese espacio de nombres como una aplicación. Este método es preferible a definir las aplicaciones individualmente si piensa administrar y proteger todos los recursos de un espacio de nombres determinado de una manera similar y en intervalos comunes.
-
En la página Clusters, seleccione un clúster.
-
Seleccione la ficha Namespaces.
-
Seleccione el menú acciones del espacio de nombres que contiene los recursos de aplicación que desea administrar y seleccione definir como aplicación.
Si desea definir varias aplicaciones, seleccione en la lista de espacios de nombres y seleccione el botón acciones en la esquina superior izquierda y seleccione definir como aplicación. Esto definirá varias aplicaciones individuales en sus espacios de nombres individuales. Para aplicaciones con varios espacios de nombres, consulte Defina los recursos que se van a administrar como una aplicación. Active la casilla de verificación Mostrar espacios de nombres del sistema para mostrar los espacios de nombres del sistema que normalmente no se usan en la administración de aplicaciones de forma predeterminada. "Leer más".
Una vez completado el proceso, las aplicaciones asociadas al espacio de nombres aparecen en la Associated applications
columna.
[Vista PREVIA TÉCNICA] Defina una aplicación utilizando un recurso personalizado de Kubernetes
Puede especificar los recursos de Kubernetes que desee gestionar con Astra Control definiéndolos como aplicación mediante un recurso personalizado (CR). Puede añadir recursos de ámbito en clúster si desea gestionar esos recursos individualmente o todos los recursos de Kubernetes en un espacio de nombres si, por ejemplo, tiene la intención de gestionar y proteger todos los recursos de un espacio de nombres particular de una forma similar y con intervalos comunes.
-
Cree el archivo de recursos personalizados (CR) y asígnele un nombre (por ejemplo,
astra_mysql_app.yaml
). -
Asigne un nombre a la aplicación en
metadata.name
. -
Defina los recursos de aplicación que se van a gestionar:
spec.includedClusterScopedResourcesIncluye los tipos de recursos de ámbito del clúster además de los que Astra Control incluye automáticamente:
-
spec.includedClusterScopedResources: (Opcional) Una lista de tipos de recursos de ámbito de cluster que se incluirán.
-
GroupVersionKind: (Opcional) identifica inequívocamente un tipo.
-
GROUP: (requerido si se usa groupVersionKind) Grupo API del recurso a incluir.
-
VERSIÓN: (requerido si se usa groupVersionKind) Versión API del recurso a incluir.
-
Kind: (requerido si se usa groupVersionKind) tipo de recurso a incluir.
-
-
LabelSelector: (Opcional) Una consulta de etiqueta para un conjunto de recursos. Se utiliza para recuperar solo los recursos que coinciden con la etiqueta. Si no proporciona una etiqueta, Astra Control recopila todas las instancias del tipo de recurso especificado para ese clúster. El resultado de matchLabels y matchExpressions son ANDed.
-
MatchLabels: (Opcional) Un mapa de {key,value} pares. Un único {key,value} en el mapa matchLabels es equivalente a un elemento de matchExpressions que tiene un campo clave de “key”, operador como “in” y matriz de valores que contiene solo “value”. Los requisitos son ANDed.
-
MatchExpressions: (Opcional) Una lista de los requisitos del selector de etiquetas. Los requisitos son ANDed.
-
KEY: (requerido si se usa matchExpressions) La clave de etiqueta asociada con el selector de etiquetas.
-
OPERATOR: (requerido si se usa matchExpressions) representa la relación de una clave con un conjunto de valores. Los operadores válidos son
In
,NotIn
,Exists
y..DoesNotExist
. -
VALORES: (requerido si se utiliza matchExpressions)_Una matriz de valores de cadena. Si el operador es
In
o.NotIn
, la matriz de valores debe _not estar vacía. Si el operador esExists
o.DoesNotExist
, la matriz de valores debe estar vacía.
-
-
-
spec.includedNamespacesIncluya espacios de nombres y recursos dentro de esos recursos en la aplicación:
-
spec.includedNamespaces: _(required)_Define el espacio de nombres y los filtros opcionales para la selección de recursos.
-
Namespace: (required) El espacio de nombres que contiene los recursos de la aplicación que desea administrar con Astra Control.
-
LabelSelector: (Opcional) Una consulta de etiqueta para un conjunto de recursos. Se utiliza para recuperar solo los recursos que coinciden con la etiqueta. Si no proporciona una etiqueta, Astra Control recopila todas las instancias del tipo de recurso especificado para ese clúster. El resultado de matchLabels y matchExpressions son ANDed.
-
MatchLabels: (Opcional) Un mapa de {key,value} pares. Un único {key,value} en el mapa matchLabels es equivalente a un elemento de matchExpressions que tiene un campo clave de “key”, operador como “in” y matriz de valores que contiene solo “value”. Los requisitos son ANDed.
-
MatchExpressions: (Opcional) Una lista de los requisitos del selector de etiquetas.
key
y..operator
son obligatorios. Los requisitos son ANDed.-
KEY: (requerido si se usa matchExpressions) La clave de etiqueta asociada con el selector de etiquetas.
-
OPERATOR: (requerido si se usa matchExpressions) representa la relación de una clave con un conjunto de valores. Los operadores válidos son
In
,NotIn
,Exists
y..DoesNotExist
. -
Valores: (requerido si se usa matchExpressions) Una matriz de valores de cadena. Si el operador es
In
o.NotIn
, la matriz de valores debe not estar vacía. Si el operador esExists
o.DoesNotExist
, la matriz de valores debe estar vacía.
-
-
-
Ejemplo YAML:
apiVersion: astra.netapp.io/v1 kind: Application metadata: name: astra_mysql_app spec: includedNamespaces: - namespace: astra_mysql_app labelSelector: matchLabels: app: nginx env: production matchExpressions: - key: tier operator: In values: - frontend - backend
-
-
Después de rellenar el
astra_mysql_app.yaml
Con los valores correctos, aplique el CR:kubectl apply -f astra_mysql_app.yaml -n astra-connector
¿Qué ocurre con los espacios de nombres del sistema?
Astra Control también detecta espacios de nombres de sistemas en un clúster de Kubernetes. No le mostramos estos espacios de nombres del sistema de forma predeterminada porque es raro que necesite realizar backups de los recursos de la aplicación del sistema.
Puede visualizar los espacios de nombres del sistema desde la ficha espacios de nombres de un clúster seleccionado activando la casilla de verificación Mostrar espacios de nombres del sistema .
Astra Control Center no se muestra de forma predeterminada como una aplicación que puedes gestionar, pero puedes crear backups y restaurar una instancia de Astra Control Center mediante otra instancia de Astra Control Center. |
Ejemplo: Separar la normativa de protección para diferentes versiones
En este ejemplo, el equipo de devops gestiona una puesta en marcha de versiones «canaria». El grupo del equipo tiene tres pods que se ejecutan nginx. Dos de los pods están dedicados a la versión estable. El tercer pod es para el lanzamiento canario.
El administrador de Kubernetes del equipo de devops añade la etiqueta deployment=stable
a los pods de liberación estables. El equipo agrega la etiqueta deployment=canary
a la cápsula de liberación canaria.
La versión estable del equipo incluye los requisitos de snapshots cada hora y backups diarios. la liberación canaria es más efímera, por lo que quieren crear una Política de Protección a corto plazo menos agresiva para cualquier cosa etiquetada deployment=canary
.
Para evitar posibles conflictos de datos, el administrador creará dos aplicaciones: Una para el lanzamiento "canario" y otra para el lanzamiento "estable". De este modo, los backups, las snapshots y las operaciones de clonado se mantienen independientes para los dos grupos de objetos de Kubernetes.