网站首页 > 技术文章 正文
Kubernetes 1.25对接分布式ISILON存储
一、环境配置
1.1、kubernetes版本
1.2、CSI接口版本
1.3、容器镜像准备
1.4、isilon存储版本
版本是:9.4.0.14
1.5、使用operator兼容性版本查询
https://dell.github.io/csm-docs/docs/csidriver/installation/operator/
1.6、isilon 配置存储路径
1.7、isilon 开启NFS认证
1.8、isilon 设置网络IP地址
因为是使用NFS挂载,这里必须选择动态分配IP地址的方式,当存储节点故障后,存储的节点IP地址可以自动分配到其他的存储节点。
二、CSI安装以及对接
2.1、安装前置条件
打开浏览器:https://dell.github.io/csm-docs/docs/csidriver/installation/helm/isilon/
按如下步骤进行条件选择安装:
l 安装helm 3.0(必备的)
l 节点安装nfs-uitl(必备的)
2.2、下载安装包
进入:https://github.com/dell/csi-powerscale/releases,选择2.6.1版本将source code进行下载并传入K8S节点。
2.3、安装
前提条件:
1、2.1章节条件准备完成
2、镜像下载完成并完成导入,确认方法如下:ctrctl image list。参考如下图的输出:
3、csi-powerscale-2.6.1下载完成
步骤1、mkdir -p /opt/isilon261/
步骤2、创建命名空间:kubectl create ns isilon
步骤2、修改secret配置文件,
cp /root/isilon-v261/csi-powerscale-2.6.1/samples/secret/secret.yaml /opt/isilon261/
说明:clustename: 就是isilon存储集群设置的名字。
endpoint: 就是smartconnect的FQDN (需要在isilon上配置委派)
skipCertificateValidation:跳过证书认证
isiPath:是isilon设置的存储路径
步骤3、创建secret文件
kubectl create secret generic isilon-creds -n isilon --from-file=config=secret.yaml kubectl apply -f –
步骤4、创建empty-secret.yaml文件
步骤5、创建应用empty-secret.yaml文件
Kubectl apply -f empty-secret.yaml
步骤6、验证密钥创建状态,如下为正常创建
步骤7、创建isilon的配置文件
cp /root/isilon-v261/csi-powerscale-2.6.1/helm/csi-isilon/values.yaml /opt/isilon261/
#拷贝到指定目录就行,不需要修改配置
步骤8、执行配置安装
/root/isilon-v261/csi-powerscale-2.6.1/dell-csi-helm-installer/csi-install.sh --namespace isilon --values /opt/isilon261/values.yaml
出现错误,可以参考第四章节进行排错。
步骤9、安装完成后,控制组件与节点组件都运行正常
三、NFS挂载验证
3.1、创建存储类storageclass
执行命令:kubectl apply -f isilon-st.yaml
3.2、创建存储声明PVC
执行完成后,到isilon存储页面查看,发现在目录下同时创建了k8s-7aba42bb14的目录
3.3、查看存储PV
3.4、创建测试POD并挂载
登录POD,查看挂载路径
从上图看,挂载了的路径是isilon的smartconnect的FQDN,实际后端存储节点为192.168.1.81这台节点。尝试创建10个文件,验证是否可写。
从isilon的文件系统上查看,同样是有的
3.5、高可靠验证,断存储节点测试
从上述的挂载来看,挂载的是存储节点192.168.1.81 即是第二台节点
执行重启:
Isilon这边会显示存储节点IP地址飘到其他节点:
POD执行测试写数据,发现一直正常
四、安装失败排错过程
4.1、提示http:400 Authorization对接问题
kubectl logs isilon-node-qxw7w -n isilon
排错过程:说明授权没开,isilon需要开启授权
解决办法:在isilon开启auth之后,重新执行安装
出现http/1.1 200 OK 说明以及成功对接。
4.2、镜像问题
镜像出现pull 失败说明是节点镜像没未加载。请按照1.3的镜像下载后导入。
查看的办法:kubectl describe pods isilon-node-qxw7w -n isilon
4.3、如何卸载csi
猜你喜欢
- 2024-10-26 OpenShift 平台企业版 OCP 4.11.9 部署(基于KVM,CentOS, CoreOS)
- 2024-10-26 寻找 k3OS 替代方案?为边缘 K8s 选择容器操作系统
- 2024-10-26 Jenkins 基于 Kubernetes 的动态和静态节点
- 2024-10-26 开源容器镜像仓库工具-Harbor(开源镜像文件是什么)
- 2024-10-26 Kubernetes系列(四)Ingress(kube ingress)
- 2024-10-26 连载3の充分利用VSCODE编辑器(vscode作为文本编辑器)
- 2024-10-26 Kubernetes 集成 KubeEdge 需要注意的问题汇总
- 2024-10-26 Openshift 4.4 静态 IP 离线安装系列:准备离线资源
- 2024-10-26 教你将已越狱的iPhone还原至干净状态
- 2024-10-26 手把手教你如何把已越狱iphone还原至刚刚越狱后的纯净系统
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)