业余从事网站开发莱芜在线论坛 莱芜话题

当前位置: 首页 > news >正文

业余从事网站开发,莱芜在线论坛 莱芜话题,网站百度快照怎么做,微信公众平台怎么做微网站Longhorn部署手册 1.部署longhorn longhorn架构图#xff1a;
1.1部署环境要求 kubernetes版本要大于v1.21 每个节点都必须装open-iscsi #xff0c;Longhorn依赖于 iscsiadm主机为 Kubernetes 提供持久卷。 apt-get install -y open-iscsiRWX 支持要求每个节点都安装 N…Longhorn部署手册 1.部署longhorn longhorn架构图
1.1部署环境要求 kubernetes版本要大于v1.21 每个节点都必须装open-iscsi Longhorn依赖于 iscsiadm主机为 Kubernetes 提供持久卷。 apt-get install -y open-iscsiRWX 支持要求每个节点都安装 NFSv4 客户端 主机文件系统支持file extents存储数据的功能 ext4xfs bashcurlfindmntgrepawkblkidlsblk 必须安装 Mount propagation 必须启用它允许将一个容器挂载的卷与同一 pod 中的其他容器共享甚至可以与同一节点上的其他 pod 共享
1.2 环境检查 rootmaster01:/Longhorn# wget https://github.com/longhorn/cli/releases/download/v1.7.1/longhornctl-linux-amd64 rootmaster01:/Longhorn# ll total 192552 -rwxr-xr-x 1 root root 40878232 Nov 15 10:16 longhornctl-linux-amd64 rootmaster01:/Longhorn# chmod ax longhornctl-linux-amd64 rootmaster01:/Longhorn# export KUBECONFIG/root/.kube/config rootmaster01:/Longhorn# ./longhornctl-linux-amd64 check preflight #这个是每个节点启动pod来检查环境是否合格1.3 使用helm部署longhorn 注意事项longhorn默认的数据存放路径是/var/lib/longhorn根据实际情况修改可以在values.yaml文件里修改但是我修改时没有生效故采用传参的方式修改 1、添加helm仓库 helm repo add longhorn https://charts.longhorn.io helm repo update 2、创建命名空间longhorn-system(在chart包中写死了命名空间必须是longhorn) kubectl create ns longhorn-system 3、安装longhorn 1在线安装 helm install longhorn longhorn/longhorn –namespace longhorn-system –set defaultDataPath/data/longhorn –create-namespace –version 1.7.1 2离线安装 wget https://github.com/longhorn/longhorn/releases/download/v1.7.1/charts.tar.gz helm install longhorn longhorn –namespace longhorn-system –set defaultDataPath/data/longhorn rootmaster01:/Longhorn/longhorn# kubectl get pod -n longhorn-system NAME READY STATUS RESTARTS AGE csi-attacher-644c7b7568-495hh 11 Running 0 56m csi-attacher-644c7b7568-cqb66 11 Running 0 56m csi-attacher-644c7b7568-v9p4r 11 Running 1 (71m ago) 89m csi-provisioner-58cc84b487-24gc4 11 Running 0 56m csi-provisioner-58cc84b487-hqtds 11 Running 1 (71m ago) 89m csi-provisioner-58cc84b487-jj8z5 11 Running 0 56m csi-resizer-6d5c898684-gk5kx 11 Running 0 56m csi-resizer-6d5c898684-lmln4 11 Running 0 89m csi-resizer-6d5c898684-rmwrs 11 Running 0 56m csi-snapshotter-68b686dc4-fgm4f 11 Running 0 56m csi-snapshotter-68b686dc4-lfgx5 11 Running 0 56m csi-snapshotter-68b686dc4-r552m 11 Running 0 89m engine-image-ei-f4f7aa25-54kmw 11 Running 0 89m engine-image-ei-f4f7aa25-bfnbt 11 Running 0 89m engine-image-ei-f4f7aa25-w4pmj 11 Running 0 89m instance-manager-2b871e5c27104071c7f8ae34c9384354 11 Running 0 54m instance-manager-6d8ba5e2d6850b4dbd6df7e2bf4f9c16 11 Running 0 54m instance-manager-95de354c4f2e1d5c13376714640f455c 11 Running 0 89m longhorn-csi-plugin-2b2xc 33 Running 0 89m longhorn-csi-plugin-5zb6x 33 Running 0 89m longhorn-csi-plugin-9ccmx 33 Running 0 89m longhorn-driver-deployer-795c448b6c-vcg46 11 Running 0 56m longhorn-manager-4pg48 22 Running 5 (91m ago) 103m longhorn-manager-dvjmd 22 Running 0 87m longhorn-manager-jgmhw 22 Running 5 (91m ago) 103m longhorn-ui-75f6f6bc8b-b5vkp 11 Running 4 (90m ago) 91m longhorn-ui-75f6f6bc8b-ktkfz 11 Running 2 (56m ago) 56m#注意部署longhorn需要拉取镜像 rootmaster01:/Longhorn# cat pull-image.sh nerdctl pull longhornio/longhorn-manager:v1.7.1 –namespacek8s.io nerdctl pull longhornio/longhorn-share-manager:v1.7.1 –namespacek8s.io nerdctl pull longhornio/longhorn-ui:v1.7.1 –namespacek8s.io nerdctl pull longhornio/csi-attacher:v4.6.1 –namespacek8s.io nerdctl pull longhornio/csi-provisioner:v4.0.1 –namespacek8s.io nerdctl pull longhornio/csi-resizer:v1.11.1 –namespacek8s.io nerdctl pull longhornio/csi-snapshotter:v7.0.2 –namespacek8s.io nerdctl pull longhornio/longhorn-engine:v1.7.1 –namespacek8s.io nerdctl pull longhornio/longhorn-instance-manager:v1.7.1 –namespacek8s.io nerdctl pull longhornio/csi-node-driver-registrar:v2.12.0 –namespacek8s.io nerdctl pull longhornio/livenessprobe:v2.14.0 –namespacek8s.io nerdctl pull longhornio/longhorn-cli:v1.7.1 –namespacek8s.io nerdctl pull registry.k8s.io/pause:3.1 –namespacek8s.io nerdctl pull alpine:3.17 –namespacek8s.io1.4 检查longhorn 1.4.1查看storageclass存储卷 rootmaster01:/Longhorn# kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE longhorn (default) driver.longhorn.io Delete Immediate true 92m longhorn-static driver.longhorn.io Delete Immediate true 21m nfs-client k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false 49d#可以看出longhorn自动给集群创建两个Storageclass动态分配卷且会自动给longhorn设置为defaultlonghorn-static这个Storageclass是手动创建pv、pvc卷手动将pvc和Storageclass绑定1.4.2创建pod 因为我的集群只有三个节点而longhorn是三副本存储机制故我每个节点都存有pod的数据如果你是四个node节点你就会发现有个节点是没有mongodb-0 pod的数据
2.Longhorn组件的概念 2.1csi-attacher 作用csi-attacher 负责将 Kubernetes 的持久卷Persistent Volume, PV与容器Pod关联。它会确保在 Pod 被调度到节点时正确地挂载相关的卷。功能主要处理 CSI 卷的挂载操作即在 pod 创建时将卷“附加”attach到节点或者在 pod 被删除时卸载卷。 2.2csi-provisioner 作用csi-provisioner 是 Longhorn 的自动存储卷创建控制器它负责动态创建存储卷。它与 Kubernetes 的 PersistentVolumeClaimPVC资源配合使用当 PVC 创建时如果没有匹配的持久卷csi-provisioner 会调用 CSI 驱动去创建一个新的 Longhorn 卷。功能监听 PVC 事件基于用户请求自动创建或删除卷。这个组件使得卷的动态供应成为可能。 2.3csi-resizer 作用csi-resizer 负责在需要时调整卷的大小即扩容或缩容当用户通过 PVC 调整卷大小时csi-resizer 会触发 Longhorn 进行相应的卷扩展或缩减。功能监听 PVC 的 spec.resources.requests.storage 变化并根据 PVC 的请求对卷进行扩展。它与 Longhorn 的存储引擎交互确保实际存储卷的大小和请求一致。 2.4csi-snapshotter 作用csi-snapshotter 负责对卷进行快照操作。它允许用户创建卷的快照以便进行数据备份、恢复或克隆操作。功能监听 Kubernetes 中的 VolumeSnapshot 资源并与 Longhorn 交互来创建、删除和恢复卷快照。通过这个组件用户可以在 Kubernetes 中管理 Longhorn 卷的快照。 2.5engine-image-ei 作用engine-image-ei 负责管理 Longhorn 存储引擎的镜像版本。在 Longhorn 中每个存储引擎例如块存储的实现都与一个“引擎镜像”相关联这些镜像包括特定版本的存储引擎和驱动程序。功能通过这个组件Longhorn 可以管理和更新其存储引擎的版本确保引擎镜像正确地加载和部署。 2.6instance-manager 作用instance-manager 管理 Longhorn 中的数据卷和节点之间的连接。它负责为每个卷启动和管理虚拟机实例或容器来进行数据管理和 I/O 操作。功能在 Kubernetes 节点上创建并管理 Longhorn 数据卷的“实例”实际运行的容器这些实例负责数据的读取和写入操作。instance-manager 确保数据存储和访问的高可用性和可靠性。 2.7longhorn-csi-plugin 作用longhorn-csi-plugin 是 Longhorn 提供的 CSI 插件它允许 Kubernetes 使用 Longhorn 存储。它充当 Kubernetes 与 Longhorn 存储之间的中介负责卷的挂载、卸载、创建等操作。功能实现了 Kubernetes CSI 卷插件的接口负责与 Longhorn 存储系统的交互包括卷的创建、删除、挂载等操作。 2.8longhorn-manager 作用longhorn-manager 是 Longhorn 的控制器组件负责整个 Longhorn 系统的管理、协调和控制。它监视和管理 Longhorn 存储系统的各个组件包括卷、节点、快照、卷克隆等。功能主要负责 Longhorn 存储系统的整体操作例如卷管理、快照管理、扩容和缩容操作、节点状态管理等。它确保系统的健康状态协调各个组件的工作。 2.9longhorn-ui 作用longhorn-ui 是 Longhorn 的用户界面组件提供了一个 Web 界面用户可以通过它来管理和监控 Longhorn 存储系统。它允许用户方便地查看存储卷的状态、创建和删除卷、管理快照等。功能提供图形化界面用于卷管理、快照管理、节点监控和集群状态查看。用户可以通过 Web UI 来操作和配置 Longhorn 存储系统进行卷的创建、删除、备份等操作。 总结 csi-attacher卷挂载csi-provisioner动态卷供应csi-resizer卷扩展csi-snapshotter卷快照engine-image-ei存储引擎镜像管理instance-manager管理存储实例longhorn-csi-plugin与 Kubernetes 的 CSI 插件接口longhorn-manager集群和组件管理longhorn-ui图形化管理界面 参考链接https://www.cnblogs.com/misakivv/p/18436873 官网https://longhorn.io/