ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

k8s的paas平台

2019-06-29 10:03:23  阅读:148  来源: 互联网

标签:paas k8s 服务 Kubernetes 平台 中间件 使用 HA 节点


高可靠设计,Etcd 集群,Kubernetes 三主节点,保证集群的高可用性。

基于 GlusterFS /nfs集群,在生产环境和非生产环境下提供存储卷服务。 Flannel+VXLAN,提供可靠的网络服务。 提供分布式监控和统一日志中心,全方位的应用监管能力。 支持 Redis/ZooKeeper 等常用中间件的集群编排方案。 通用组件服务,提供快速构建企业级应用的能力。 在该架构中,我们可以将其分为四层,如下:   用户层:即普通用户。 服务访问层:基于gorouter和haproxy服务发现、负载均衡和路由分发等。 应用中间件层:提供基于redis/zk等常见中间件给业务使用。 业务应用层:即基于Kubernetes平台构建和运行企业业务应用,如CI/CD持续集成、微服务项目、监控告警和日志管理、私有镜像仓库等服务。 基础设施层:即laas层支撑的由Kubernetes容器管理平台和GlusterFS数据持久化存储等系统组成的基础平台。     基础设施层 Kubernetes平台 部署管理:Kubernetes平台都是在阿里云云、和各自私有云之上自己建设维护的。 网络通信:在容器和容器之间、容器和主机网络方面,可以使用Calico或Flannel等方案,我们使用的Flannel。 HA高可用:Kubernetes节点分为Master和Node两种类型节点,前者负责运行集群相关的控制管理服务,而后者负责运行Pod容器。在多Node节点模式下,由于Kubernetes Pod具有天然的容灾冗余HA高可用实现,因此,我们并不需要关心Node节点的HA高可用,而只需关心Master节点的HA即可,Master节点的HA高可用,通过多Master节点+nginx方案实现。从Kubernetes 1.12版本起,kube-proxy服务默认使用ipvs实现,取消了之前的iptables。这有助于提升K8s大规模集群环境下的性能和稳定性。 Docker和操作系统优化:在生产环境中,Docker和操作系统版本应当使用较新的release版本。并且,主机操作系统应当做一定程度的优化配置。 GlusterFS/NFS数据存储 Kubernetes平台的数据持久化存储,可以使用GlusterFS、NFS等存储方案。其中,GlusterFS适用于有其技术背景或大容量存储需求的公司;而NFS适用于存储容量需求相对较小,无专业存储技术背景的公司。   业务应用层 镜像管理:使用Harbor私有镜像仓库服务。 日志管理:使用Elasticsearch、Filebeat + 自研界面。 监控告警管理:使用open-falcon +自研、也使用了Prometheus + 自研等技术栈。 微服务架构:使用Service Mesh服务网格中的Istio方案,主要是灰度发布方面。 Devops:自研流水线集成pass平台; 应用类型:无状态类服务使用deployment,有状态类服务则使用Statefulset,pass使用helm。 规划好Namespace:根据项目-环境指定namespace,统一管理诸如监控告警和日志管理方面的pod、service、pvc等资源。这样,可以较为方便的管理和区分K8s上的各种应用。 应用中间件层 对于有状态应用,线上环境只上了redis,zk,mq等等常见中间件,由于数据库需要较强的稳定性和可靠性,暂时未使用。   中间件上容器后,在pass上即可进行增删,便于服务管理维护,也避免了应用交付周期变长。   服务访问层 中间件上容器便于维护扩容管理。 整个数据流走向如下图,负载均衡和路由规则、域名分发使用gorouter和haproxy实现,gorouter简单说就是一个路由器,haproxy是负载均衡。此外,gorouter和haproxy实现HA高可用,可以想象在K8s集群中,大量的出入口流量都进过gorouter和haproxy,其负载是非常大的,其重要程度不言而喻,因此实现HA就非常重要。我们一般部署至少在2个节点以上。  

标签:paas,k8s,服务,Kubernetes,平台,中间件,使用,HA,节点
来源: https://www.cnblogs.com/muzinan110/p/11105780.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有