今天遇到一个错误迁移的时候发现无法迁移到不同的主机上,这样就失去了高可用的能力。每个虚拟机的配置界面都有EVC的选项,这里的CPU模式相同才能正常切换到不同的主机上。而要彻底消除这个错误,需要把所有物理主机都加入到集群中然后在集群模式下启用EVC。再把所有不相同的虚拟机停机修改CPU模式和EVC一样。这样就可以在所有的主机之间正常迁移了。
介绍: 到这个地方为止整个平台已经正常运行,监控和告警也能告诉我们集群运行是否平稳。历史记录可以看到资源的使用趋势,通过长期的数据累计能知道高峰和低估时间,整个集群资源利用率等等。可是当业务访问量增加资源不足触发告警,人员介入处理手动扩容。这些动作始终还是需要有人去做,而人不能24小时运转特别是一些小公司人员有限也不轮班,这不是睡觉都不踏实么。这个时候k8s的自动扩容缩容就有用了,而且在前面我们做
介绍: 基本上到这里,证明整个集群已经能正常运行,同时业务程序也部署到了集群中并且可以提供用户使用。不过整个集群还是需要对其进行监控起来,否则根本就不知道目前集群是什么情况,特别是用云主机的集群到底多少资源够用,什么时候需要增加资源什么时候降低资源,怎么用最少的钱办最多的事,老板最关心的就是钱了,所以监控必不可少。可以说有了监控整个集群才有了眼睛,没有监控就和男人没穿内裤女人没带胸罩一样,总觉得心
介绍: 很多使用k8s的人都知道,部署完业务应用以后如何才能使用起来才是关键。如果一个程序容器化部署到k8s后没有访问程序的点,那这个程序没有任何作用还不如在虚拟机上用手动用命令run起来。而k8s中最常见的几种访问方式有service、ingress、nodeport。这一节就详细说说这几种方式的具体使用场景。 k8s中的service: service是最常用的,k8s集群运行以后就能使用。而
介绍: 到这里我们就需要把程序发布到前面配置好的亚马逊k8s上。但是我们不能每次都手动去处理这些工作,这里说一下简单的环境。我们有两个环境分别是uat和pro对应开发和生产,这两个名称是之前的人确定的。按照正常应该是开发、测试、预发布、生产四个环境,当然小团队为了节省成本还有平台的性质可能略有不同。前一家公司的项目类似电商每天交易量大概10万订单所以是一分都不允许停止,那整个构建发布流程就
介绍: 一个平台项目会有很多程序模块,现在微服务架构盛行。所以一个平台会拆成很多个程序模块来部署。一般多的上百个,少的也有几个十来个。这就需要制作好镜像,为了方便我为每一种类型的程序制作一个基础镜像,每种语言开发的不同模块只要编译完放进去就能启动。这种方式可以提高构建镜像的效率,镜像仓库按层来存储也能减小存储空间,提高部署时拉取镜像的效率。用来演示的项目有三种语言来开发,java语言、go
介绍: 到这里基本上集群就已经跑起来了,接下来就要把运行业务系统的程序部署上去。这里会介绍zookeeper、etcd、kafka的部署,会讲到服务为什么需要用Deployment和StatefulSet。这两个东西分别是如何运用的。 zookeeper: 要制作zookeeper的镜像需要了解zk集群运行时的配置方法和原理,其中配置文件有个地方需要处理。下载zookeeper安装包,解压到一个目
介绍: 因为要部署自己公司的内部应用程序,所以必须要创建一个私有的镜像仓库。如果你是使用云服务的镜像仓库可以跳过,这里将使用nexus来创建docker镜像仓库。nexus不光可以创建docker,也是很多公司内部用来作为各种程序的内部加速使用。比如java的maven、nodejs、rpm、pip、.net等各种仓库。所以我更喜欢使用这个nexus作为docker镜像仓库,这样就不用再去维护一个
默认eks创建好以后是没有配置界面的,没有界面用起来实在很麻烦。这里推荐使用rancher2.0的页面,简单漂亮使用方便。适合研发、测试等人员使用,基本就是鼠标点点点就行。 rancher安装: 使用helm进行安装操作,所以这里需要下载一个helm工具。wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gztar -xf helm-v3.
简介: 默认情况下k8s中部署程序以后是需要让外面的人使用的,所以需要把服务暴露出来。暴露的方式一般是ingress和nodeport,而这两个东西又必须要依赖负载均衡器。亚马逊和阿里云上可以直接用,只需要安装load-balancer-controller即可。这章主要是讲如何正确的安装这个aws-load-balancer-controller。如果是自建的k8s集群推荐一个负载均衡器meta
故障描述: 今天一个项目出现数据库链接数耗尽问题,所有程序无法访问数据库,整个平台全部崩溃。只要是重启的服务就会导致无法链接数据库。 故障分析: 通过查看数据库日志,还有程序抛出的异常。发现新重启的程序无法和数据库建立链接,抛出异常too many connection。但是已经启动好的程序运行正常没有任何问题。查看数据库链接数,在数据库中执行show processlist 语句
介绍: 不管是亚马逊还是阿里云集群创建完以后是没有计算节点的,这和使用kubeadm命令安装的不同。这时用kubectl get nodes命令看不到内容,如果要在k8s上部署服务必须要添加计算节点。计算节点的收费请参考aws的ec2计费标准。添加计算节点我们会遇到一个问题,到底添加什么配置的主机更好呢?要解决这个问题,我们需要先整理一下目前的系统模块数量,以一个常规的微服务举例:1、基础组件:e
本章介绍如何在亚马逊云上创建k8s集群,亚马逊上称为eks。
开篇
jenkins配置好以后里面的凭据可能会在很久都不会进行修改,时间久了以后可能就忘记之前的账号密码是什么了。而默认在jenkins管理页面中查看不到原始的密码。这时可以使用管理后台的功能对密码进行解密。具体位置如图:选择脚本命令行:这个贴入密文就点击执行以后就能在下面得到明文的密码了。println(hudson.util.Secret.fromString("{AQAAABAAAAAQj2t5S
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号