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à.
Accedi agli oggetti Amazon S3 con il driver Mountpoint per Amazon S3 CSI
Con il driver Mountpoint per Amazon S3 Container Storage Interface CSI ()
Considerazioni
-
Il Mountpoint il CSI driver per Amazon S3 non è attualmente compatibile con le immagini dei container basate su Windows.
-
Il Mountpoint il CSI driver per Amazon S3 non supporta AWS Fargate. Tuttavia, i contenitori in esecuzione su Amazon EC2 (con Amazon EKS o uno strumento personalizzato) Kubernetes installazione) sono supportate.
-
Il Mountpoint il CSI driver per Amazon S3 supporta solo il provisioning statico. Il provisioning dinamico, o la creazione di nuovi bucket, non è supportato.
Nota
Il provisioning statico si riferisce all'utilizzo di un bucket Amazon S3 esistente specificato come
bucketName
volumeAttributes
nell'oggetto.PersistentVolume
Per ulteriori informazioni, consulta Static Provisioning suGitHub. -
Volumi montati con Mountpoint i CSI driver per Amazon S3 non supportano tutte le funzionalità del POSIX file system. Per dettagli sul comportamento del file system, consulta il comportamento del file system Mountpoint for Amazon S3 su
GitHub.
Prerequisiti
-
Un AWS Identity and Access Management esistente (IAM) OpenID Connect (OIDC) provider per il tuo cluster. Per determinare se disponi già di un provider IAM o per crearne uno, consulta Crea un IAM OIDC provider per il tuo cluster.
-
Versione 2.12.3 o successiva di quella AWS CLI installata e configurata sul dispositivo o. AWS CloudShell
-
Lo strumento da
kubectl
riga di comando è installato sul dispositivo o. AWS CloudShell La versione può essere uguale o superiore a una versione secondaria precedente o successiva alla Kubernetes versione del cluster. Ad esempio, se la versione del cluster è1.29
, puoi usarekubectl
versione1.28
,1.29
o1.30
. Per installare o aggiornarekubectl
, consulta Configura kubectl ed eksctl:
Crea una IAM politica
Il Mountpoint per il CSI driver Amazon S3 sono necessarie le autorizzazioni Amazon S3 per interagire con il file system. Questa sezione mostra come creare una IAM policy che conceda le autorizzazioni necessarie.
La seguente politica di esempio segue le raccomandazioni di IAM autorizzazione per Mountpoint. In alternativa, puoi utilizzare la politica AWS gestita AmazonS3 FullAccess
Per ulteriori informazioni sulle autorizzazioni consigliate per Mountpoint, consulta i permessi di Mountpoint su IAM
-
Apri la IAM console all'indirizzo. https://console.aws.amazon.com/iam/
-
Nel pannello di navigazione a sinistra, seleziona Policy.
-
Nella pagina Policy, scegli Crea policy.
-
Per Policy editor, scegli JSON.
-
In Editor di policy, copia e incolla quanto segue:
Importante
Sostituisci
amzn-s3-demo-bucket1
con il nome del bucket Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Sid": "MountpointFullBucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws: s3:::amzn-s3-demo-bucket1" ] }, { "Sid": "MountpointFullObjectAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:DeleteObject" ], "Resource": [ "arn:aws: s3:::amzn-s3-demo-bucket1/*" ] } ] }
I bucket di directory, introdotti con la classe di storage Amazon S3 Express One Zone, utilizzano un meccanismo di autenticazione diverso rispetto ai bucket generici. Invece di usare
s3:*
le azioni, dovresti usare l'azione.s3express:CreateSession
Per informazioni sui bucket di directory, consulta Directory buckets nella Amazon S3 User Guide.Di seguito è riportato un esempio di politica di privilegi minimi da utilizzare per un bucket di directory.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3express:CreateSession", "Resource": "arn:aws: s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket1--usw2-az1--x-s3" } ] }
-
Scegli Next (Successivo).
-
Nella pagina Verifica e crea, assegna un nome alla policy. Questa procedura guidata di esempio utilizza il nome
AmazonS3CSIDriverPolicy
. -
Scegli Create Policy (Crea policy).
Creare un ruolo IAM.
Il Mountpoint per il CSI driver Amazon S3 sono necessarie le autorizzazioni Amazon S3 per interagire con il file system. Questa sezione mostra come creare un IAM ruolo per delegare queste autorizzazioni. Per creare questo ruolo, puoi utilizzare uno di questi strumenti:
Nota
La IAM politica AmazonS3CSIDriverPolicy
è stata creata nella sezione precedente.
eksctl
Per creare il tuo Mountpoint per il ruolo di CSI driver IAM di Amazon S3 con eksctl
Per creare il IAM ruolo e il Kubernetes account di servizio, esegui i seguenti comandi. Questi comandi allegano inoltre la AmazonS3CSIDriverPolicy
IAM politica al ruolo, annota il Kubernetes service account (s3-csi-controller-sa
) con l'Amazon Resource Name (ARN) del IAM ruolo e aggiungi Kubernetes nome dell'account di servizio alla politica di fiducia per il IAM ruolo.
CLUSTER_NAME=my-cluster REGION=region-code ROLE_NAME=AmazonEKS_S3_CSI_DriverRole POLICY_ARN=AmazonEKS_S3_CSI_DriverRole_ARN eksctl create iamserviceaccount \ --name s3-csi-driver-sa \ --namespace kube-system \ --cluster $CLUSTER_NAME \ --attach-policy-arn $POLICY_ARN \ --approve \ --role-name $ROLE_NAME \ --region $REGION \ --role-only
AWS Management Console
-
Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione a sinistra, seleziona Ruoli.
-
Nella pagina Ruoli, seleziona Crea ruolo.
-
Nella pagina Select trusted entity (Seleziona entità attendibile), esegui le operazioni seguenti:
-
Nella sezione Tipo di identità attendibile, scegli Identità Web.
-
Per provider di identità, scegli OpenID Connect provider URL per il tuo cluster (come mostrato nella sezione Panoramica in AmazonEKS).
Se non URLs ne viene visualizzato nessuno, consulta i Prerequisiti.
-
Per Pubblico, scegli
sts.amazonaws.com
. -
Scegli Next (Successivo).
-
-
Nella pagina Add permissions (Aggiungi autorizzazioni), esegui le operazioni seguenti:
-
Nella casella Criteri di filtro, inserisci AmazonS3CSIDriverPolicy.
Nota
Questa policy è stata creata nella sezione precedente.
-
Seleziona la casella di controllo a sinistra del risultato
AmazonS3CSIDriverPolicy
restituito dalla ricerca. -
Scegli Next (Successivo).
-
-
Nella pagina Name, review, and create (Assegna un nome, rivedi e crea), esegui le operazioni seguenti:
-
Per Nome ruolo, inserisci un nome univoco per il tuo ruolo, ad esempio AmazonEKS_S3_CSI_DriverRole.
-
In Aggiungi tag (facoltativo), aggiungi metadati al ruolo collegando i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo dei tag inIAM, consulta Etichettare IAM le risorse nella Guida per l'IAMutente.
-
Scegliere Crea ruolo.
-
-
Dopo aver creato il ruolo, sceglilo nella console in modo da aprirlo per la modifica.
-
Scegli la scheda Trust relationships (Relazioni di attendibilità), quindi scegli Edit trust policy (Modifica policy di attendibilità).
-
Cercare il risultato finale simile al seguente:
"oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com"
Inserisci una virgola alla fine della riga precedente, quindi aggiungine una seguente dopo quella riga. Replace (Sostituisci)
region-code
con la AWS regione in cui si trova il cluster. Replace (Sostituisci)EXAMPLED539D4633E53DE1B71EXAMPLE
con l'ID del OIDC provider del cluster."oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:s3-csi-*"
-
Modifica l'operatore
Condition
da"StringEquals"
a"StringLike"
. -
Scegli Aggiorna policy per concludere.
AWS CLI
-
Visualizza il OIDC provider URL per il tuo cluster. Replace (Sostituisci)
my-cluster
con il nome del tuo cluster. Se l'output dal comando èNone
, rivedi i Prerequisiti.aws eks describe-cluster --name my-cluster --query "cluster.identity.oidc.issuer" --output text
Di seguito viene riportato un output di esempio:
https://oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
-
Crea il IAM ruolo, concedendo il Kubernetes account di servizio, l'
AssumeRoleWithWebIdentity
azione.-
Copia i contenuti seguenti in un file denominato
aws-s3-csi-driver-trust-policy.json
. Replace (Sostituisci)111122223333
con l'ID del tuo account. Replace (Sostituisci)EXAMPLED539D4633E53DE1B71EXAMPLE
eregion-code
con i valori restituiti nel passaggio precedente.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws: iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringLike": { "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:s3-csi-*", "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] }
-
Crea il ruolo. È possibile modificare
AmazonEKS_S3_CSI_DriverRole
con un nome diverso, ma se lo fai, assicurati di cambiarlo anche nei passaggi successivi.aws iam create-role \ --role-name AmazonEKS_S3_CSI_DriverRole \ --assume-role-policy-document file://"aws-s3-csi-driver-trust-policy.json"
-
-
Associa la IAM policy creata in precedenza al ruolo con il seguente comando.
aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonS3CSIDriverPolicy \ --role-name AmazonEKS_S3_CSI_DriverRole
Nota
La IAM politica
AmazonS3CSIDriverPolicy
è stata creata nella sezione precedente. -
Salta questo passaggio se stai installando il driver come EKS componente aggiuntivo Amazon. Per le installazioni autogestite del driver, crea Kubernetes account di servizio annotati con il ARN IAM ruolo che hai creato.
-
Salva i contenuti seguenti in un file denominato
mountpoint-s3-service-account.yaml
. Replace (Sostituisci)111122223333
con l'ID del tuo account.--- apiVersion: v1 kind: ServiceAccount metadata: labels: app.kubernetes.io/name: aws-mountpoint-s3-csi-driver name: mountpoint-s3-csi-controller-sa namespace: kube-system annotations: eks.amazonaws.com/role-arn: arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole
-
Crea il Kubernetes account di servizio sul tuo cluster. Il Kubernetes service account (
mountpoint-s3-csi-controller-sa
) è annotato con il nome del IAM ruolo che hai creatoAmazonEKS_S3_CSI_DriverRole
.kubectl apply -f mountpoint-s3-service-account.yaml
Nota
Quando implementi il plugin tramite questa procedura, il plugin crea ed è configurato per l'utilizzo di un account di servizio denominato
s3-csi-driver-sa
.
-
Installa il Mountpoint per driver Amazon S3 CSI
È possibile installare il Mountpoint per il CSI driver Amazon S3 tramite il componente aggiuntivo AmazonEKS. Puoi utilizzare i seguenti strumenti per aggiungere il componente aggiuntivo al tuo cluster:
In alternativa, puoi installare Mountpoint per il driver Amazon S3 come CSI installazione autogestita. Per istruzioni su come eseguire un'installazione autogestita, consulta Installazione su
A partire dav1.8.0
, è possibile configurare dei difetti da tollerare dal conducente CSI Pods. Per fare ciò, specificate un set personalizzato di macchie con cui tollerare node.tolerations
o tollerate tutte le macchie. node.tolerateAllTaints
Per ulteriori informazioni, vedete Tinte e tolleranze nella
eksctl
Per aggiungere il componente aggiuntivo Amazon S3 utilizzando CSI eksctl
Esegui il comando seguente. Replace (Sostituisci) my-cluster
con il nome del tuo cluster, 111122223333
con l'ID del tuo account e AmazonEKS_S3_CSI_DriverRole
con il nome del IAMruolo creato in precedenza.
eksctl create addon --name aws-mountpoint-s3-csi-driver --cluster my-cluster \ --service-account-role-arn arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole --force
Se rimuovi il --force
l'opzione e qualsiasi impostazione del EKS componente aggiuntivo Amazon è in conflitto con le impostazioni esistenti, quindi l'aggiornamento del EKS componente aggiuntivo Amazon non riesce e ricevi un messaggio di errore per aiutarti a risolvere il conflitto. Prima di specificare questa opzione, assicurati che il EKS componente aggiuntivo Amazon non gestisca le impostazioni che devi gestire, poiché tali impostazioni vengono sovrascritte con questa opzione. Per ulteriori informazioni su altre opzioni per questa impostazione, consulta Componenti aggiuntivieksctl
. Per ulteriori informazioni su Amazon EKS Kubernetes gestione del campo, vediDetermina i campi che puoi personalizzare per i EKS componenti aggiuntivi di Amazon.
È possibile personalizzare eksctl
tramite file di configurazione. Per ulteriori informazioni, consulta Lavorare con i valori di configurazioneeksctl
documentazione. L'esempio seguente mostra come tollerare tutte le macchie.
# config.yaml ... addons: - name: aws-mountpoint-s3-csi-driver serviceAccountRoleARN: arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole configurationValues: |- node: tolerateAllTaints: true
AWS Management Console
-
Apri la EKSconsole Amazon
. -
Nel pannello di navigazione a sinistra, seleziona Cluster.
-
Scegli il nome del cluster che desideri configurare Mountpoint per il CSI componente aggiuntivo Amazon S3 per.
-
Seleziona la scheda Componenti aggiuntivi.
-
Scegli Ottieni altri componenti aggiuntivi.
-
Nella pagina Seleziona componenti aggiuntivi, procedi come segue:
-
Nella sezione Amazon EKS -addons, seleziona Mountpoint casella di controllo per Amazon S3 CSI Driver.
-
Scegli Next (Successivo).
-
-
Nella pagina Configura le impostazioni dei componenti aggiuntivi selezionati, procedi come segue:
-
Seleziona la versione che desideri utilizzare.
-
Per Seleziona IAM ruolo, seleziona il nome di un IAM ruolo a cui hai associato Mountpoint per la IAM politica dei CSI driver di Amazon S3 a.
-
(Facoltativo) Aggiorna il metodo di risoluzione dei conflitti dopo aver ampliato le impostazioni di configurazione opzionali. Se selezioni Override, una o più impostazioni del componente aggiuntivo esistente possono essere sovrascritte con le impostazioni del componente aggiuntivo AmazonEKS. Se non abiliti questa opzione e c'è un conflitto con le impostazioni esistenti, l'operazione non riesce. e viene visualizzato un messaggio di errore per aiutarti a risolvere il conflitto. Prima di selezionare questa opzione, assicurati che il EKS componente aggiuntivo Amazon non gestisca le impostazioni che devi gestire automaticamente.
-
(Facoltativo) Configura le tolleranze nel campo Valori di configurazione dopo aver espanso le Impostazioni di configurazione opzionali.
-
Scegli Next (Successivo).
-
-
Nella pagina Rivedi e aggiungi, scegli Crea. Una volta completata l'installazione, viene visualizzato il componente aggiuntivo.
AWS CLI
Per aggiungere il Mountpoint per il CSI componente aggiuntivo Amazon S3 utilizzando AWS CLI
Esegui il comando seguente. Replace (Sostituisci) my-cluster
con il nome del tuo cluster, 111122223333
con l'ID del tuo account e AmazonEKS_S3_CSI_DriverRole
con il nome del ruolo creato in precedenza.
aws eks create-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver \ --service-account-role-arn arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole
È possibile personalizzare il comando con la --configuration-values
bandiera. L'esempio alternativo seguente mostra come tollerare tutte le macchie.
aws eks create-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver \ --service-account-role-arn arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole \ --configuration-values '{"node":{"tolerateAllTaints":true}}'
Configura Mountpoint per Amazon S3
Nella maggior parte dei casi, è possibile configurare Mountpoint per Amazon S3 con solo il nome del bucket. Per istruzioni sulla configurazione Mountpoint per Amazon S3, consulta Configurazione di Mountpoint per Amazon
Implementazione di un'applicazione di esempio
Puoi implementare il provisioning statico al driver su un bucket Amazon S3 esistente. Per ulteriori informazioni, consulta Provisioning statico su
Rimuovi Mountpoint per Amazon S3 Driver CSI
Hai due opzioni per rimuovere un EKS componente aggiuntivo Amazon.
-
Conserva il software aggiuntivo sul tuo cluster: questa opzione rimuove la EKS gestione di qualsiasi impostazione da parte di Amazon. Rimuove inoltre la possibilità EKS per Amazon di avvisarti degli aggiornamenti e aggiornare automaticamente il EKS componente aggiuntivo Amazon dopo aver avviato un aggiornamento. Tuttavia, mantiene il software aggiuntivo sul cluster. Questa opzione rende il componente aggiuntivo un'installazione autogestita, anziché un componente aggiuntivo AmazonEKS. Con questa opzione, non ci sono tempi di inattività per il componente aggiuntivo. I comandi in questa procedura utilizzano questa opzione.
-
Rimuovi completamente il software aggiuntivo dal cluster: ti consigliamo di rimuovere il EKS componente aggiuntivo Amazon dal cluster solo se nel cluster non ci sono risorse che dipendono da esso. Per eseguire questa operazione, elimina
--preserve
dal comando utilizzato in questa procedura.
Se al componente aggiuntivo è associato un IAM account, l'IAMaccount non viene rimosso.
Puoi utilizzare i seguenti strumenti per rimuovere il componente aggiuntivo Amazon S3: CSI
eksctl
Per rimuovere il componente aggiuntivo Amazon S3 utilizzando CSI eksctl
Replace (Sostituisci) my-cluster
con il nome del cluster, quindi esegui il comando seguente.
eksctl delete addon --cluster my-cluster --name aws-mountpoint-s3-csi-driver --preserve
AWS Management Console
-
Apri la EKSconsole Amazon
. -
Nel pannello di navigazione a sinistra, seleziona Cluster.
-
Scegli il nome del cluster per cui desideri rimuovere il EBS CSI componente aggiuntivo Amazon.
-
Seleziona la scheda Componenti aggiuntivi.
-
Scegliere Mountpoint per Amazon S3 DriverCSI.
-
Scegli Rimuovi.
-
Nella finestra di dialogo di conferma Rimuovi: aws-mountpoint-s 3-csi driver, procedi come segue:
-
Se desideri che Amazon EKS interrompa la gestione delle impostazioni per il componente aggiuntivo, seleziona Preserve on cluster. Effettuare questa operazione se si desidera conservare il software aggiuntivo sul cluster. In questo modo sarà possibile gestire autonomamente tutte le impostazioni del componente aggiuntivo.
-
Specificare
aws-mountpoint-s3-csi-driver
. -
Selezionare Rimuovi.
-
AWS CLI
Per rimuovere il CSI componente aggiuntivo Amazon S3 utilizzando AWS CLI
Replace (Sostituisci) my-cluster
con il nome del cluster, quindi esegui il comando seguente.
aws eks delete-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver --preserve