tnblog
首页
视频
资源
登录

Helm搭建NFS的StorageClass(安装Helm)(坑)

11945人阅读 2020/5/20 16:55 总访问:3467164 评论:1 收藏:1 手机
分类: 容器编排

Helm搭建NFS的StorageClass


Windows 安装 chocolatey


https://chocolatey.org/install


Windows 安装 Helm


  1. choco install kubernetes-helm


linux 安装 Helm


  1. wget https://get.helm.sh/helm-v3.0.0-beta.2-linux-amd64.tar.gz
  2. tar -zxvf helm-v3.0.0-beta.2-linux-amd64.tar.gz
  3. cd linux-amd64/
  4. cp helm /usr/local/bin
  5. helm init


安装 nfs-client-provisioner (第一种方式)


添加能下载nfs-client-provisioner的仓库

  1. helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
  2. helm repo update

修改values.yaml

  1. nfs:
  2. server: 150.72.2.13
  3. path: /nfs_data

name: nfs-client

安装(注意中途自行解压)

  1. cd nfs-client-provisioner
  2. helm install --name nfs -namespace nfs -f values.yaml .

安装完成

  1. kubectl get sc


这种方式在后续发现添加Persistent Volume Claims时总是失败


通过Azure进行安装 nfs-client-provisioner (第二种方式)


添加能下载 azure/nfs-client-provisioner 的仓库

  1. helm repo add azure http://mirror.azure.cn/kubernetes/charts/
  2. helm repo update

安装

  1. helm install nfs-client azure/nfs-client-provisioner --set nfs.server=x.x.x.x --set nfs.path=/nfsdata

发现问题


这里也发现添加Persistent Volume Claims时总是失败

解决办法

最后在nfs服务器上发布上去就没毛病了
  1. sudo service nfs-kernel-server restart


通过Kubernetes-Dashboard 查看 Storage Classes 结果


简单的测试一下


创建 demo-nfs-pvc.yaml 文件

  1. apiVersion: v1
  2. kind: PersistentVolumeClaim
  3. metadata:
  4. name: demo-nfs-pvc
  5. spec:
  6. accessModes:
  7. - ReadWriteOnce
  8. resources:
  9. requests:
  10. storage: 400m
  11. storageClassName: nfs-client

发布 demo-nfs-pvc.yaml

kubectl apply -f demo-nfs-pvc.yaml

查看结果


如果遇到了sing Kubernetes v1.20.0, getting "unexpected error getting claim reference: selfLink was empty, can't make reference"这种问题,需要修改api-server.yaml文件。

  1. vim /etc/kubernetes/manifests/kube-apiserver.yaml
  2. # 添加这一行
  3. - --feature-gates=RemoveSelfLink=false


如果遇到bad option; for several filesystems (e.g. nfs, cifs) you might need a 。。。请给每个节点安装nfs-util

  1. # Centos
  2. sudo yum install nfs-utils
  3. # Ubuntu
  4. apt install nfs-common

在K8s 1.24后又变卦了


修改--feature-gates=RemoveSelfLink=false后,无法启动api-server。现在使用新的方式去做

  1. ?#下载
  2. 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
  3. #解压
  4. tar -xvf nfs-subdir-external-provisioner-4.0.16.tgz
  5. cd nfs-subdir-external-provisioner
  6. vim values.yaml


然后使用 helm安装命令安装即可

  1. helm install nfs-subdir-external-provisioner . -n nfs


会创建一个nfs-client的storageclass,如果需要可以使用下面命令改成默认存储

  1. kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'


有镜像问题可修改为:registry.cn-hangzhou.aliyuncs.com/k8s-image-mirrors/nfs-subdir-external-provisioner


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术