介绍
默认部署出来的 Pod 都是无状态的,pod 消亡里面的所有内容自动消亡,针对例如数据库场景(如 MySQL),这显然行不通。本章动手实验内容,我们以 Amazon EBS(Elastic Block Store)为例,演示如何在 Pod 里面把数据写入到 EBS 上,作为持久化存储( PersisitentVolume )而不需要担心存储数据随着 Pod 消亡而丢失。
部署 EBS CSI 驱动
在 EKS 平台上,有个开源的组件 EBS Container Storage Interface (CSI) driver 支持把 EBS 附加到 Pod上 使用,所以,我们需要先安装这个组件。
1.配置 CSI 策略
mkdir ~/environment/ebs_csi_driver && cd ~/environment/ebs_csi_driver
curl -o ebs-cni-policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-ebs-csi-driver/v0.9.0/docs/example-iam-policy.json
aws iam create-policy \
--region eu-west-1 \
--policy-name Amazon_EBS_CSI_Driver \
--policy-document file://ebs-cni-policy.json
2.配置 IAM 角色和 SA 匹配
我们后面创建的 pod ebs-csi-controller 默认的 serviceAccount 就是ebs-csi-controller-sa,因为需要这个 CSI 来创建 EBS 卷,所以我们把附有权限的 serviceAccount 提前创建好。
eksctl create iamserviceaccount --cluster my-cluster \
--name ebs-csi-controller-sa \
在Kubernetes中使用Amazon EBS进行持久化存储

该博客介绍了如何在EKS(Kubernetes on Amazon Web Services)环境中,通过EBS CSI驱动器将Amazon Elastic Block Store (EBS)作为持久化卷(Persistent Volume)用于Pod,以确保数据库等需要持久化数据的应用场景的数据安全。首先,配置并部署EBS CSI驱动,然后创建StorageClass和PersistentVolumeClaim,最后通过创建Pod将EBS卷挂载并验证数据持久化。
最低0.47元/天 解锁文章
1842

被折叠的 条评论
为什么被折叠?



