From 94abc3dac8c65c965bc75d15a7f7d4d5a396765a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 28 Jul 2023 22:33:49 +0800 Subject: [PATCH] RP @geekpi https://linux.cn/article-16043-1.html --- ... Dynamic NFS Provisioning in Kubernetes Cluster.md | 67 ++++++++++--------- 1 file changed, 36 insertions(+), 31 deletions(-) rename {translated/tech => published}/20230605.1 ⭐️⭐️ How to Setup Dynamic NFS Provisioning in Kubernetes Cluster.md (70%) diff --git a/translated/tech/20230605.1 ⭐️⭐️ How to Setup Dynamic NFS Provisioning in Kubernetes Cluster.md b/published/20230605.1 ⭐️⭐️ How to Setup Dynamic NFS Provisioning in Kubernetes Cluster.md similarity index 70% rename from translated/tech/20230605.1 ⭐️⭐️ How to Setup Dynamic NFS Provisioning in Kubernetes Cluster.md rename to published/20230605.1 ⭐️⭐️ How to Setup Dynamic NFS Provisioning in Kubernetes Cluster.md index 0e5603a9e7..644cd8702e 100644 --- a/translated/tech/20230605.1 ⭐️⭐️ How to Setup Dynamic NFS Provisioning in Kubernetes Cluster.md +++ b/published/20230605.1 ⭐️⭐️ How to Setup Dynamic NFS Provisioning in Kubernetes Cluster.md @@ -3,37 +3,39 @@ [#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-16043-1.html" 如何在 Kubernetes 集群中设置动态 NFS 配置 ====== -在这篇文章中,我们将向你展示如何在 Kubernetes (k8s) 集群中设置动态 nfs 配置。 +![][0] -Kubernetes 中的动态 NFS 存储配置允许你按需自动为 Kubernetes 应用配置和管理 NFS(网络文件系统)卷。它允许创建持久卷 (PV) 和持久卷声明 (PVC),而无需手动干预或预配置存储。 +> 在这篇文章中,我们将向你展示如何在 Kubernetes(k8s)集群中设置动态 NFS 配置。 + +Kubernetes 中的动态 NFS 存储配置允许你按需自动为 Kubernetes 应用配置和管理 NFS(网络文件系统)卷。它允许创建持久卷(PV)和持久卷声明(PVC),而无需手动干预或预配置存储。 NFS 配置程序负责动态创建 PV 并将其绑定到 PVC。它与 NFS 服务器交互,为每个 PVC 创建目录或卷。 -##### 先决条件 +### 先决条件 - 预装 Kubernetes 集群 - 具有 Kubernetes 集群管理员权限的普通用户 - 互联网连接 -事不宜迟,让我们深入探讨步骤 +事不宜迟,让我们深入探讨步骤: -### 步骤 1) 准备 NFS 服务器 +### 步骤 1、准备 NFS 服务器 -就我而言,我将在 Kubernetes 主节点 (Ubuntu 22.04) 上安装 NFS 服务器。登录主节点并运行以下命令: +就我而言,我将在 Kubernetes 主节点(Ubuntu 22.04)上安装 NFS 服务器。登录主节点并运行以下命令: ``` $ sudo apt update $ sudo apt install nfs-kernel-server -y ``` -创建以下文件夹并使用 nfs 共享它: +创建以下文件夹并使用 NFS 共享它: ``` $ sudo mkdir /opt/dynamic-storage @@ -41,7 +43,7 @@ $ sudo chown -R nobody:nogroup /opt/dynamic-storage $ sudo chmod 777 /opt/dynamic-storage ``` -在 /etc/exports 文件中添加以下条目: +在 `/etc/exports` 文件中添加以下条目: ``` $ sudo vi /etc/exports @@ -62,17 +64,17 @@ $ sudo systemctl status nfs-kernel-server ![NFS-Service-Status-Kubernetes-Master-Ubuntu][1] -在工作节点上,使用以下 apt 命令安装 nfs-common 包。 +在工作节点上,使用以下 `apt` 命令安装 `nfs-common` 包。 ``` $ sudo apt install nfs-common -y ``` -### 步骤 2) 安装和配置 NFS 客户端配置程序 +### 步骤 2、安装和配置 NFS 客户端配置程序 -NFS 子目录外部配置程序在 Kubernetes 集群中部署 NFS 客户端配置程序。配置程序负责动态创建和管理由 NFS 存储支持的持久卷 (PV) 和持久卷声明 (PVC)。 +NFS 子目录外部配置程序在 Kubernetes 集群中部署 NFS 客户端配置程序。配置程序负责动态创建和管理由 NFS 存储支持的持久卷(PV)和持久卷声明(PVC)。 -因此,要安装 NFS 子目录外部配置程序,首先使用以下命令集安装 helm: +因此,要安装 NFS 子目录外部配置程序,首先使用以下命令集安装 `helm`: ``` $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 @@ -80,13 +82,13 @@ $ chmod 700 get_helm.sh $ ./get_helm.sh ``` -运行以下命令来启用 helm 仓库: +运行以下命令来启用 `helm` 仓库: ``` $ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner ``` -使用以下 helm 命令部署配置程序: +使用以下 `helm` 命令部署配置程序: ``` $ helm install -n nfs-provisioning --create-namespace nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --set nfs.server=192.168.1.139 --set nfs.path=/opt/dynamic-storage @@ -94,7 +96,7 @@ $ helm install -n nfs-provisioning --create-namespace nfs-subdir-external-provis ![helm-install-nfs-provisioning-kubernetes-cluster][2] -上面的 helm 命令将自动创建 nfs-provisioning 命名空间,并安装 nfs 配置程序 pod/部署、名称为 (nfs-client) 的存储类,并将创建所需的 rbac。 +上面的 `helm` 命令将自动创建 `nfs-provisioning` 命名空间,并安装 NFS 配置程序的容器荚/部署、名称为 `nfs-client` 的存储类,并将创建所需的 rbac。 ``` $ kubectl get all -n nfs-provisioning @@ -103,11 +105,11 @@ $ kubectl get sc -n nfs-provisioning ![kubectl-get-all-nfs-provisioning-kubernetes-cluster][3] -完美,上面的输出确认了配置程序 Pod 和存储类已成功创建。 +完美,上面的输出确认了配置程序容器荚和存储类已成功创建。 -### 步骤 3) 创建持久卷声明 (PVC) +### 步骤 3、创建持久卷声明(PVC) -让我们创建 PVC 来为你的 Pod 或部署请求存储。PVC 将从 StorageClass(nfs-client)请求特定数量的存储。 +让我们创建 PVC 来为你的容器荚或部署请求存储。PVC 将从存储类 `nfs-client` 请求特定数量的存储: ``` $ vi demo-pvc.yml @@ -129,7 +131,7 @@ spec: ![PVC-Yaml-Dynamic-NFS-Kubernetes][4] -运行以下 kubectl 命令以使用上面创建的 yml 文件创建 pvc: +运行以下 `kubectl` 命令以使用上面创建的 YML 文件创建 PVC: ``` $ kubectl create -f demo-pvc.yml @@ -143,11 +145,11 @@ $ kubectl get pv,pvc -n nfs-provisioning ![Verify-pv-pvc-dynamic-nfs-kubernetes-cluster][5] -太好了,上面的输出表明 pv 和 pvc 创建成功。 +太好了,上面的输出表明 PV 和 PVC 创建成功。 -### 步骤 4) 测试并验证动态 NFS 配置 +### 步骤 4、测试并验证动态 NFS 配置 -为了测试和验证动态 nfs 配置,请使用以下 yml 文件启动测试 Pod: +为了测试和验证动态 NFS 配置,请使用以下 YML 文件启动测试容器荚: ``` $ vi test-pod.yml @@ -177,13 +179,13 @@ spec: ![Pod-Yml-Dynamic-NFS-kubernetes][6] -使用以下 kubectl 命令部署 pod: +使用以下 `kubectl` 命令部署容器荚: ``` $ kubectl create -f test-pod.yml ``` -验证 test-pod 的状态: +验证 `test-pod` 的状态: ``` $ kubectl get pods -n nfs-provisioning @@ -191,7 +193,7 @@ $ kubectl get pods -n nfs-provisioning ![Verify-Test-Pod-Using-NFS-Volume-Kubernetes][7] -登录到 pod 并验证 nfs 卷是否已安装。 +登录到容器荚并验证 NFS 卷是否已安装。 ``` $ kubectl exec -it test-pod -n nfs-provisioning /bin/sh @@ -199,9 +201,9 @@ $ kubectl exec -it test-pod -n nfs-provisioning /bin/sh ![Access-Dynamic-NFS-Inside-Pod-Kubernetes][8] -太棒了,上面 Pod 的输出确认了动态 NFS 卷已安装且可访问。 +太棒了,上面容器荚的输出确认了动态 NFS 卷已安装且可访问。 -最后删除 pod 和 PVC,查看 pv 是否自动删除。 +最后删除容器荚和 PVC,查看 PV 是否自动删除。 ``` $ kubectl delete -f test-pod.yml @@ -213,6 +215,8 @@ $ kubectl get pv,pvc -n nfs-provisioning 这就是这篇文章的全部内容,希望对你有所帮助。请随时在下面的评论部分发表你的疑问和反馈。 +*(题图:MJ/75dae36f-ff68-4c63-81e8-281e2c239356)* + -------------------------------------------------------------------------------- via: https://www.linuxtechi.com/dynamic-nfs-provisioning-kubernetes/ @@ -220,7 +224,7 @@ via: https://www.linuxtechi.com/dynamic-nfs-provisioning-kubernetes/ 作者:[Pradeep Kumar][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -235,3 +239,4 @@ via: https://www.linuxtechi.com/dynamic-nfs-provisioning-kubernetes/ [7]: https://www.linuxtechi.com/wp-content/uploads/2023/06/Verify-Test-Pod-Using-NFS-Volume-Kubernetes.png [8]: https://www.linuxtechi.com/wp-content/uploads/2023/06/Access-Dynamic-NFS-Inside-Pod-Kubernetes.png [9]: https://www.linuxtechi.com/wp-content/uploads/2023/06/Delete-Pod-PVC-Dynamic-NFS.png +[0]: https://img.linux.net.cn/data/attachment/album/202307/28/222834togtruhoeuh3gtr1.jpg \ No newline at end of file