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

广州最好的网站建设公司松阳县建设局网站

广州最好的网站建设公司,松阳县建设局网站,北京平台网站建设报价,怎么把wordpress的博客变成题目Longhorn跨AZ实现存储高可用 longhorn基础组件功能及其作用这里就不做介绍了 方案一 Longhorn跨AZ的高可用的就是一个PVC的replicas 均匀打散的不同的AZ区域之间#xff0c;这样当某个AZ挂掉后#xff0c;engine会立即使用另外一个数据副本#xff0c;并重建这个副本这样当某个AZ挂掉后engine会立即使用另外一个数据副本并重建这个副本但是目前的关键点是如何将replica均匀打散到不同的AZ区域 为保证最大程度上的跨AZ数据高可用这里列出关于longhorn关键参数(仅供参考) # replica-soft-anti-affinity是否允许replica跑在使用pv的节点上# default-replica-count 设置pv数据副本个数# default-data-locality是否允许replica跑在使用pv的节点上# auto-salvage当所有副本挂掉时候允许longhorn找出可用的副本# auto-delete-pod-when-volume-detached-unexpectedly如果启用当Longhorn卷意外分离(例如Kubernetes升级、Docker重启或网络断开)时Longhorn将自动删除由控制器管理的工作负载pod。通过删除pod其控制器将重新启动pod, Kubernetes将处理卷的重新连接和重新挂载# disable-scheduling-on-cordoned-node禁止在cordon节点安排replica# replica-zone-soft-anti-affinity 实现跨AZ高可用关键参数允许将卷的新副本调度到与现有健康副本相同区域中的节点。不属于任何Zone的节点将被视为属于同一个Zone。注意Longhorn依赖于标签拓扑。topology.kubernetes.io/zoneZone name of the node方案二 使用longhorn的backup/restore功能但是随着数据量的增加RTO时间具体需要多久待测试且由于backup是定时或某个时刻手动触发的RPO大小取决于备份完成后到发生故障这段时间具体产生了多少数据。且用户是否能容忍丢失这个数据量 验证略 方案一验证 验证跨区域高可用(这里我们用topology.kubernetes.io/zone来模拟不同的zone)Longhorn需要开启replica-zone-soft-anti-affinity参数实现replica跨AZ数据同步这里仅验证replica在某个AZ down是否可用某个AZ内replica down了实测是会重构replica这里不做验证了 # 查看k8s节点 ╰─ kubectl get nodes -o custom-columnsNAME:.metadata.name,LABELS:.metadata.labels NAME LABELS k8s-master-1 map[beta.kubernetes.io/arch:arm64 beta.kubernetes.io/os:linux kubernetes.io/arch:arm64 kubernetes.io/hostname:k8s-master-1 kubernetes.io/os:linux] k8s-node-1 map[beta.kubernetes.io/arch:arm64 beta.kubernetes.io/os:linux kubernetes.io/arch:arm64 kubernetes.io/hostname:k8s-node-1 kubernetes.io/os:linux] k8s-node-2 map[beta.kubernetes.io/arch:arm64 beta.kubernetes.io/os:linux kubernetes.io/arch:arm64 kubernetes.io/hostname:k8s-node-2 kubernetes.io/os:linux] k8s-node-3 map[beta.kubernetes.io/arch:arm64 beta.kubernetes.io/os:linux kubernetes.io/arch:arm64 kubernetes.io/hostname:k8s-node-3 kubernetes.io/os:linux]# 设置节点zonekubectl label nodes k8s-master-1 k8s-node-1 topology.kubernetes.io/zoneone --overwritekubectl label nodes k8s-node-2 k8s-node-3 topology.kubernetes.io/zonetwo --overwrite# 测试YAML ╰─ cat mysql.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata:name: mysql-pvcnamespace: devops spec:storageClassName: longhornaccessModes:- ReadWriteOnceresources:requests:storage: 5Gi --- apiVersion: apps/v1 kind: Deployment metadata:name: mysqlnamespace: devops spec:selector:matchLabels:app: mysqltemplate:metadata:labels:app: mysqlspec:containers:- image: docker.io/library/mysql:8.2name: mysqlenv:- name: MYSQL_ROOT_PASSWORDvalue: passwordports:- containerPort: 3306name: mysqlvolumeMounts:- name: datamountPath: /var/lib/mysqlvolumes:- name: datapersistentVolumeClaim:claimName: mysql-pvc ---通过上图我们可以发现 我们事先打的zone标签longhorn识别了我们在创建mysql后查看pv信息可以发现replica分布在二个不同的ZONE区域 # 生成1000条数据 cat 1.sql EOF CREATE DATABASE test_bai; USE test_bai; CREATE TABLE app_user(id INT NOT NULL AUTO_INCREMENT COMMENT 主键,name VARCHAR(50) DEFAULT COMMENT 用户名称,email VARCHAR(50) NOT NULL COMMENT 邮箱,phone VARCHAR(20) DEFAULT COMMENT 手机号,gender TINYINT DEFAULT 0 COMMENT 性别0-男 1-女,password VARCHAR(100) NOT NULL COMMENT 密码,age TINYINT DEFAULT 0 COMMENT 年龄,create_time DATETIME DEFAULT NOW(),update_time DATETIME DEFAULT NOW(),PRIMARY KEY (id) )ENGINE INNODB DEFAULT CHARSET utf8 COMMENTapp用户表; SET GLOBAL log_bin_trust_function_creatorsTRUE; DELIMITER $$ CREATE FUNCTION mock_data() RETURNS INT BEGINDECLARE num INT DEFAULT 1000;DECLARE i INT DEFAULT 0;WHILE i num DOINSERT INTO app_user(name,email,phone,gender,password,age)VALUES(CONCAT(用户,i),2548928007qq.com,CONCAT(18,FLOOR(RAND() * ((999999999 - 100000000) 1000000000))),FLOOR(RAND() * 2),UUID(),FLOOR(RAND() * 100));SET i i 1;END WHILE;RETURN i; END; SELECT mock_data(); EOF# 导入数据 bash-4.4# mysql -uroot -ppassword 1.sql mysql: [Warning] Using a password on the command line interface can be insecure. mock_data() 1000将k8s-node-3/k8s-node-2节点关机(模拟zone-two down,mysql目前也跑在这个zone) # 等待controller-manager驱逐mysql后在zone-one启动mysql ╰─ kubectl get pods -n devops -o wide | grep mysql mysql-7bc9bc8b55-g7jn8 1/1 Running 0 118s 172.16.1.85 k8s-node-1 none none# mysql 调度到k8s-node-1后查询数据量大小 bash-4.4# mysql -uroot -ppassword -e use test_bai; select count(*) from app_user; mysql: [Warning] Using a password on the command line interface can be insecure. ---------- | count(*) | ---------- | 1000 | ----------通过上述测试我们可以发现 当zone-two down后pv的replica被标志为失败且会在zone-one找一个节点去复制pv的replica来保证replica2(即使我们配置了replica不能在同一个zone)数据量大小也一致(未发生数据丢失)这里仅做了小数据验证 注意节点异常-apiserver感知-controller-manager驱逐mysql是存在一段间隔时间的(取决于controller-manager和kubelet上报节点状态信息间隔等参数)这段时间实际上是无法访问的
http://www.w-s-a.com/news/136427/

相关文章:

  • 新网站该如何做网站优化呢儿童手工
  • 湖北现代城市建设集团网站搜索引擎优化的作用
  • 上海做网站吧开一家软件开发公司需要什么
  • 阿里巴巴网站建设改图片建设厅官方网站河南
  • 邓砚谷电子商务网站建设镇江网
  • 网站空间支持什么程序工作服款式
  • 网站单页品牌网站建设 蝌蚪5小
  • 怎么做外贸网站需注意哪些做电脑系统的网站
  • 网站建设介绍推广用语河南网站优化外包服务
  • 课程网站模板贵州省城乡与建设厅网站
  • 网站模板及源码谁家网站用户体验做的好
  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用
  • 网站建设公司排名前十做网站的最终目的
  • 选择网站开发公司的标准中国网站建设市场规模
  • 衣服网站建设策划书广州住房和城乡建设部网站
  • 微商城科技淄博网站建设优化seo
  • 杭州 网站设计制作东圃手机网站开发
  • 网站文章页内链结构不好可以改吗微信平台如何开发
  • 炫酷业务网站课程网站如何建设方案
  • 网站建设服务器可以租吗wordpress微信打赏
  • 网站制作的重要流程图大连网站优化快速排名
  • 河南省住房建设厅官方网站注册公司邮箱需要什么