设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 安全 > 正文

专家观察 | 张鑫:“从Kubernetes到谷歌容器管理的落地与演化”(2)

发布时间:2021-01-17 07:29 所属栏目:53 来源:网络整理
导读:我原来发布一个二进制,现在我要拆分成很多模块,如果后端更新话,前端也要更新,我们去年联合发布了这样一个系统,叫做Seco,支持微服务之间的拓扑依赖关系支持发布,发布过程当中也会实时进行镜像仓库扫描,大家看到截屏

我原来发布一个二进制,现在我要拆分成很多模块,如果后端更新话,前端也要更新,我们去年联合发布了这样一个系统,叫做Seco,支持微服务之间的拓扑依赖关系支持发布,发布过程当中也会实时进行镜像仓库扫描,大家看到截屏中的文字就是扫描出来镜像的漏洞.

和发布相关就是另外一个概念就是灰度发布,我一个新版本的上线,我不希望新版本2.0一下替换1.0,对于基础设计型的软件我们按照一个数据中心一个数据中心更新.对于面向用户的产品,谷歌的购物,它的搜索等等,我们按照流量,先把15%的流量引到我新版本里面.

基于Kubernetes我们怎么样也做到灰度发布系统,其实也是可以利用它里面标签的特性,以及它对服务的构建特性来实现一个灰度发布,时间关系我这里细节不说了.

我们用过Kubernetes的一线工程师,我们都知道,往KPS我非常容易的部署这样一个服务,我构建一整套复杂的业务系统的时候,类似于Docker里面一样,我如何快速构建一个复杂的系统,后来Kubernetes有一个开源解决方案,叫做Helm,我们推出一个辅助的工具叫做Heim-Registry,快速推出模板,把模板放到云应用商店里面,提供共享,以及快速构建.

我们监控报警系统,如果我们自己用过Kubernetes的时候话会知道,Kubernetes管理跑在它上面的应用,对里面应用进行监控和管理,但是Kubernetes自身也是非常复杂的软件系统.

利用Kubernetes也知道,Kubernetes也要实时监控管理它的系统,在这个世界里面我们也需要有一个系统管理和维护Kubernetes自身.存储替换成OPDMDB,把更多K8S系统的指标曝露出来,实现不同层级的报警策略.

刚才讲完了Kubernetes跟谷歌的区别,以及我们演化和推进,怎么用一个新技术用到相对老的行业里面.

从我们落地经验来看,其实落地遇到不少的挑战,怎么做离线部署,怎么与私有云IAAS对接,对有状态、单体应用的无缝迁移.线上系统升级,多租户管理与安全把控.

我们有很多的openStack的用户,我们怎么保证不掉线的运营,线上升级系统、多租户的管理与安全把控,都是Kubernetes在传统行业中遇到的问题,也是我们实践中需要解决的问题.

第一个我们服务对外的曝露,这部分内容有点专业,我们都知道Kubernetes里面有一个服务的概念,集群内部的服务之间可以很轻便访问.

当我把一个服务曝露给集群以外的事件,我把京东云曝露在外面,外部怎么访问我的容器,我把对应服务对应起一个端口,在集群所有节点上,我web访问这个服务,要记住这三万多的端口把服务打过来,第一个端口我们要做记忆,其次我们很难做负载均衡.

这里头有比较简单的解决方案,我们还是先把服务在每台机器上曝露出三万多的端口.

为了避免用户每次要把流量绑定在一台服务器的三万端口,我们可以在外面设一个负载均衡器,可以解决一部分的问题,同时还是解决不了我怎么从七层做负载均衡,我根据用户ID等去做,我现在需要在机器上开哪些端口,只不过没有曝露给用户.

在Kubernetes首先解决七层的负载均衡,这个黑的我主要对系统做简单的配置就可以把这个东西用起来,这个解决七层负载均衡的问题.

没有解决我这个ingress系统部署在哪台机器上,会不会存在单点失效的问题.

我们的解决方案本质上把Ingress做成一种资源,可调度的资源.

我们一个容器是一个可以被调动的资源,我们把Ingress也做成类似的调度资源,也实现了专门对Ingress的调动器.

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读