tnblog
首页
视频
资源
登录

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

12338人阅读 2020/5/20 16:55 总访问:3658690 评论: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

评价

剑轩

2020/5/20 19:01:14

哇,看得好想吃巧克力

Helm搭建redis集群环境

Helm搭建redis集群环境[TOC] 先决条件需要有k8s的集群安装Helm这里安装3.6.3的Helm获取最新版本:https://github.com/kube...

Helm上传Chart到Artifact Hub

Helm上传Chart到Artifact Hub[TOC] 前言Artifact Hub(工件中心)是一个基于 web 的应用程序,支持查找、安装和发布 CNCF ...

Idea下使用maven搭建SSM(一):SpringMVC

Spring MVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。下面...

Idea下使用maven搭建SSM(二):MyBatis

开发Web应用,数据的存储和处理往往离不开数据库和SQL语句。在使用Java开发的Web应用中,自然也少不了连接数据库的步骤。在...

在idea下搭建Spring Boot+Spring MVC+thymeleaf

今天大兄弟来讲一下在idea下,使用Spring Boot ,搭建Spring MVC+thymeleaf。在Java开发领域,Spring Boot算得上是一颗耀眼...

vue.js学习日记第七章-搭建脚手架

官网:https://cn.vuejs.org/v2/guide/ vue.js学习日记第六章: http://www.tnblog.net/18323015640/article/details/2...

Spring Cloud+.Net Core搭建微服务架构 一:服务注册

在微服务中,不同的业务被拆分成不同的服务,不同的服务之间会相互依赖,而管理这些服务就变得尤为重要搭建服务注册中心服...

vue脚手架搭建

前言:最近找了一个vue的项目打算自己开发做着玩,由于之前是没有接触过脚手架,老是看到这个名词,百思不得其解,今晚自己...

angular环境搭建

开发工具:vscode命令执行:快捷键( Ctrl+Shift+` )或者打开终端近期一直写有关前端的东西,其实我是学后端C#.NET的,但是在...

React前端开发环境搭建

(一) 安装Node.js,具体步骤如下首先,我们需要安装Node.js,直接搜索并在官网下载安装包Node.js官网:https://nodejs.org/...

PHP开发环境搭建工具有哪些?

对于php开发小白来说搭建一个php运行环境就是一道坎!因为要做php开发,搭建一个能够运行php网站的服务器环境是第一步,传...

Centos7搭建高可用RabbitMq集群

Centos7搭建高可用的RabbitMq集群[TOC] 环境准备 在三台CentOS7中搭建好Rabbitmq,如果不会搭建请参考:https://www.tnblo...

Windows搭建sshd服务与.net运用

Windows搭建sshd服务与.net的运用[TOC] 下载win sshd 当前最新包连接: https://github.com/PowerShell/Win32-OpenSSH/re...

Kubernetes 搭建RabbitMq集群环境

Kubernetes 搭建RabbitMq集群环境[TOC] 由于Kubectl RabbitMQ 插件在官方是基于krew进行安装的所以我们首先需要安装krew插...

uin框架搭建

app.vue中创建.main_content{ position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden; display:flex;fle...
这一世以无限游戏为使命!
排名
2
文章
657
粉丝
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
欢迎加群交流技术