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

本文详细介绍了使用Helm3在Windows和Linux环境下安装Helm,然后通过两种方式尝试安装nfs-client-provisioner,过程中遇到的问题及解决办法,包括 Persistent Volume Claims 失败的情况,并提供了简单的测试步骤和结果。
摘要由CSDN通过智能技术生成

![](https://img.tnblog.net/arcimg/hb/2d2192e9304944548a772f5454b8aefb.png)

>#Helm搭建NFS的StorageClass

[TOC]

Windows 安装 chocolatey

------------

![](https://img.tnblog.net/arcimg/hb/cf0944bab6a9435a926b2e6dc9fb338a.png)

https://chocolatey.org/install

Windows 安装 Helm

------------

```bash

choco install kubernetes-helm

```

linux 安装 Helm

------------

```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

```

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

------------

>添加能下载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)

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

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

------------

>添加能下载 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)

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

>解决办法

最后在nfs服务器上发布上去就没毛病了

>通过Kubernetes-Dashboard 查看 Storage Classes 结果

![](https://img.tnblog.net/arcimg/hb/c079b81e34a64a91be2c6156e04ea1fb.png)

简单的测试一下

------------

>创建 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)

1. 创建一个 Kubernetes 集群并安装 Helm 2. 添加 GitLab 的 Helm 仓库 ``` helm repo add gitlab https://charts.gitlab.io/ helm repo update ``` 3. 创建一个用于 GitLab 的命名空间 ``` kubectl create namespace gitlab ``` 4. 安装 GitLab ``` helm install gitlab gitlab/gitlab \ --namespace gitlab \ --set global.edition=ce \ --set global.hosts.domain=example.com \ --set certmanager.install=false \ --set nginx-ingress.enabled=false \ --set gitlab-runner.install=false \ --set gitlab.webservice.externalTrafficPolicy=Local \ --set gitlab.webservice.loadBalancerIP=<loadBalancerIP> \ --set gitlab.webservice.externalIPs=<externalIPs> \ --set gitlab.webservice.type=LoadBalancer \ --set gitlab.persistence.enabled=true \ --set gitlab.persistence.storageClass=<storageClass> \ --set gitlab.persistence.size=<storageSize> ``` 其中: - `--set global.edition=ce`:指定使用 GitLab Community Edition 版本 - `--set global.hosts.domain=example.com`:指定 GitLab 的域名 - `--set certmanager.install=false`:不安装 cert-manager - `--set nginx-ingress.enabled=false`:不安装 Nginx Ingress Controller - `--set gitlab-runner.install=false`:不安装 GitLab Runner - `--set gitlab.webservice.externalTrafficPolicy=Local`:指定负载均衡器类型为本地 - `--set gitlab.webservice.loadBalancerIP=<loadBalancerIP>`:指定负载均衡器的 IP 地址 - `--set gitlab.webservice.externalIPs=<externalIPs>`:指定外部 IP 地址 - `--set gitlab.webservice.type=LoadBalancer`:指定负载均衡器类型为 LoadBalancer - `--set gitlab.persistence.enabled=true`:启用持久化存储 - `--set gitlab.persistence.storageClass=<storageClass>`:指定存储类 - `--set gitlab.persistence.size=<storageSize>`:指定存储大小 5. 等待 GitLab 安装完成后,可以通过 `kubectl get pods -n gitlab` 命令查看所有运行的 Pod。 6. 如果需要升级 GitLab,可以使用以下命令: ``` helm upgrade gitlab gitlab/gitlab \ --namespace gitlab \ --set global.edition=ce \ --set global.hosts.domain=example.com \ --set certmanager.install=false \ --set nginx-ingress.enabled=false \ --set gitlab-runner.install=false \ --set gitlab.webservice.externalTrafficPolicy=Local \ --set gitlab.webservice.loadBalancerIP=<loadBalancerIP> \ --set gitlab.webservice.externalIPs=<externalIPs> \ --set gitlab.webservice.type=LoadBalancer \ --set gitlab.persistence.enabled=true \ --set gitlab.persistence.storageClass=<storageClass> \ --set gitlab.persistence.size=<storageSize> ``` 7. 如果需要卸载 GitLab,可以使用以下命令: ``` helm uninstall gitlab -n gitlab kubectl delete namespace gitlab ``` 注意:卸载 GitLab 时,需要先删除 GitLab 的命名空间。如果命名空间删除失败,可以使用以下命令: ``` kubectl delete namespace gitlab --grace-period=0 --force ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值