AWS EKS安装S3 CSI插件[AWS 海外区]

Amazon S3 CSI驱动程序允许EKS集群管理S3卷的生命周期,当我们运行在EKS中的pod需要挂载S3进行持久化存储时,必须先安装好S3 CSI驱动,具体可以参考Amazon S3 CSI driver。

权限设置

为S3 CSI Driver创建IAM role

Amazon S3 CSI 驱动需要 IAM 权限才能代表您调用 AWS API,所以我们需要先创建S3 CSI Driver的IAM Role

查看当前集群的OIDC信息

bash 复制代码
aws eks describe-cluster --name <eks-cluster-name> --query "cluster.identity.oidc.issuer" --output text

将上一步读取到的OIDC信息补充下下面的json模板中,并保存为aws-efs-csi-driver-trust-policy.json,其中需要系替换的是<aws-account-id>、<aws-region>和OIDC的<oidc-id>,如图中红色部分

bash 复制代码
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::<aws-account-id>:oidc-provider/oidc.eks.<aws-region>.amazonaws.com/id/<oidc-id>"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringLike": {
          "oidc.eks.<aws-region>.amazonaws.com/id/<oidc-id>:sub": "system:serviceaccount:kube-system:efs-csi-*",
          "oidc.eks.<aws-region>.amazonaws.com/id/<oidc-id>:aud": "sts.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}

进行EFS CSI Driver的IAM Role的创建,role名称为AmazonEKS_EFS_CSI_DriverRole,执行下面的命令:

bash 复制代码
# 设置role名称为AmazonEKS_EFS_CSI_DriverRole
aws iam create-role --role-name AmazonEKS_EFS_CSI_DriverRole --assume-role-policy-document file://"aws-efs-csi-driver-trust-policy.json"
# 为AmazonEKS_EFS_CSI_DriverRole附加policy
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy --role-name AmazonEKS_EFS_CSI_DriverRole

AmazonEKS_EFS_CSI_DriverRole创建后可以在AWS IAM控制台查看到

CSI addon安装

我们可以直接使用在AWS 控制台进行addon安装

首先进入AWS EKS add-on界面进行EFS CSI addon的添加

选择EFS CSI插件

选择我们刚才创建的AmazonEKS_EFS_CSI_DriverRole

执行完成后,我们可以在AWS控制台上看到EFS CSI驱动正在被安装,只需要略微等待即可完成;我们会看到CSI驱动安装完成,并使用了AmazonEKS_EFS_CSI_DriverRole

此外我们使用eksctl也可以进行快速的查询

bash 复制代码
eksctl get addon --name aws-efs-csi-driver --cluster <eks-cluster-name>

测试

后面你可以自行参考Create an Amazon EFS file system for Amazon EKS来对我们前面安装好的EFS CSI驱动进行功能测试

相关推荐
wzq11_66628 分钟前
Kubernetes集群——Service篇(详细讲解!!!)
云原生·容器·kubernetes
专业程序开发源1 小时前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
AINative软件工程1 小时前
LLM Prompt Registry 工程实践:集中管理 Prompt,让模型调用不再散落在代码各处
后端·python·llm
IT_陈寒1 小时前
SpringBoot自动配置的坑我帮你踩过了
前端·人工智能·后端
vx_Biye_Design1 小时前
springboot角色扮演服务平台65161-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
vx_Biye_Design1 小时前
springboot咖啡厅顾客点单管理系统12080-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
专业程序开发源2 小时前
flask动漫推荐系统32319-计算机课程设计、毕业设计
java·spring boot·后端·django·flask·php·课程设计
FYKJ_20102 小时前
springboot手工蜀绣在线销售系统60947-计算机课程设计、毕业设计
java·spring boot·后端·python·mysql·spark·课程设计
vx_Biye_Design2 小时前
springboot老年人用药智能管理系统38605-计算机课程设计、毕业设计
java·spring boot·后端·python·django·课程设计·express
苏离~Hack2 小时前
惠民云平台开发实战:基于 Vue3 + Django 的社区服务系统设计与实现
后端·python·django