初始Kubernetes
同样这门技术是基于云计算应运而生,而云计算首先需要的就是大量的计算资源、网络资源、存储资源,将他们结合在一起,而这样就很贵,所以产生了按需计费,弹性伸缩。首先是因为doker,相信大家来学习k8s应该都了解过docker容器化技术,云计算的潜力是巨大的,也就是需要一个高效的应用架构解决方案,便捷实用的弹性机制等等。因为这些应用运行在容器里,它们不会影响运行在同一台服务器上的其他应用,当你是为完全不
学习一门技术时,我们首先要探讨的就是,它是什么,也就是我们对它的认知,其次为什么产生了这“玩意”。
一、它是什么?
- 学习初期,我先给大家简单的回答一下
- Kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。
或许大家看到这两句话是看不大明白的,不过我相信大家文章看到最后是可以略知一二的
- Kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。
二、 为什么产生了kubernetes?
/kubə’netis/ 重音在第三个音节,来源于希腊文,意思是舵手。 库be ne ti s
Kubernetes 是 Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
首先是因为doker,相信大家来学习k8s应该都了解过docker容器化技术,云计算的潜力是巨大的,也就是需要一个高效的应用架构解决方案,便捷实用的弹性机制等等。
而做这些在我看来就是为了节省钱,节省资源,世界给人类留下了一个巨大能效问题,旨在于解决能效问题我们才刚开始新能源。道阻且长!
同样这门技术是基于云计算应运而生,而云计算首先需要的就是大量的计算资源、网络资源、存储资源,将他们结合在一起,而这样就很贵,所以产生了按需计费,弹性伸缩。意思就是实时监控你的资源额度值,当业务跑满了设定值,自动增加计算等资源。
而当我们用这些资源时,又产生了一个新的问题?
公司细分业务特别多,资源虽然有但是业务分布该如何统计,划分等。这里就涉及到微服务技术了。
有没有一个架构方案可以解决资源业务合理分布,又高效自动布置应用?
yeah ,它就是基于go语言开发的分布式集群架构,具体讲它是一个容器编排应用。
如何编排?基于yaml语言写脚本就好了。给大家眼熟一下它长啥样
例如创建一个RC定义文件mysql-rc.yaml
三、总结
Kubernetes是一个软件系统,它允许你在其上很容易地部署和管理容器化的应用。
它依赖于Linux容器的特性来运行异构应用,而无须知道这些应用的内部详情,也不需要手动将这些应用部署到每台机器。
因为这些应用运行在容器里,它们不会影响运行在同一台服务器上的其他应用,当你是为完全不同的组织机构运行应用时,这就很关键了。
这对于云供应商来说是至关重要的,因为它们在追求高硬件可用率的同时也必须保障所承载应用的完全隔离。
Kubernetes使你在数以千计的电脑节点上运行软件时就像所有这些节点是单个大节点一样。
它将底层基础设施抽象,这样做同时简化了应用的开发、部署,以及对开发和运维团队的管理。
通过Kubernetes部署应用程序时,你的集群包含多少节点都是一样的。
集群规模不会造成什么差异性,额外的集群节点只是代表一些额外的可用来部署应用的资源。
它的核心功能
帮助开发者聚焦核心应用功能
Kubernetes可以被当作集群的一个操作系统来看待。
它降低了开发者不得不在他们的应用里实现 一些和基础设施相关服务的心智负担。
他们现在依赖于Kubernetes来提供这些服务,包括服务发现、扩容、负载均衡、自恢复,甚至领导者的选举。应用程序开发者因此能集中精力实现应用本身的功能而不用浪费时间思索怎样集成应用与基础设施。
帮助运维团队获取更高的资源利用率
Kubernetes将你的容器化应用运行在集群的某个地方,并且提供信息给应用组件来发现彼此并保证它们的运行。因为你的应用程序不关心它运行在哪个节点上,Kubernetes能在任何时间迁移应用并通过混合和匹配应用来获得比手动调度高很多的资源利用率。
特点
● 可移植:支持公有云、私有云、混合云、多重云(Multi-cloud)。
● 可扩展:模块化、插件化、可挂载、可组合。
● 自动化:自动部署、自动重启、自动复制、自动伸缩/扩展。
架构图附上,改天我们再一一介绍里边组件的功能,先眼熟一下吧!!
更多推荐
所有评论(0)