记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
Redis+Keepalived高可用环境部署记录  Keepalived 实现VRRP(虚拟路由冗余)协议,从路由级别实现VIP切换,可以完全避免类似heartbeat脑裂问题,可以很好的实现主从、主备、互备方案,尤其是无状态业务,有状态业务就需要额外花些功夫了。既然Mysql可以使用Keepalived很好的做到主从切换,那么Redis自然可以使用这种方式实现高可用。 Redis主从实现完全没有Mysql成熟,仅仅是可用而已,经过测试主从也不是那么完全不靠谱,主要问题在于同步连接断开之后需要重新全量同步,如果频繁进行会对主服务带来很大性能影响。 但现实中主从机器往往要求放在一个机柜同一台交换设备下,网络闪断情况极低;再者主从同步在同步数量量大情况下,需要将缓存区调得足够大,不然也容易造成连接断开。实现切换逻辑如下:A和B两台机器1)A 、B机器依次启动,A机作为主、B机为从。2)主A机挂掉,B机接管业务并作为主。3)A机起来,作为从SLAVEOF B。4)B机挂掉,A机再切回主。 在Keepalived 有两个角色:Master(一个)、Backup(多个),如果设置一个为Master,但Master挂了后再起来,必然再次业务又一次切换,这对于有状态服务是不可接受的。解决方案就是两台机器都设置为Backup,而且优先级...
  一、分布式文件系统介绍分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。特点:在一个分享的磁盘文件系统中,所有节点对数据存储区块都有相同的访问权,在这样的系统中,访问权限就必须由客户端程序来控制。分布式文件系统可能包含的功能有:透通的数据复制与容错。分布式文件系统是被设计用在局域网。而分布式数据存储,则是泛指应用分布式运算技术的文件和数据库等提供数据存储服务的系统。决定因素:数据的存储方式、数据的读取速率、数据的安全机制。发展历史:大致分为三个发展阶段,网络文件系统(1980s)、共享SAN文件系统(1990s)、面向对象的并行文件系统(2000s)。 二、FastDFS分布式系统架构介绍FastDFS:是一个开源的轻量级分布式文件系统,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站、视频网站等。 FastDFS是为互联网应用量身定做的分布式文件系统,充分...
 
0
  一、Ceph简单介绍OSDs:Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信息。Ceph的存储集群需要至少2个OSD守护进程来保持一个 active + clean状态.(Ceph默认制作2个备份,但可以调整它)Monitors:Ceph的监控保持集群状态映射,包括OSD(守护进程)映射,分组(PG)映射,和CRUSH映射。 Ceph 保持一个在Ceph监视器, Ceph OSD 守护进程和 PG的每个状态改变的历史(称之为“epoch”)。MDS:MDS是Ceph的元数据服务器,代表存储元数据的Ceph文件系统(即Ceph的块设备和Ceph的对象存储不使用MDS)。Ceph的元数据服务器使用POSIX文件系统,用户可以执行基本命令如 ls, find,等,并且不需要在Ceph的存储集群上造成巨大的负载。 Ceph把客户端的数据以对象的形式存储到了存储池里。利用CRUSH算法,Ceph可以计算出安置组所包含的对象,并能进一步计算出Ceph OSD集合所存储的安置组。CRUSH算法能够使Ceph存储集群拥有动态改变大小、再平衡和数据恢复的能力。 二、Ceph存储特点Object:有原生的API,而且也兼容Swift和S3的APIBlock:支持精简配置、快照、克隆File:Posix接口,支持...
Docker部署rancherv2.44及故障排查 目录列表 Docker部署rancherv2.44及故障排查 1.环境准备 2.获取rancher2.4.4镜像 3.部署rancher 4.访问rancher 4.1.设置语言为中文 4.2.设置站点url路径 4.3.rancher首页 5.添加k8s集群 5.1.点击添加集群 5.2.选择导入k8s集群 5.3.填写集群名称点击创建 5.4.保存imprt命令 5.5.在master运行命令导入rancher 5.6.查看系统pod 5.7.如何升级pod 5.8.如何执行命令 6.故障排查 6.1.cattle-cluster-agent-c66cd4f58-xhfhs pod一直处于ContainerCreating状态 6.2.解决rancher仪表盘变红错误 6.2.1.问题描述 6.2.2.问题解决 1.环境准备 操作系统:CentOS 7.5 Docker:19.03.13 Rancher:v2.4.4 2.获取rancher2.4.4镜像 [root@bogon ~]# docker pull rancher/rancher:v2.4.4 v2.4.4: Pulling from rancher/ranch...
k8s对接Jenkins 1.jenkins工作流程 1.开发还是一样的写java代码,写好java代码后提交到gitlab仓库中,Jenkins在通过gitlab去拉取这些代码,开发只需要在Jenkins页面上点一下立即构建,就会调用shell命令将代码通过docker build 来构建镜像。 2.dockerfile一般研发同事会写好,如果研发不会写,运维也可以帮忙写,通用是这样的,由运维构建一个只有lnmp的镜像,研发在写dockerfile时from指定lnmp的镜像即可了。 3.构建完docker镜像后会将镜像上传到私有仓库中。 4.一般会在Jenkins服务器远程通过kubectl -s apiserver地址去调用k8s管理命令去启动一个容器,kube-apiserver会调用node节点去私有仓库获取镜像并运行开始工作。 5.如果是全新部署直接使用run命令部署即可,在用expose开放端口,过滤出svc的端口发个邮件提示上线成功。 整个流程就是,开发写代码---将代码上传至gitlab---Jenkins在从gitlab上获取代码并通过shell命令去构建成镜像---将镜像上传至私有仓库---在调用kube-apiserver去调度kubelet创建容器---并上线 2.环境规划 ip 服务 内存 192.168.81.210 kube-apiserver 8080 ...
  通过我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做。至于4层负载均衡和7层负载均衡的区别,可以参考:http://www.cnblogs.com/kevingrace/p/6137881.html。然而Nginx从1.9.0版本开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等,鉴于Nginx在7层负载均衡和web service上的成功,和Nginx良好的框架,stream模块前景一片光明。官方文档:http://nginx.org/en/docs/stream/ngx_stream_core_module.html Nginx的stream模块默认不会自带安装,需要编译安装的时候手动添加上这个模块。废话不多说了,下面介绍下一个自己使用stream做四层负载均衡(socket协议代理)的案例: 在此之前已经使用Ningx+Keepalived(主从模式)做了7层负载均衡的LB环境,之前编译的时候,没有加上这个stream模块,所以需要后续手动添加该模块。 由于Nginx的LB已经有业务跑在上面,可以选择平滑添加stream模块,并不会对线上业务造成多大影响。步骤如下: 1)先在LB的slave从机上进行平滑添加,然后再将vip切换到从机上,随即在对master主机进行平滑添加该模...
2020-11-02 使用K8s部署MySQL 双主集群 机器         角色                               mysql-0                             master\slave    mysql-1       slave\master 最近对线上集群做高可用升级,在对比了几个集群策略之后,综合现有资源、复杂度、可用度之后,选择了两个: MySQL双主的互为备份的2节点集群 MySQL基于wsrep协议的Galera Cluster的mysql多主集群 初步处于复杂度考虑,选择了方案一。 方案一又有两个版本: 利用keepalived做活跃监督 利用k8s service做负载均衡,达到和活跃监督一样的效果 我们选择最简单的k8s service,先做测试。无论哪一种,首先都要实现双主的互为备份的2节点部署。 一、部署 选择 dockerhub上的MySQL:5.7.32作为基础镜像。依赖于镜像本身的启动命令,做修改,然后部署。 1.Dockerfile 以dockerhub...
 
0
 基于 Helm 高可用安装 # 准备工作 请确认现有 Kubernetes 集群满足 前提条件。 高可用安装模式适用于生产环境,Erda 的核心组件及重要依赖均采用多副本方案部署。该模式默认提供配置参数,同时请注意以下事项: MySQL 不支持高可用,建议您接入自己的 MySQL 或云服务商 RDS 以保证稳定性,具体请参见 如何接入已有中间件。 建议您妥善保存私有化配置,以便后续升级维护,具体请参见 如何保存私有化配置。 该模式默认提供 Erda 及依赖的配置参数,您可以根据实际部署情况修改,具体请参见 高可用部署可配置参数。 若您希望合理划分 Erda 组件及依赖组件的节点,请参见 高可用组件分类调度。 添加 Erda Helm Chart 仓库并更新。 helm repo add erda https://charts.erda.cloud/erda helm repo update # 安装操作 # 安装配置 您可以通过配置文件描述 Erda 高可用安装的个性化配置,例如 custom_values.yaml: global: size: prod domain: "erda.io" erda: clusterName: "local-cluster" mysql: enbaled: false custom: address: "rds.xxx.com" port: "3306" ...
 关于 Erda Erda 是什么 Erda 是新一代数字化云原生 PaaS 平台,其核心包含三大模块:应用(微服务)研发治理平台、快数据治理平台和混合云管理平台。 应用(微服务)研发治理平台具备项目管理、API 管理、CI/CD、自动化测试、应用管理、监控、日志分析、APM 和微服务观测等核心功能,从需求分析到上线交付,实现真正的一站式全流程管理。 快数据治理平台采用流批一体的架构设计,基于实时的数据计算,提供数据源管理、数据地图、数据模型开发、数据资产、数据血缘等一体化的数据治理能力,可应用于数据中台建设、实时数据仓库建设等场景。 混合云管理平台基于 Kubernetes(K8s)架构的容器云服务,提供 K8s 的可视化管理、常见公有云的资源管理和编排,以及立体式的智能监控告警,能够将应用部署到不同的云平台,实现混合云架构。 # Erda 不是什么 Erda 是基于 K8s 的应用开发管理平台,而并非一个 K8s 发行版本,也不是一个 K8s 管理平台。 # Erda 为什么有三大平台 企业数字化建设的三大核心场景分别是 “云”、“业务”和“...
docker+Portainer容器化部署nacos+rouyi_cloud+SkyWalking+sentinelRuoYi-Cloud是一款基于Spring Boot、Spring Cloud & Alibaba、Vue、Element的前后端分离微服务极速后台开发框架。RuoYi 官网地址:http://ruoyi.vip(opens new window)RuoYi 在线文档:http://doc.ruoyi.vip(opens new window)RuoYi 源码下载:https://gitee.com/y_project/RuoYi-CloudRuoYi-Cloud 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Cloud & Alibaba、Vue、Element),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。系统模块~~~com.ruoyi     ├── ruoyi-ui              // 前端框架 [80]├── ruoyi-gateway         // 网关模块 [8080]├── ruoyi-auth            // 认证中心 [9200]├── ruoyi-api             // 接口模块│       └── ruoyi-api-system           &...
    总共269页,当前第30页 | 页数:
  1. 20
  2. 21
  3. 22
  4. 23
  5. 24
  6. 25
  7. 26
  8. 27
  9. 28
  10. 29
  11. 30
  12. 31
  13. 32
  14. 33
  15. 34
  16. 35
  17. 36
  18. 37
  19. 38
  20. 39
  21. 40