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

ui设计的作用seo工作

ui设计的作用,seo工作,网站开发计划书封面设计,网页视频怎么下载到手机本地视频一、前言 minio的部署有几种方式,分别是单节点单磁盘,单节点多磁盘,多节点多磁盘三种方式,本次部署使用多节点多磁盘的方式进行部署,minio集群多节点部署最低要求需要4个节点,集群扩容时也是要求扩容的节点…

一、前言

minio的部署有几种方式,分别是单节点单磁盘,单节点多磁盘,多节点多磁盘三种方式,本次部署使用多节点多磁盘的方式进行部署,minio集群多节点部署最低要求需要4个节点,集群扩容时也是要求扩容的节点为4的倍数才能更好的发挥minio的性能,使用minio集群可以更好的实现高可用,在minio集群还有n/2节点存活时minio集群依然可读但不可写,在minio集群还有n/2+1节点存活时minio集群依然可读可写

二、部署

创建minio 服务yaml文件的存储目录

mkdir /opt/minio  && cd /opt/minio

这里使用nfs作为minio的存储,其实最好还是单独挂载磁盘作为minio的存储更好,用nfs作为minio的存储,相当于存储还是有单点的问题,单独挂载磁盘可以在k8s的每个工作节点分配磁盘的存储路径再使用pv作为存储块,这样就能避免存储的单点问题,这里就是用nfs网络存储作为pv存储块的存储

vi pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:name: minio-pv0
spec:storageClassName: minio-pv    #指定动态存储卷的类型或类别,当pvc使用该类别时,可以自动绑定属于该类别的pvcapacity:storage: 100Gi     #存储大小accessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retain   #配置回收模式,配置为删除pv不自动删除存储路径中的数据nfs:      #使用nfs存储path: /volume2/k8s-data/minio/minio-pv0    #nfs存储路径,这里使用4个不同的nfs路径,模拟4个单独的存储磁盘server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:name: minio-pv1
spec:storageClassName: minio-pv   capacity:storage: 100GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retainnfs:path: /volume2/k8s-data/minio/minio-pv1server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:name: minio-pv2
spec:storageClassName: minio-pv    capacity:storage: 100GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retainnfs:path: /volume2/k8s-data/minio/minio-pv2server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:name: minio-pv3
spec:storageClassName: minio-pv  capacity:storage: 100GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retainnfs:path: /volume2/k8s-data/minio/minio-pv3server: 10.1.13.99

使用setafulset的方式部署minio集群,因为每个minio是有状态的应用,每个节点都存着数据,这里再说一下使用的是pvc模板的方式去绑定创建好的pv,也可以使用动态pv,使用pvc模板,然后去动态的自动创建pv绑定

vi setafulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:name: minionamespace: minio
spec:podManagementPolicy: "Parallel"  #并行启动pod,不配置的话模式是按顺序启动pod,minio、nacos都需要配置并行启动serviceName: minio  #指定Headless Service的名称,这个服务的作用是为每个Pod创建一个独立的DNS记录,使其能够通过该DNS记录进行唯一标识和访问replicas: 4selector:matchLabels:app: miniotemplate:metadata:labels:app: miniospec:affinity:       #亲和性配置可忽略,我这里是为了分配到固定的节点上nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: appoperator: Invalues:- miniocontainers:- name: minioimage: minio/minioimagePullPolicy: IfNotPresentenv:        #配置变量,配置minio集群的账户密码,密码不能少于8位数- name: MINIO_ROOT_USERvalue: admin- name: MINIO_ROOT_PASSWORDvalue: 12345678args:    #定义minio集群配置,定义每个节点- server- "http://minio-{0...3}.minio.minio.svc.cluster.local/data"#  - "http://minio-{4...7}.minio.minio.svc.cluster.local/data"- --console-address- ":5000"ports:- name: tcp-9000containerPort: 9000protocol: TCP- name: http-5000containerPort: 5000protocol: TCPvolumeMounts:   #配置数据目录- name: datamountPath: /datatolerations:       #配置污点,我这里是为了能在master节点上分配pod- key: node-role.kubernetes.io/control-planeoperator: Existseffect: NoSchedulevolumeClaimTemplates:   #使用定义pvc模板,去自动创建pvc- metadata:name: dataspec:accessModes: [ "ReadWriteOnce" ]storageClassName: "minio-pv"   #配置存储类型的名称,这里配置和上面pv配置的名称一致,就会自动绑定关于此存储类型名称的pvresources:requests:storage: 100Gi

配置service,使得外部能访问minio集群

vi service.yaml

kind: Service
apiVersion: v1
metadata:name: minionamespace: miniolabels:app: minio
spec:type: NodePortports:- name: http-9000protocol: TCPport: 9000nodePort: 30004targetPort: 9000- name: http-5000protocol: TCPport: 5000nodePort: 30002targetPort: 5000selector:app: minio

创建命名空间

kubectl create namespace minio

创建各yaml服务

kubectl apply -f pv.yaml

kubectl apply -f setafulset.yaml

kubectl apply -f service.yaml

查看各服务是否正常

kubectl get all -n minio

kubectl get pv 

 

kubectl get pvc -n minio

 查看minio web

http://10.1.60.119:30002

输入配置setafulset时定义的用户名和密码

 

可以看到minio集群显示4个节点均正常

 

 创建bucket上传文件后进行节点损坏实验

 

这里就不展示实验的过程了, 直接讲述实验的结果,本minio集群一共四个节点,当存活节点只剩下n/2时即2个节点,minio的bucket只能读取文件,不能上传文件,当存活节点剩下n/2+1时,minio的bucket可以进行正常的读取文件、上传文件,可以自行做实验尝试

注意:minio集群部署后如果删除了pvc和pv重新创建,会导致pod重新随机绑定一个pvc和pv,pod随机绑定pvc后minio集群会出现问题,会报错挂载磁盘信息不正确,如果要解决的话,需要删除该pv挂载路径下原来的数据,所以一般不要动pvc和pv,因为setafulset的特性只删除pod,pod会自动绑定原来的pvc,即使把整个setafulset删除重新创建也是会绑定原来的pvc,就不会导致集群出现问题

minio集群节点对等扩容

minio集群的扩容需要提前创建好需要扩容的pv个数,再更改setafulset配置,关于minio的扩容需要是4的倍数,这样才能更好的发挥minio集群的特性以便最好地利用 Erasure Code,并提供最佳的冗余和容错性,这是因为 Erasure Code 将数据分为数据块和冗余块,并将它们分布在不同的节点上,确保了数据的可靠性和冗余,另外使用对等扩容后,minio的集群原来的节点和新加入的加点会分成两部分,两部分不互相同步数据,当数据上传到bucket时,minio会根据算法去判断该数据存在哪一部分节点上

vi pv.yaml

apiVersion: v1          #在之前的pv配置后面加上以下pv配置
kind: PersistentVolume
metadata:name: minio-pv4
spec:storageClassName: minio-pv    #定义了存储类型capacity:storage: 100GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retainnfs:path: /volume2/k8s-data/minio/minio-pv4server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:name: minio-pv5
spec:storageClassName: minio-pv    #定义了存储类型capacity:storage: 100GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retainnfs:path: /volume2/k8s-data/minio/minio-pv5server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:name: minio-pv6
spec:storageClassName: minio-pv    #定义了存储类型capacity:storage: 100GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retainnfs:path: /volume2/k8s-data/minio/minio-pv6server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:name: minio-pv7
spec:storageClassName: minio-pv    #定义了存储类型capacity:storage: 100GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retainnfs:path: /volume2/k8s-data/minio/minio-pv7server: 10.1.13.99

vi setafulset

apiVersion: apps/v1
kind: StatefulSet
metadata:name: minionamespace: minio
spec:podManagementPolicy: "Parallel"  #平行启动pod,不配置的话模式是按顺序启动podserviceName: minioreplicas: 8          #更改pod数量selector:matchLabels:app: miniotemplate:metadata:labels:app: miniospec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: appoperator: Invalues:- miniocontainers:- name: minioimage: minio/minioimagePullPolicy: IfNotPresentenv:- name: MINIO_ROOT_USERvalue: admin- name: MINIO_ROOT_PASSWORDvalue: Zyh@022759args:- server- "http://minio-{0...3}.minio.minio.svc.cluster.local/data"- "http://minio-{4...7}.minio.minio.svc.cluster.local/data"  #增加minio集群配置- --console-address- ":5000"ports:- name: tcp-9000containerPort: 9000protocol: TCP- name: http-5000containerPort: 5000protocol: TCPvolumeMounts:- name: datamountPath: /datatolerations:- key: node-role.kubernetes.io/control-planeoperator: Existseffect: NoSchedulevolumeClaimTemplates:- metadata:name: dataspec:accessModes: [ "ReadWriteOnce" ]storageClassName: "minio-pv"resources:requests:storage: 100Gi

执行yaml文件加载配置

kubectl apply -f pv.yaml

kubectl apply -f setafulset.yaml

执行完成后minio集群就会扩容成8节点集群,关于数据会随机分配到两部分节点上存储,可以自行做实验验证

http://www.hkea.cn/news/872523/

相关文章:

  • 网站开发人员需要具备的能力电脑培训班多少费用
  • discuz集成wordpressseo的概念是什么
  • 子网站如何做网站营销方案模板
  • dreamweaver做的网站电商培训班一般多少钱
  • 国外做科研的网站东莞网站设计公司排名
  • 亿唐网不做网站做品牌原因seo网站诊断报告
  • 宝鸡网站建设东东怎么推广软件让别人下载
  • 21dove谁做的的网站百度一下首页设为主页
  • 猪八戒网站建设推广平台排名前十名
  • 广西建设质监站官方网站站长工具seo综合查询可以访问
  • 通用搭建网站教程优化营商环境的意义
  • 网站中加入地图怎样优化网站排名
  • 网站如何被搜索引擎收录地推推广平台
  • 池州做网站公司游戏搜索风云榜
  • 东丽区做网站网站查询平台
  • wordpress什么主题好用seo优化范畴
  • 局域网端口映射做网站西安竞价托管代运营
  • 重庆网站建设设计公司信息ip网站查询服务器
  • 网站积分的作用seo搜索引擎优化就业前景
  • 珠海网站品牌设计公司简介最新国内新闻重大事件
  • 广东专业网站客服软件定制站长统计app下载大全
  • 广东网站建设公司排名磁力帝
  • 胶南网站建设哪家好成都电脑培训班零基础
  • 集团网站建设哪家好网上推广怎么弄?
  • dz网站建设器最近有新病毒出现吗
  • 个人网站制作说明香港旺道旺国际集团
  • 监控做直播网站免费网站seo
  • 网站建设洪塔网站搜索优化排名
  • 专业做设计师品牌网站深圳百度总部
  • 网站兼容工具seo关键词排名优化教程