longhorn安装与使用
时间:2022-10-08 04:30:00
longhorn安装与使用
- 一、longhorn介绍
-
- 1.1 配置介绍
- 二、安装
-
- 2.1 k8s方式安装longhorn
-
- 2.1.1 依赖节点安装
- 2.1.2 安装
-
- (1)下载longhorn.yaml文件
- (2)修改配置
- (3)部署
- 2.2.3 web访问
一、longhorn介绍
1.1 配置介绍
longhorn默认存储目录/var/lib/longhorn,使用yaml文件安装也在节点目录下
二、安装
2.1 k8s方式安装longhorn
longhorn它将创建自己的命名空间和存储类别
2.1.1 依赖节点安装
每个节点都需要安装iscsi-initiator-utils,ubuntu需要安装open-iscsi yum -y install iscsi-initiator-utils
2.1.2 安装
(1)下载longhorn.yaml文件
您可以下载指定版本。也可以直接安装这里下载修改配置 #kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.1.0/deploy/longhorn.yaml wget https://raw.githubusercontent.com/longhorn/longhorn/v1.1.0/deploy/longhorn.yaml
(2)修改配置
- 修改pv保留策略
修改pv为了保留策略,否则删除pvc的时候pv就会被删除 #在文件中找到StorageClass.data.reclaimPolicy修改为字段Retain reclaimPolicy: Retain
- 修改longhorn-frontend端口,方便访问
修改longhorn-frontend端口 #类型也需要修改NodePort type: NodePort #找到longhorn-frontend的nodePort字段 nodePort: 30179
- 修改存储路径
#找到DaemonSet资源下的spec.template.containers.volumeMounts字段 将/var/lib/longhorn/修改为需要更改的存储路径,记将文件中的所有/var/lib/longhorn//用变更的存储路径替换此路径
(3)部署
- 部署
[root@master01 volumes]# kubectl apply -f longhorn.yaml namespace/longhorn-system created serviceaccount/longhorn-service-account created clusterrole.rbac.authorization.k8s.io/longhorn-role created clusterrolebinding.rbac.authorization.k8s.io/longhorn-bind created customresourcedefinition.apiextensions.k8s.io/engines.longhorn.io created customresourcedefinition.apiextensions.k8s.io/replicas.longhorn.io created customresourcedefinition.apiextensions.k8s.io/settings.longhorn.io created customresourcedefinition.apiextensions.k8s.io/volumes.longhorn.io created customresourcedefinition.apiextensions.k8s.io/engineimages.longhorn.io created customresourcedefinition.apiextensions.k8s.io/nodes.longhorn.io created customresourcedefinition.apiextensions.k8s.io/instancemanagers.longhorn.io created customresourcedefinition.apiextensions.k8s.io/sharemanagers.longhorn.io created configmap/longhorn-default-setting created podsecuritypolicy.policy/longhorn-psp created role.rbac.authorization.k8s.io/longhorn-psp-role created rolebinding.rbac.authorization.k8s.io/longhorn-psp-binding created configmap/longhorn-storageclass created daemonset.apps/longhorn-manager created service/longhorn-backend created deployment.apps/longhorn-ui created service/longhorn-frontend created deployment.apps/longhorn-driver-deployer created
- 查看部署结果
[root@master01 volumes]# kubectl get ns NAME STATUS AGE default Active 105d dev Active 10d kube-node-lease Active 105d kube-public Active 105d kube-system Active 105d longhorn-system Active 3m8s [root@master01 volumes]# kubectl get pod -n longhorn-system NAME READY STATUS RESTARTS AGE si-attacher-5dcdcd5984-cvk6k 1/1 Running 0 2m38s
csi-attacher-5dcdcd5984-fp8q4 1/1 Running 0 2m38s
csi-attacher-5dcdcd5984-kjjg9 1/1 Running 0 2m38s
csi-provisioner-5c9dfb6446-df4qw 1/1 Running 0 2m38s
csi-provisioner-5c9dfb6446-dhjhn 1/1 Running 0 2m38s
csi-provisioner-5c9dfb6446-szcml 1/1 Running 0 2m38s
csi-resizer-54d484bf8-ggjxg 1/1 Running 0 2m38s
csi-resizer-54d484bf8-jg9p9 1/1 Running 0 2m38s
csi-resizer-54d484bf8-k74gp 1/1 Running 0 2m38s
csi-snapshotter-96bfff7c9-555kp 1/1 Running 0 2m37s
csi-snapshotter-96bfff7c9-dcc96 1/1 Running 0 2m37s
csi-snapshotter-96bfff7c9-pd8hb 1/1 Running 0 2m37s
engine-image-ei-cf743f9c-fkgx8 1/1 Running 0 3m2s
engine-image-ei-cf743f9c-rtgml 1/1 Running 0 3m2s
engine-image-ei-cf743f9c-zhdtv 1/1 Running 0 3m2s
instance-manager-e-206640f3 1/1 Running 0 2m58s
instance-manager-e-d25b6c2c 1/1 Running 0 2m54s
instance-manager-e-e04840b1 1/1 Running 0 3m1s
instance-manager-r-2e491629 1/1 Running 0 3m1s
instance-manager-r-384e572d 1/1 Running 0 2m57s
instance-manager-r-70cc0617 1/1 Running 0 2m53s
longhorn-csi-plugin-bb2bw 2/2 Running 0 2m37s
longhorn-csi-plugin-mmchb 2/2 Running 0 2m37s
longhorn-csi-plugin-vrpq6 2/2 Running 0 2m37s
longhorn-driver-deployer-cdb7464c6-cwt98 1/1 Running 0 3m17s
longhorn-manager-52gn6 1/1 Running 2 3m18s
longhorn-manager-597xc 1/1 Running 2 3m18s
longhorn-manager-zltr8 1/1 Running 1 3m18s
longhorn-ui-849c455d79-x9265 1/1 Running 0 3m17s
查看存储类
[root@master01 volumes]# kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
longhorn driver.longhorn.io Retain Immediate true 3m44s
2.2.3 web访问
直接访问集群中任何一个节点加端口就可以了
http://192.168.8.10:30179/#/dashboard
可以手动创建pv,部署好这个服务之后,之后在longhorn存储类中创建的pvc如果没有匹配的pv,都会自动创建pv,与pvc想匹配的。所以不需要咱们手动创建