要在 Kubernetes 中使用 SMB 共享(例如使用 IP 地址 192.168.4.141
),你需要创建一个 PersistentVolume
(PV) 和一个 PersistentVolumeClaim
(PVC),并在你的 Pod 中引用它们。下面是一个示例,包含所有必要的步骤。
1. 创建 Kubernetes Secret 来存储 SMB 凭据
首先,创建一个 Secret 来存储访问 SMB 共享所需的用户名和密码:
1 | apiVersion: v1 |
你可以使用 echo -n 'your-username' | base64
和 echo -n 'your-password' | base64
来获取 base64 编码的字符串。
2. 创建 PersistentVolume (PV)
接下来,创建一个 PV 来定义 SMB 共享:
1 | apiVersion: v1 |
3. 创建 PersistentVolumeClaim (PVC)
然后,创建一个 PVC 来请求上述 PV:
1 | apiVersion: v1 |
4. 在 Pod 中使用 SMB 共享
最后,在一个 Pod 中使用上述 PVC:
1 | apiVersion: v1 |
安装和配置 CSI 驱动
为了使 Kubernetes 能够挂载 SMB 共享,你需要安装和配置 SMB CSI 驱动。你可以参考 SMB CSI 驱动的官方文档 进行安装和配置。
以下是安装 SMB CSI 驱动的基本步骤:
安装 Helm(如果你还没有安装 Helm):
1
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
添加 CSI 驱动的 Helm 仓库:
1
helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
安装 CSI 驱动:
1
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system
总结
通过以上步骤,你可以在 Kubernetes 中配置和使用 SMB 共享。请确保你已经安装和配置了适当的 CSI 驱动,并且你的 Kubernetes 集群能够访问 SMB 服务器。希望这些步骤能帮助你在 Kubernetes 中配置和使用 SMB 共享。