首页
视频
资源
登录
原
Helm搭建NFS的StorageClass(安装Helm)(坑)
10292
人阅读
2020/5/20 16:55
总访问:
2645484
评论:
1
收藏:
1
手机
分类:
容器编排
![](https://img.tnblog.net/arcimg/hb/2d2192e9304944548a772f5454b8aefb.png) >#Helm搭建NFS的StorageClass [TOC] <br/> Windows 安装 chocolatey ------------ <br/> ![](https://img.tnblog.net/arcimg/hb/cf0944bab6a9435a926b2e6dc9fb338a.png) https://chocolatey.org/install <br/> Windows 安装 Helm ------------ <br/> ```bash choco install kubernetes-helm ``` <br/> linux 安装 Helm ------------ <br/> ```bash wget https://get.helm.sh/helm-v3.0.0-beta.2-linux-amd64.tar.gz tar -zxvf helm-v3.0.0-beta.2-linux-amd64.tar.gz cd linux-amd64/ cp helm /usr/local/bin helm init ``` <br/> 安装 nfs-client-provisioner (第一种方式) ------------ <br/> >添加能下载nfs-client-provisioner的仓库 ```bash helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/ helm repo update ``` >修改values.yaml ```bash nfs: server: 150.72.2.13 path: /nfs_data ``` `name: nfs-client` >安装(注意中途自行解压) ```bash cd nfs-client-provisioner helm install --name nfs -namespace nfs -f values.yaml . ``` >安装完成 ```bash kubectl get sc ``` ![](https://img.tnblog.net/arcimg/hb/1d53a2cb6b2d4418bb2ea64d7d0a8d06.png) <br/> <font style="color:red;font-weight:bold;">这种方式在后续发现添加Persistent Volume Claims时总是失败</font> <br/> 通过Azure进行安装 nfs-client-provisioner (第二种方式) ------------ <br/> >添加能下载 azure/nfs-client-provisioner 的仓库 ```bash helm repo add azure http://mirror.azure.cn/kubernetes/charts/ helm repo update ``` >安装 ```bash helm install nfs-client azure/nfs-client-provisioner --set nfs.server=x.x.x.x --set nfs.path=/nfsdata ``` >发现问题 ![](https://img.tnblog.net/arcimg/hb/758c8f17e2434f03b2535b6772f0c046.png) <br/> <font style="color:red;font-weight:bold;">这里也发现添加Persistent Volume Claims时总是失败</font> >解决办法 <font style="color:#00cec9;font-weight:bold;">最后在nfs服务器上发布上去就没毛病了</font> ```bash sudo service nfs-kernel-server restart ``` <br/> >通过Kubernetes-Dashboard 查看 Storage Classes 结果 ![](https://img.tnblog.net/arcimg/hb/c079b81e34a64a91be2c6156e04ea1fb.png) <br/> 简单的测试一下 ------------ <br/> >创建 demo-nfs-pvc.yaml 文件 ```bash apiVersion: v1 kind: PersistentVolumeClaim metadata: name: demo-nfs-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 400m storageClassName: nfs-client ``` >发布 demo-nfs-pvc.yaml `kubectl apply -f demo-nfs-pvc.yaml` >查看结果 ![](https://img.tnblog.net/arcimg/hb/b7b00b42242b4c7e8b3bb9328775abf0.png) ![](https://img.tnblog.net/arcimg/hb/446975bbf1f344788568f5ed147c2a69.png) tn2>如果遇到了`sing Kubernetes v1.20.0, getting "unexpected error getting claim reference: selfLink was empty, can't make reference"`这种问题,需要修改`api-server.yaml`文件。 ```bash vim /etc/kubernetes/manifests/kube-apiserver.yaml # 添加这一行 - --feature-gates=RemoveSelfLink=false ``` tn2>如果遇到`bad option; for several filesystems (e.g. nfs, cifs) you might need a 。。。`请给每个节点安装nfs-util ```bash # Centos sudo yum install nfs-utils # Ubuntu apt install nfs-common ``` ### 在K8s 1.24后又变卦了 tn2>修改`--feature-gates=RemoveSelfLink=false`后,无法启动`api-server`。现在使用新的方式去做 ```bash ?#下载 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 #解压 tar -xvf nfs-subdir-external-provisioner-4.0.16.tgz cd nfs-subdir-external-provisioner vim values.yaml ``` ![](https://img.tnblog.net/arcimg/hb/02631e48735c4765ad552f8907a39d99.png) tn2>然后使用 helm安装命令安装即可 ```bash helm install nfs-subdir-external-provisioner . -n nfs ``` tn2>会创建一个nfs-client的storageclass,如果需要可以使用下面命令改成默认存储 ```bash kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' ``` tn2>有镜像问题可修改为:`registry.cn-hangzhou.aliyuncs.com/k8s-image-mirrors/nfs-subdir-external-provisioner`
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
尘叶心繁
这一世以无限游戏为使命!
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
.net后台框架
171篇
linux
17篇
linux中cve
1篇
windows中cve
0篇
资源分享
10篇
Win32
3篇
前端
28篇
传说中的c
4篇
Xamarin
9篇
docker
15篇
容器编排
101篇
grpc
4篇
Go
15篇
yaml模板
1篇
理论
2篇
更多
Sqlserver
4篇
云产品
39篇
git
3篇
Unity
1篇
考证
2篇
RabbitMq
23篇
Harbor
1篇
Ansible
8篇
Jenkins
17篇
Vue
1篇
Ids4
18篇
istio
1篇
架构
2篇
网络
7篇
windbg
4篇
AI
18篇
threejs
2篇
人物
1篇
嵌入式
3篇
python
13篇
HuggingFace
8篇
pytorch
9篇
opencv
6篇
Halcon
4篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术