【云原生 五】K8S StorageClass 部署安装

【云原生 一】Docker 安裝部署

【云原生 二】Harbor 镜像仓库部署

【云原生 三】K8S 环境部署

【云原生 四】NFS 服务搭建

【云原生 五】K8S StorageClass 部署安装

【云原生 六】K8S 集群下 kubesphere 云平台部署安装

 

一、部署之前的环境要求:

1、安装 k8s 集群,本例 k8s 版本 v1.26.1,安装参考:https://www.cnblogs.com/hewei-blogs/articles/17096351.html

2、安装配置NFS服务,安装参考:https://www.cnblogs.com/hewei-blogs/articles/17116224.html

3、ubuntu系统版本 22.04-desktop-amd64

二、进行部署,本例中都使用root权限安装,安装都是在同一目录下进行。如果是在集群中,则所有安装操作都在master节点上进行。

1、首先安装 k8s的包管理插件 helm

下载并安装:

wget https://get.helm.sh/helm-v3.11.1-linux-amd64.tar.gz
tar -zxvf helm-v3.11.1-linux-amd64.tar.gz
cd linux-amd64/
cp helm /usr/local/bin
chmod +x /usr/local/bin/helm

设置命令自动补全

echo 'source <(helm completion bash)' >> /etc/profile
source /etc/profile

添加仓库

helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

2、下载并配置 nfs-subdir-external-provisioner 插件

下载插件

wget https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/releases/download/nfs-subdir-external-provisioner-4.0.16/nfs-subdir-external-provisioner-4.0.16.tgz
gedit values.yaml

编辑 values.yaml 文件,修改镜像地址为:registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/nfs-subdir-external-provisioner,版本根据自己的需要进行调整。修改已经搭建好的NFS服务器的地址和挂载路径。修改属性 defaultClass 值为 true,根据需要修改StorageClass的名称。如下图所示:

 3、安装

编辑完成后保存,然后执行如下命令通过 values.yaml 文件进行安装。

kubectl create ns nfs-storage
helm install nfs-provisioner -n nfs-storage -f values.yaml .

还可以直接在线安装(不需要下载和配置 values.yaml)

helm repo add nfs-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm install nfs-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
    --set nfs.server=10.53.207.10 \
    --set nfs.path=/nfs \
    --set image.tag=v4.0.2 \
    --set image.repository=registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/nfs-subdir-external-provisioner \
--set storageClass.defaultClass=true \
-n nfs-storage #image.repository,可以自己进行适配,本例中都使用阿里的镜像。

查看:执行 kubectl get storageClass 或 kubectl get sc 命令,显示如下:

三、验证测试

创建 test-claim.yaml 文件,添加如下内容:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: test-claim
spec:
# storageClass 的名称,就是在上面图片中显示的 nfs-client storageClassName: nfs
-client accessModes: - ReadWriteMany resources: requests: storage: 1Mi

执行命令:

kubectl apply -f test-claim.yaml

然后进行查看:kubelet get pvc

 进入NFS服务器的挂载分享目录看到已经挂载成功。

 

 

原创文章,引用请指明出处,谢谢!

原文链接:https://www.cnblogs.com/hewei-blogs/articles/17123509.html

 

posted @ 2023-02-15 16:19  蓝迷梦  阅读(555)  评论(2)    收藏  举报