![]() You can find the script and instructions on GitHub here. Now your PersistentVolumeClaim should get the status Bound while a EBS volume got created for you - and the Tekton Pipeline should run again.So Damien wrote a small Python script to extract the CSV from XML and with the necessary headers the neo4j-import tool did the grunt work of creating a graph out of huge tables. Now the eksctl create addon command looks like this: eksctl create addon -name aws-ebs-csi-driver -cluster YourClusterNameHere -service-account-role-arn arn:aws:iam::$(aws sts get-caller-identity -query Account -output text):role/AmazonEKS_EBS_CSI_DriverRole -force Therefor we also need the AWS Account id which we can obtain by running aws sts get-caller-identity -query Account -output text (see Quick way to get AWS Account number from the AWS CLI tools?). Now we can finally add the EBS CSI add-on. deploys an AWS CloudFormation stack that creates an IAM role,Īttaches the IAM policy to it, and annotates the existingĮbs-csi-controller-sa service account with the Amazon Resource Name Only if you use encrypted EBS drives you need to additionally add configuration to the policy. attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \Īs you can see AWS maintains a managed policy for us we can simply use ( AWS maintains a managed policy, available at ARN arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy). Now having eksctl in place, create the IAM role: eksctl create iamserviceaccount \ This IAM OIDC provider can be enabled with the following command: eksctl utils associate-iam-oidc-provider -region=eu-central-1 -cluster=YourClusterNameHere -approveģ.) Create Amazon EBS CSI driver IAM role ![]() Or on Linux use: curl -silent -location "$(uname -s)_" | tar xz -C /tmpĪ prerequisite for the EBS CSI driver to work is to have an existing AWS Identity and Access Management (IAM) OpenID Connect (OIDC) provider for your cluster. On a Mac use brew like: brew tap weaveworks/tap To use eksctl we need to install it first. We assume here that the aws cli is installed and configured - and you have access to your EKS cluster. The easiest way to do both is to use eksctl (other ways like using plain aws cli or the AWS GUI are described in the docs). ![]() But beforehand we need to enable the IAM OIDC provider and create the IAM role for the EBS CSI driver. In essence we need to enable the AWS EBS CSI driver as an EKS addon. The docs tell us, what needs to be configured: Solution: Configure Amazon EBS CSI driver for working PersistentVolumes in EKS What is this EBS CSI thing and how do we get our cluster working as before?įrom EKS 1.23 on a Container Storage Interface (CSI) driver is needed in order to get your PersisentVolumeClaims served by a PersistentVolume as you are used to from earlier EKS versions. Normal ExternalProvisioning 3m43s (x561 over 143m) persistentvolume-controller waiting for a volume to be created, either by external provisioner "" or manually created by system administrator storage-provisioner: įinalizers: īuildpacks-test-pipeline-run-9rz4l-fetch-repository-pod The command kubectl describe pvc buildpacks-source-pvc gives the following event messages: Name: buildpacks-source-pvcĪnnotations: /storage-provisioner: Having a look into the events of this PVC after creation there are the following events indicating something is wrong with our EKS setup: We created a PersistentVolumeClaim like this: apiVersion: v1 ![]() We have a EKS setup provisioned where we use a Cloud Native Buildpacks based Tekton Pipeline our PipelineRuns are stuck and pending forever without getting a Pod resource.
0 Comments
Leave a Reply. |