现在大部分中小企业或团队都是使用云平台来部署自己的服务,如阿里云,亚马逊云等.一般来说,业务的负载都具备一定的规律,比如每天集中在某几个小时,或呈现时间段周期性波峰.波谷交替的现象,如下图 如果使用ECS来部署服务,则可能大部分时间ECS的资源没有得到充分利用,造成成本浪费,尤其对于像GPU之类成本较高的资源就更加了.这个时候,我们可以考虑使用云集群的混搭模式来节约成本. 业务场景 假设有一个这样的业务场景,包括如下特点及要求: 整个系统包括业务服务与两层视觉服务 各层服务之间调用需做负载均衡…
在 <k8s云集群混搭模式,可能帮你节省50%以上的服务成本>一文中,介绍了使用k8s + 虚拟节点混合集群的方式,为负载具有时间段波峰.波谷交替规律的业务节约成本,提高服务伸缩效率的部署方案.本文对该方案的具体落地步骤与基本运行维护进行分享,为有此需求者提供参考. 部署要求 应能24小时不间断提供服务 在业务高峰期到来前能自动扩展指定数量的容器(提前对业务负载进行评估与压测,确定容器数) 在业务高峰期过后能自动收缩到指定数量的容器 能根据服务负载情况自动弹性伸缩,避免业务突发情况下服务能力跟…
我们这里的dubbo-consumer是dubbo-demo-service的消费者: 我们之前已经在jenkins配置好了流水线,只需要填写参数就行了. 由于dubbo-consumer用的gitee的私有仓库,需要添加公钥,这里大家可以自己找个client服务来做实验. 下面是我们通过jenkins构建的镜像,已经上传到我们的harbor私有仓库当中了: 这里我们构建了两次,构建了两个镜像,11bb9cd这个用来做模拟生产发版更新实验. 准备资源配置清单: 1.dp.yaml  红色部分根据…
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4. 添加参数 # 参数 . name: git_repo type: string description: 项目在git版本仓库的地址,如 https://gitee.com/xxx/dubbo-demo-service.git . name: app_name type: string description: 项目名称,如 dubbo-demo-service . name: git_ver type: s…
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4.添加第一个参数:设置项目的名称 5.添加第二个参数:docker镜像名称 6.添加第三个参数:项目所在的git中央仓库地址 7.添加第四个参数:项目在git仓库的对应分支或版本号 8.添加第五个参数:添加镜像标签 9.添加第六个参数:编译项目的位置 10.添加第七个参数:项目编译完成后,产生jar/war包的位置 11.添加第八个参数:编译所要使用的命令 12.添加第九个参数:使用哪个底包 13.添加第十个参数…
基础架构 主机名 角色 IP地址 mfyxw10.mfyxw.com K8S代理节点1,zk1 192.168.80.10 mfyxw20.mfyxw.com K8S代理节点2,zk2 192.168.80.20 mfyxw30.mfyxw.com K8S Node节点1,zk3 192.168.80.30 mfyxw40.mfyxw.com K8S Node节点2,jenkins 192.168.80.40 mfyxw50.mfyxw.com K8S运维节点(docker仓库) 192.168…
写在前面 研究K8S有一段时间了,最开始学习K8S时,根据网上的教程安装K8S环境总是报错.所以,我就改变了学习策略,先不搞环境搭建了.先通过官网学习了K8S的整体架构,底层原理,又硬啃了一遍K8S源码.别问我为哈这样学,只是我觉得对我个人来说,这样学能让我更好的理解整套云原生体系.这不,这次,我总结了如何一次性成功安装K8S集群的方法.我们今天先来说说如何基于一主两从模式搭建K8S集群.后面,我们再上如何完全无坑搭建K8S高可用集群的方案. 文章和搭建环境所需要的yml文件已收录到:https…
之前一直docker-compose跑zk集群,现在把它挪到k8s集群里. docker-compose跑zk集群 zk集群in k8s部署 参考: https://github.com/kubernetes/contrib/blob/master/statefulsets/zookeeper/zookeeper.yaml https://kubernetes.io/docs/tutorials/stateful-application/zookeeper/ 我修改了下默认的yaml 1.zk.…
本文介绍了kubernetes官方提供的日志收集方法,并介绍了Fluentd日志收集器并与其他产品做了比较.最后介绍了好雨云帮如何对k8s进行改造并使用ZeroMQ以消息的形式将日志传输到统一的日志处理中心. 容器日志存在形式 目前容器日志有两种输出形式: stdout,stderr标准输出 这种形式的日志输出我们可以直接使用docker logs查看日志,k8s集群中同样集群可以使用kubectl logs类似的形式查看日志. 日志文件记录 这种日志输出我们无法从以上方法查看日志内容,只能t…
kubernetes是google开源的容器集群管理系统,提供应用部署.维护.扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,简称:k8s(k与s之间有8个字母) Pod:若干相关容器的组合,Pod包含的容器运行在同一host上,这些容器使用相同的网络命令空间.IP地址和端口,相互之间能通过localhost来发现和通信.另外,这些容器还可共享一块存储卷空间.在k8s中创建,调度和管理的最小单位就是Pod,而非容器,Pod通过提供更高层次的抽象,提供了更加灵活的部署和管…