Releases · helm/helm (github.com)
[root@k8s-master2 ~]# mkdir helm[root@k8s-master2 ~]# cd helmtar zxvf helm-v3.5.4-linux-amd64.tar.gz cp -av linux-amd64//helm /usr/local/bin/helm helphelm create nginx helm repo listhelm repo add stable http://mirror.azure.cn/kubernetes/chartshelm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/chartshelm repo list
yum install -y nfs-utils
进行如下配置(这里选择40.181节点):
(资料图片)
创建根目录mkdir -p /mnt/nfs复制代码编辑
vim /etc/exports/mnt/nfs/ 192.168.40.0/24(rw,sync,fsid=0)复制代码同192.168.0.0/24一个网络号的主机可以挂载NFS服务器上的/mnt/nfs/目录到自己的文件系统中rw表示可读写sync表示同步写fsid=0表示将/mnt找个目录包装成根目录启动nfs服务
systemctl start rpcbind.servicesystemctl start nfs-server.service复制代码设置开机自启
systemctl enable rpcbind.servicesystemctl enable nfs-server.service复制代码使用配置生效
exportfs -r复制代码查看挂载情况
exportfs
支持动态供给的存储插件:https://kubernetes.io/docs/concepts/storage/storage-classes/
(1)添加仓库
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
(2)更新仓库
helm repo update
(3)下载到本地
helm pull nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --untar
(4)修改values
repository: dyrnq/nfs-subdir-external-provisioner tag: v4.0.2 pullPolicy: IfNotPresentimagePullSecrets: []nfs: server: 192.168.40.181 path: /mnt/nfs
(5)安装
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/
(1)列出你的集群中的 StorageClasses:
kubectl get storageclass
(2)标记一个 StorageClass 为默认的:
kubectl patch storageclass nfs-client -p "{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}"
前提已部署ingress
参考
部署Ingress Controller1.31 以及使用案例_赵承胜博客的技术博客_51CTO博客
添加 Harbor Helm Chart 仓库,并将 Helm Chart 下载到本地。
helm repo add harbor https://helm.goharbor.iohelm pull harbor/harbor --untar
编辑 harbar/values.yaml 文件:
设置 HTTPS 证书的域名。修改 externalURL,表示外部客户端访问 Harbor 的地址。修改存储类名称storageClass: "nfs-client" (之前我们创建的存储类)☆ (部署之前接的删除之前部署的pvc )
accessMode: ReadWriteMany # 卷的访问模式,需要修改为ReadWriteMany,允许多个组件读写,否则有的组件无法读取其它组件的数据
执行下面命令在 cloudnative-lab 命名空间部署 Harbor。
helm install harbor harbor
服务验证
访问
https://core.harbor.domain用户 admin 密码如下:cat harbor/values.yaml | grep 123harborAdminPassword: "Harbor12345"
首先新建一个项目名为 demo。
从 Helm Chart 仓库 找一个别人分享的 Helm Chart,这里我选择一个 Kafka Helm Chart。
仓库地址https://artifacthub.io/
使用以下命令拉取 Kafka Helm Chart。
helm repo add bitnami https://charts.bitnami.com/bitnamihelm pull bitnami/kafka
在 Harbor 界面选择 Kafka Helm Chart 的压缩文件,点击上传。
Helm Charts 上传成功后,就可以看到相关信息,包括: Chart 版本号、状态、作者、模板引擎、创建时间等信息。
因为我们的 HTTPS 证书是自签名证书,在添加仓库的时候需要带上 ca.crt,如果是受信任的第三方 CA 签名的证书则无需此步骤。点击注册证书下载 ca.crt 文件。
添加仓库 ,安装kafka
helm repo add --ca-file ca.crt --username=admin --password=Harbor12345 myrepo https://core.harbor.domain/chartrepo/demohelm repo listhelm install kafka --ca-file=ca.crt --username=admin --password=Harbor12345 myrepo/kafka