Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Recursos da funcionalidade do Kubernetes
Após habilitar uma funcionalidade no cluster, você passará a interagir com ela principalmente por meio da criação e do gerenciamento de recursos personalizados do Kubernetes no cluster. Cada funcionalidade fornece seu próprio conjunto de definições de recursos personalizados (CRDs, na sigla em inglês) que ampliam a API do Kubernetes com funcionalidades específicas.
Recursos do Argo CD
Quando você habilita a funcionalidade do Argo CD, torna-se possível criar e gerenciar os seguintes recursos do Kubernetes:
- Aplicação
-
Define a implantação de um repositório do Git para um cluster de destino. Os recursos do tipo
Applicationespecificam o repositório de origem, o namespace de destino e a política de sincronização. É possível criar até mil recursos do tipoApplicationpara cada instância da funcionalidade do Argo CD. - ApplicationSet
-
Gera diversos recursos do tipo
Applicationbaseados em modelos, permitindo implantações em vários clusters e diversos ambientes. Os recursos do tipoApplicationSetutilizam geradores para criar recursos do tipoApplicationdinamicamente com base em listas de clusters, diretórios do Git ou outras fontes. - AppProject
-
Fornece agrupamento lógico e controle de acesso para recursos do tipo
Application. Os recursos do tipoAppProjectdefinem quais repositórios, clusters e namespaces os recursos do tipoApplicationpodem usar, permitindo multilocação e limites de segurança.
Exemplo de recurso do tipo 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 obter mais informações sobre recursos e conceitos do Argo CD, consulte Conceitos do Argo CD.
Recursos do kro
Quando você habilita a funcionalidade do kro, torna-se possível criar e gerenciar os seguintes recursos do Kubernetes:
- ResourceGraphDefinition (RGD)
-
Define uma API personalizada que compõe diversos recursos do Kubernetes e da AWS em uma abstração de nível superior. As equipes responsáveis pela plataforma criam recursos do tipo
ResourceGraphDefinitionpara disponibilizar padrões reutilizáveis com barreiras de proteção. - Instâncias de recursos personalizados
-
Após criar um recurso do tipo
ResourceGraphDefinition, você pode criar instâncias da API personalizada definida porResourceGraphDefinition. O kro cria e gerencia automaticamente os recursos especificados naResourceGraphDefinition.
Exemplo de recurso do tipo 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
Exemplo de instância do tipo WebApplication:
apiVersion: v1alpha1 kind: WebApplication metadata: name: my-web-app namespace: default spec: name: my-web-app replicas: 3
Ao aplicar esta instância, o kro cria automaticamente os recursos Deployment e Service definidos na ResourceGraphDefinition.
Para obter mais informações sobre recursos e conceitos do kro, consulte Conceitos do kro.
Recursos do ACK
Quando você habilita a funcionalidade do ACK, torna-se possível criar e gerenciar recursos da AWS por meio de recursos personalizados do Kubernetes. O ACK fornece mais de 200 CRDs para mais de 50 serviços da AWS, permitindo definir recursos da AWS em conjunto com workloads do Kubernetes e gerenciar recursos dedicados de infraestrutura da AWS com o Kubernetes.
Exemplos de recursos do ACK:
- Bucket do S3
-
Os recursos do tipo
Bucketrealizam a criação e o gerenciamento de buckets do Amazon S3 com políticas de ciclo de vida, criptografia e versionamento. - DBInstance do RDS
-
Os recursos do tipo
DBInstancerealizam o provisionamento e o gerenciamento de instâncias de bancos de dados do Amazon RDS com janelas de manutenção e backups automáticos. - Tabela do DynamoDB
-
Os recursos do tipo
Tablerealizam a criação e o gerenciamento de tabelas do DynamoDB com capacidade sob demanda ou provisionada. - Perfil do IAM
-
Os recursos do tipo
Roledefinem os perfis do IAM com as políticas de confiança e de permissão para acesso aos serviços da AWS. - Função do Lambda
-
Os recursos do tipo
Functionrealizam a criação e o gerenciamento de funções do Lambda, incluindo a configuração de código, runtime e perfil de execução.
Exemplo de especificação para um recurso do tipo 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 obter mais informações sobre recursos e conceitos do ACK, consulte Conceitos do ACK.
Limites de recurso
As funcionalidades EKS têm os seguintes limites de recursos:
Limites de uso do Argo CD:
-
Máximo de mil recursos do tipo
Applicationpor instância da funcionalidade do Argo CD -
Máximo de cem clusters remotos configurados por instância da funcionalidade do Argo CD
Limites de configuração de recursos:
-
Máximo de 150 recursos do Kubernetes por recurso do tipo
Applicationno Argo CD -
Máximo de 64 recursos do Kubernetes por
ResourceGraphDefinitionno kro
nota
Estes limites são válidos para a quantidade de recursos gerenciados por cada instância de funcionalidade. Caso necessite de limites superiores, é possível fazer a implantação das funcionalidades em diversos clusters.
Próximas etapas
Para realizar tarefas específicas de cada funcionalidade e acessar configurações avançadas, consulte os seguintes tópicos:
-
Conceitos do ACK: compreenda os conceitos do ACK e o ciclo de vida dos recursos
-
Como trabalhar com o Argo CD: saiba como trabalhar com funcionalidades do Argo CD para fluxos de trabalho de GitOps
-
Conceitos do kro: compreenda os conceitos do kro e a composição de recursos