
digitalocean/do-csi-pluginDigitalOcean CSI Plugin是DigitalOcean官方提供的容器存储接口(CSI)插件,用于将DigitalOcean块存储(Block Storage)无缝集成到容器编排平台(如Kubernetes)。通过该插件,用户可在容器环境中便捷地使用DigitalOcean块存储,实现持久卷(Persistent Volume)的动态配置、挂载、快照、扩展等全生命周期管理,满足容器化应用对持久化存储的需求。
write权限)kubectl命令行工具已配置并连接到目标集群获取DigitalOcean个人访问令牌(PAT),步骤:
write权限,保存令牌值(后续使用DO_API_TOKEN指代)bashkubectl create secret generic digitalocean-secret \ --namespace kube-system \ --from-literal=access-token=DO_API_TOKEN
替换
DO_API_TOKEN为实际的API令牌
使用官方提供的部署清单部署插件:
bashkubectl apply -f [***]
注意:请通过官方GitHub仓库获取最新版本清单地址
| 环境变量名 | 必选 | 描述 | 默认值 |
|---|---|---|---|
DO_API_TOKEN | 是 | DigitalOcean API访问令牌 | 无 |
DO_REGION | 否 | DigitalOcean区域(如nyc1),若未指定将自动从节点元数据获取 | 自动检测 |
LOG_LEVEL | 否 | 日志级别(debug/info/warn/error) | info |
HTTP_PROXY | 否 | HTTP代理地址 | 无 |
HTTPS_PROXY | 否 | HTTPS代理地址 | 无 |
创建StorageClass时可指定以下参数:
| 参数名 | 描述 | 可选值 | 默认值 |
|---|---|---|---|
reclaimPolicy | 卷回收策略 | Delete/Retain | Delete |
volumeBindingMode | 卷绑定模式 | Immediate/WaitForFirstConsumer | Immediate |
type | DigitalOcean卷类型 | s-1vcpu-1gb(标准)/s-2vcpu-4gb(性能)等 | s-1vcpu-1gb |
fstype | 文件系统类型 | ext4/xfs | ext4 |
yamlapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: do-block-storage provisioner: dobs.csi.digitalocean.com parameters: type: "s-2vcpu-4gb" # 性能型卷 fstype: "ext4" reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer
应用配置:
bashkubectl apply -f storageclass.yaml
yamlapiVersion: v1 kind: PersistentVolumeClaim metadata: name: example-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi # 请求10GB存储 storageClassName: do-block-storage
应用配置:
bashkubectl apply -f pvc.yaml
yamlapiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: app image: nginx:latest volumeMounts: - name: data mountPath: /usr/share/nginx/html volumes: - name: data persistentVolumeClaim: claimName: example-pvc
应用配置:
bashkubectl apply -f pod.yaml
bashkubectl get pods -n kube-system | grep csi-digitalocean
预期输出包含运行中的控制器和节点 pods:
csi-digitalocean-controller-xxxxxxxxx-xxxxx 3/3 Running 0 5m csi-digitalocean-node-xxxxx 2/2 Running 0 5m
bashkubectl get pv kubectl get pvc
yamlapiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: example-snapshot spec: volumeSnapshotClassName: do-block-storage-snapshot source: persistentVolumeClaimName: example-pvc
allowVolumeExpansion: trueDelete)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务