Crea una funzionalità kro usando eksctl - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea una funzionalità kro usando eksctl

Questo argomento descrive come creare una funzionalità kro (Kube Resource Orchestrator) usando eksctl.

Nota

I seguenti passaggi richiedono la versione eksctl o successiva. 0.220.0 Per verificare la tua versione, esegui. eksctl version

Fase 1: Creare un ruolo di capacità IAM

Crea un file di policy di fiducia:

cat > kro-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF

Crea il ruolo IAM:

aws iam create-role \ --role-name KROCapabilityRole \ --assume-role-policy-document file://kro-trust-policy.json
Nota

A differenza di ACK e Argo CD, kro non richiede autorizzazioni IAM aggiuntive oltre alla policy di fiducia. kro opera interamente all'interno del cluster e non effettua chiamate API. AWS

Fase 2: Creare la funzionalità kro

Crea la funzionalità kro usando eksctl. Sostituiscilo region-code con la AWS regione in cui si trova il cluster e sostituiscilo my-cluster con il nome del cluster.

eksctl create capability \ --region region-code \ --cluster my-cluster \ --name my-kro \ --type KRO \ --role-arn arn:aws:iam::[.replaceable]111122223333:role/KROCapabilityRole

Il comando viene restituito immediatamente, ma la funzionalità impiega del tempo per diventare attiva.

Fase 3: Verificare che la funzionalità sia attiva

Verifica lo stato della capacità. Sostituiscilo region-code con la AWS regione in cui si trova il cluster e sostituiscilo my-cluster con il nome del cluster.

eksctl get capability \ --region region-code \ --cluster my-cluster \ --name my-kro

La funzionalità è pronta quando viene visualizzato lo statoACTIVE.

Passaggio 4: concedere le autorizzazioni per gestire le risorse Kubernetes

Per impostazione predefinita, kro può solo creare e gestire le relative istanze. ResourceGraphDefinitions Per consentire a kro di creare e gestire le risorse Kubernetes sottostanti definite nel tuo ResourceGraphDefinitions, associa la policy di accesso alla voce di AmazonEKSClusterAdminPolicy accesso della funzionalità.

Ottieni il ruolo di capacità ARN:

CAPABILITY_ROLE_ARN=$(aws eks describe-capability \ --region region-code \ --cluster my-cluster \ --name my-kro \ --query 'capability.roleArn' \ --output text)

Associa la politica di amministrazione del cluster:

aws eks associate-access-policy \ --region region-code \ --cluster my-cluster \ --principal-arn $CAPABILITY_ROLE_ARN \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \ --access-scope type=cluster
Importante

AmazonEKSClusterAdminPolicyConcede ampie autorizzazioni per creare e gestire tutte le risorse Kubernetes e ha lo scopo di semplificare l'avvio. Per l'uso in produzione, crea politiche RBAC più restrittive che concedano solo le autorizzazioni necessarie per le risorse specifiche che gestirai. ResourceGraphDefinitions Per indicazioni sulla configurazione delle autorizzazioni con privilegi minimi, consulta e. Configura le autorizzazioni kro Considerazioni sulla sicurezza per EKS Capabilities

Passaggio 5: Verifica della disponibilità di risorse personalizzate

Dopo che la funzionalità è attiva, verifica che le risorse personalizzate kro siano disponibili nel tuo cluster:

kubectl api-resources | grep kro.run

Dovresti vedere il tipo di ResourceGraphDefinition risorsa elencato.

Fasi successive