Recursos de Kubernetes de las capacidades - Amazon EKS

Ayude a mejorar esta página

Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.

Recursos de Kubernetes de las capacidades

Una vez que active una capacidad en el clúster, por lo general, interactuará con ella mediante la creación y administración de los recursos personalizados de Kubernetes en el clúster. Cada capacidad proporciona su propio conjunto de definiciones de recursos personalizados (CRD) que amplían la API de Kubernetes con funcionalidades específicas de cada capacidad.

Recursos de Argo CD

Al activar la capacidad de Argo CD, puede crear y administrar los siguientes recursos de Kubernetes:

Aplicación

Define una implementación desde un repositorio de Git a un clúster de destino. Los recursos de Application especifican el repositorio de origen, el espacio de nombres de destino y la política de sincronización. Puede crear hasta 1000 recursos de Application por instancia de capacidad de Argo CD.

ApplicationSet

Genera varios recursos de Application a partir de plantillas, lo que permite implementaciones en varios clústeres y entornos. Los recursos de ApplicationSet utilizan generadores para crear recursos de Application de forma dinámica en función de listas de clústeres, directorios de Git u otros orígenes.

AppProject

Proporciona agrupamiento lógico y control de acceso a los recursos de Application. Los recursos de AppProject definen qué repositorios, clústeres y espacios de nombres pueden usar los recursos de Application, lo que permite establecer límites de seguridad y de tenencia múltiple.

Ejemplo de recurso de Application:

apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: my-app namespace: argocd spec: project: default source: repoURL: https://github.com/org/repo targetRevision: main path: manifests destination: server: https://kubernetes.default.svc namespace: production

Para obtener más información sobre los conceptos y recursos de Argo CD, consulte Conceptos de Argo CD.

Recursos de kro

Al activar la capacidad de kro, puede crear y administrar los siguientes recursos de Kubernetes:

ResourceGraphDefinition (RGD)

Define una API personalizada que compone varios Kubernetes y recursos de AWS en una abstracción de nivel superior. Los equipos de plataformas crean recursos de ResourceGraphDefinition para proporcionar patrones reutilizables con barreras de protección.

Instancias de recursos personalizados

Tras crear un recurso de ResourceGraphDefinition, puede crear instancias de la API personalizada definida por la ResourceGraphDefinition. kro crea y administra automáticamente los recursos especificados en la ResourceGraphDefinition.

Ejemplo de recurso de ResourceGraphDefinition:

apiVersion: kro.run/v1alpha1 kind: ResourceGraphDefinition metadata: name: web-application spec: schema: apiVersion: v1alpha1 kind: WebApplication spec: name: string replicas: integer resources: - id: deployment template: apiVersion: apps/v1 kind: Deployment # ... deployment spec - id: service template: apiVersion: v1 kind: Service # ... service spec

Ejemplo de instancia de WebApplication:

apiVersion: v1alpha1 kind: WebApplication metadata: name: my-web-app namespace: default spec: name: my-web-app replicas: 3

Al aplicar esta instancia, kro crea automáticamente los recursos de Deployment y Service definidos en la ResourceGraphDefinition.

Para obtener más información sobre los conceptos y recursos de kro, consulte Conceptos de kro.

Recursos de ACK

Al activar la capacidad de ACK, puede crear y administrar los recursos de AWS mediante los recursos personalizados de Kubernetes. ACK proporciona más de 200 CRD para más de 50 servicios de AWS, lo que le permite definir los recursos de AWS junto con sus cargas de trabajo de Kubernetes y administrar los recursos de infraestructura de AWS dedicados con Kubernetes.

Ejemplos de recursos de ACK:

Bucket de S3

Los recursos de Bucket crean y administran buckets de Amazon S3 con políticas de control de versiones, cifrado y ciclo de vida.

DBInstance de RDS

Los recursos de DBInstance aprovisionan y administran las instancias de bases de datos de Amazon RDS con copias de seguridad automatizadas y plazos de mantenimiento.

Tabla de DynamoDB

Los recursos de Table crean y administran tablas de DynamoDB con capacidad aprovisionada o bajo demanda.

Rol de IAM

Los recursos de Role definen los roles de IAM con políticas de confianza y políticas de permisos para el acceso a los servicios de AWS.

Función Lambda

Los recursos de Function crean y administran funciones de Lambda con configuración de código, tiempo de ejecución y rol de ejecución.

Ejemplo de especificación de un recurso de Bucket:

apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: my-app-bucket spec: name: my-unique-bucket-name-12345 versioning: status: Enabled encryption: rules: - applyServerSideEncryptionByDefault: sseAlgorithm: AES256

Para obtener más información sobre los conceptos y recursos de ACK, consulte Conceptos de ACK.

Límites de recursos

Las capacidades de EKS tienen los siguientes límites de recursos:

Límites de uso de Argo CD:

  • Máximo de 1000 recursos de Application por instancia de capacidad de Argo CD

  • Máximo de 100 clústeres remotos configurados por instancia de capacidad de Argo CD

Límites de configuración de recursos:

  • Máximo 150 recursos de Kubernetes por recurso de Application en Argo CD

  • Máximo 64 recursos de Kubernetes por ResourceGraphDefinition en kro

nota

Estos límites se aplican a la cantidad de recursos administrados por cada instancia de capacidad. Si necesita límites más elevados, puede implementar capacidades en varios clústeres.

Siguientes pasos

Para obtener información sobre tareas específicas de las capacidades y configuración avanzada, consulte los siguientes temas:

  • Conceptos de ACK: descripción de los conceptos de ACK y el ciclo de vida de los recursos

  • Uso de Argo CD: uso de las capacidades de Argo CD para flujos de trabajo de GitOps

  • Conceptos de kro: descripción de los conceptos de kro y la composición de recursos