赞
踩
Kubernetes是一个可移植、可扩展的、开源的容器管理平台,简称k8s,可用于管理多个主机上的容器化应用程序。 提供应用程序的快速部署,维护和扩展的基本机制。Kubernetes提供了应用程序的快速部署、扩缩容,升级和回滚的能力,利用service可以实现服务注册、发现和四层负载均衡,通过cordns可实现域名解析,通过ingress可以实现七层负载均衡等功能。Kubernetes这个名字源于希腊语,意思是舵手或飞行员。谷歌在2014年开放了Kubernetes项目,Kubernetes建立在谷歌拥有大量运行生产工作量的十五年经验的基础上,结合了社区中的最佳创意和实践,社区活跃度很高。
kubernetes支持在多种平台部署,可在私有云,公有云,混合云,openstack、openshift、VMware vSphere,VMware Workstation,虚拟机,物理机等环境部署。
可以对多用户做细化的授权管理(如rbac授权),达到相互之间的操作完全隔离,互不影响,而且自身带有审计功能,可以对操作过程进行实时的日志记录,出现问题可以方便排查。
支持四层、七层负载均衡,可用于多种场景。
拥有强大的集群扩展能力,可以根据业务规模自动增加和缩减主机节点的数量,确保服务可以承受大量并发带来的压力,保证业务稳定运行。
可以按照用户需要调度pod,例如保证Pod只在资源足够的节点上运行,会尝试把同一功能的pod分散在不同的节点上,还会尝试平衡不同节点的资源使用率等。
拥有多种灾备解决方案,支持备份和容灾,出现故障可以达到秒级切换,保证线上业务不受影响;
Kubernetes支持多种网络插件,如flannel,calico,canel等,每个插件都有独特的性能,可以分别适用于多种场景,我们可以利用calico的network policy(网络策略)解决k8s中的网络隔离,对于多租户场景,可以每一个用户一个名称空间(namespace),然后对这个名称空间设置网络隔离。
kubernetes中支持多种高可用解决方案,如keepalive+nginx,keepalived+haproxy等,可以使访问流量分发到不同的主机节点,减轻节点压力,如果某个节点出现故障,可以实现妙级切换,达到高可用,保证业务不中断。
kubernetes支持多种持久化存储解决方案,保证数据可以得到很好的备份,降低用户数据丢失的风险,kubernetes中可使用的存储方案如下:
本地存储:emptyDir,hostPath
网络连接类存储:
SAN(存储局域网络):iSCSI
NAS(网络附加存储):nfs,cifs
分布式存储:glusterfs,ceph-块级别的存储,cephfs-文件系统级别的存储
云存储:Azure Disk等
通过管理kubernetes的控制器和service等,可以实现灰度发布,蓝绿部署,金丝雀发布等,达到业务的快速部署和回滚等操作,用以满足不同客户的不同升级需求。
根据访问的流量压力,可以实现pod的水平扩容和缩减,达到秒级扩容,让pod始终处于满足业务正常运行时所需的数量即可,避免了资源的浪费。
根据流量进行业务组件的扩缩容,可节省机器资源。
在生产环境中,日志对于排查问题至关重要,我们需要有一个日志管理系统,如efk这个最受欢迎的日志管理系统。kubernetes可以实现efk的快速部署和使用,通过statefulset控制器部署elasticsearch组件,es用来存储日志数据,还可通过动态volumeclaimtemplate动态生成pv实现es数据的持久化存储。通过deployment部署kibana组件,实现日志的可视化管理。通过daemonset控制器部署fluentd组件,来收集节点和k8s集群的日志。
kubernetes中部署efk可实现如下功能:
DevOps是一套完整的运维开发流程,可以实现快速的构建、测试和发布软件,整个流程包括敏捷开发->持续集成->持续交付->持续部署->DevOps,通过 Kubernetes,我们可以实现容器在多个计算节点上的统一调度,可以将容器对接到持久存储、虚拟网络,还可以实现弹性伸缩等,提高了产品的迭代速度。
kubernetes在DevOps中可以实现如下功能:
微服务可以很好地保证未拆分的应用与已经拆分出来的微服务之间的互通和统一治理,不将业务代码与任何框架,平台或者服务绑定,管理微服务时,我们需要对这些微服务和它们的调用关系进行注册、为其分配资源、创建一定数量的节点副本、并发布到集群中去,同时还要为其配置好网络和负载均衡,使这些微服务能够被外部访问。在这些微服务的运行过程中,需要始终保持其可用性,一旦有节点出现问题,需要立即创建新的节点将其替换掉。运行过程中需要对这些微服务进行监控和日志收集,在负载发生变化的时候,还要能够迅速调整资源分配。
kubernetes在微服务中可以实现如下功能:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。