加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

安装与配置kubernetes集群搭建

发布时间:2021-04-29 11:15:01 所属栏目:外闻 来源:互联网
导读:es一经开源就一鸣惊人,并迅速称霸了容器技术领域。 如果我们的系统设计遵循了kubernetes的设计思想,那么传统系统架构中哪些和业务没有多大关系的底层代码或功能模块,都可以立刻从我们的视线中消失,我们不必再费心于负载均衡的选型和部署实施问题,不必再

es一经开源就一鸣惊人,并迅速称霸了容器技术领域。

如果我们的系统设计遵循了kubernetes的设计思想,那么传统系统架构中哪些和业务没有多大关系的底层代码或功能模块,都可以立刻从我们的视线中消失,我们不必再费心于负载均衡的选型和部署实施问题,不必再考虑引入或自己开发一个复杂的服务治理框架,不必再头疼与服务监控和故障处理模块的开发。总之,使用kubernetes提供的解决方案,我们节约了不少于30%的开发成本,同时可以将精力更加集中于业务本身,而且由于kubernetes提供了强大的自动化机制,所以系统后期的运维难度和运维成本大幅降低。

Kubernetes概述

随着 Docker 技术的发展和广泛流行,云原生应用和容器调度管理系统也成为 IT 领域大热的词汇。事实上,在 Docker 技术火爆之前,云原生应用的思想已经由云计算技术的***和分布式系统架构的推广者广泛传播。例如早在 2011 年 Heroku 的工程师提出了云原生应用的 12 要素,只不过以虚拟机技术作为云原生应用的基础实施。由于虚拟机镜像大、镜像标准不统一以及打包流程和工具不统一,导致了业界无法广泛接受的云原生应用标准,限制了云原生应用的流行。而 Docker 的出现正好解决了这些限制云原生应用构建、交付和运行的瓶颈,使得构建云原生应用成为了使用 Docker 的开发者自然而然的选择。

Kubernetes 是为生产环境而设计的容器调度管理系统,对于负载均衡、服务发现、高可用、滚动升级、自动伸缩等容器云平台的功能要求有原生支持。由于 Kubernetes 在K和s间有8个字母,因此常简称 k8s。事实上,随着对 k8s 系统架构与设计理念的了解深入,会发现 K8s 系统正是处处为运行云原生应用而设计考虑;同时,随着对 k8s 系统使用的加深和推广,也会有越来越多有关云原生应用的设计模式产生出来,使得基于 k8s 系统设计和开发生产级的复杂云原生应用变得像启动一个单机版容器服务那样简单易用。

为什么要用 Kubernetes

使用 Kubernetes 的理由有很多,最基本的一个理由就是:IT 是新技术驱动行业。Docker 这个新兴的容器化技术当前已经被很多公司所采用,其从单机走向集群已成必然,而云计算的蓬勃发展正在加速这一进程。Kubernetes 作为当前唯一被业界广泛认可和看好的 Docker 分布式系统解决方案。可以预见,在未来几年内,会有大量的新系统选择它,不管是运行在企业本地服务器上还是被托管到公有云上。

使用 Kubernetes 又会收获哪些好处呢?

首先,使用 Kubernetes 就是在全面拥抱微服务架构。微服务架构的核心就是将一个巨大的单体应用分解为很多小的互相连接的微服务,一个微服务背后可能有多个实例副本在支撑,副本的数量可能会随着系统的负荷变化而进行调整,内嵌的负载均衡器在 k8s 平台中有多个实例副本在支撑,副本的数量可能会随着系统的负荷变化而进行调整,内嵌的负载均衡器 k8s 平台中发挥了重要的作用。微服务架构使得每个服务都可以由专门的开发团队来开发,开发者可以自由选择开发技术,这对于大规模团队来说很有价值。另外,每个微服务独立开发、升级、扩展,使得系统具备很高的稳定性和快速迭代进化能力。

其次,Kubernetes 系统架构具备了超强的横向扩容能力。对于互联网公司来说,用户规模就等价于资产,谁拥有更多的用户,谁就能在竞争中胜出,因此超强的横向扩容能力是互联网业务系统的关键指标之一。不用修改代码,一个 Kubernetes 集群即可从只包含几个Node 的小集群平滑扩展到拥有成百上千 Noder 大规模集群,利用 Kubernetes 提供的工具,甚至可以在线完成集群的扩容。只要微服务设计的得好,结合硬件或者公有云资源的线性增加,系统就能够承受大量用户并发访问所带来的压力。

Kubernetes 基本概念和术语

Kubernetes中的大部分概念如Node、Pod、Replication Controller、Server、Deploymeng、Job、DaemonSet 等都可以看作一种资源对象,几乎所有的资源对象都可以通过 Kubernetes提供的 kubectl 工具执行增、删、改、查等操作,并将其保存在 etcd 中持久化存储。从这个角度来看,Kubernets 其实是一个高度自动化的资源控制系统,它通过跟踪对比 etcd 存储里保存的资源期望状态与当前环境中的实际资源状态的差异来实现自动控制和自动纠错的高级功能。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读