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 utilizzando la CLI AWS
Questo argomento descrive come creare una funzionalità kro (Kube Resource Orchestrator) utilizzando la CLI. AWS
Prerequisiti
-
AWS CLI: versione
2.12.3o successiva. Per verificare la tua versione,aws --versionesegui. Per ulteriori informazioni, consulta la Guida per l'utente all'installazione nell'interfaccia a riga di AWS comando. -
kubectl— Uno strumento da riga di comando per lavorare con i cluster Kubernetes. Per ulteriori informazioni, consulta Impostazione di kubectl e eksctl.
Fase 1: creazione di un ruolo IAM Capability
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. kro opera interamente all'interno del cluster e non effettua chiamate API. AWS Il ruolo è necessario solo per stabilire un rapporto di fiducia con il servizio EKS Capabilities.
Fase 2: Creare la funzionalità kro
Crea la risorsa di funzionalità kro sul tuo cluster. Sostituiscilo region-code con la AWS regione in cui si trova il cluster (ad esempious-west-2) e my-cluster con il nome del cluster.
aws eks create-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-kro \ --type KRO \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/KROCapabilityRole \ --delete-propagation-policy RETAIN
Il comando viene restituito immediatamente, ma la funzionalità impiega del tempo per diventare attiva poiché EKS crea l'infrastruttura e i componenti di funzionalità richiesti. EKS installerà le Kubernetes Custom Resource Definitions relative a questa funzionalità nel cluster non appena viene creata.
Nota
Se ricevi un errore che indica che il cluster non esiste o non disponi delle autorizzazioni, verifica:
-
Il nome del cluster è corretto
-
La tua AWS CLI è configurata per la regione corretta
-
Disponi delle autorizzazioni IAM richieste
Fase 3: Verifica che la funzionalità sia attiva
Attendi che la funzionalità diventi attiva. Sostituiscilo region-code con la AWS regione in cui si trova il cluster e sostituiscilo my-cluster con il nome del cluster.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-kro \ --query 'capability.status' \ --output text
La funzionalità è pronta quando viene visualizzato lo statoACTIVE.
Puoi anche visualizzare i dettagli completi delle funzionalità:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-kro
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 \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-kro \ --query 'capability.roleArn' \ --output text)
Associa la politica di amministrazione del cluster:
aws eks associate-access-policy \ --regionregion-code\ --cluster-namemy-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
-
concetti kro- Comprendi i concetti kro e la composizione delle risorse
-
concetti kro- Scopri SimpleSchema le espressioni CEL e i modelli di composizione
-
Lavorare con risorse di capacità- Gestisci la tua risorsa kro Capability