无需二次开发,Cloud Alert 快速衔接您的IT事件和钉钉通知
711
2022-11-02
浅谈Kubernetes那些事儿...
上周我们谈到了docker,而docker往往不是在单节点环境下运行,规模比较大的企业docker一般都跑在成千上百个节点的集群上。那么问题就来了,这么多节点应该如何部署,如何扩展,如何管理?就在这个时候K8s诞生了...
K8s由谷歌开发并在2014年6月宣布开源。
K8s是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署,扩展和操作,提供以容器为中心的基础架构。
一. K8s由如下特点:
1. 便携性:无论是在On-Prem,公有云,私有云,混合云都可以支持
2. 可扩展性:它是模块化,可插拔,可挂载,可组合的,支持各种形式的扩展
二. 为什么我们需要 Kubernetes,它能做什么?
Kubernetes 可以在物理或虚拟机集群上调度和运行应用程序容器。然而,Kubernetes 还允许开发人员从物理和虚拟机’脱离’,从以主机为中心的基础架构转移到以容器为中心的基础架构,这样可以提供容器固有的全部优点和益处。Kubernetes 提供了基础设施来构建一个真正以容器为中心的开发环境。
Kubernetes 满足了生产中运行应用程序的许多常见的需求,例如:
Pod 提供复合应用并保留一个应用一个容器的容器模型挂载外部存储Secret管理应用健康检查副本应用实例横向自动扩缩容服务发现负载均衡滚动更新资源监测日志采集和存储支持自检和调试认证和鉴权
这提供了平台即服务 (PAAS) 的简单性以及基础架构即服务 (IAAS) 的灵活性,并促进跨基础设施供应商的可移植性。
三. K8s 架构
1. Master Node
Master是控制集群的大脑,包含API Server,Scheduler, Control Manager, etcd。Master运行Linux操作系统,可以是物理机或者虚拟机,为了实现HA(High availability)也可以设置多个Master
API Server可定义集群网络状态,可对外提供Restful接口Scheduler负责内部作业调度,分配工作节点Control Manager负责维护集群的状态/比如故障检测,自动扩展,滚动更新等etcd存储K8s集群配置和状态
2. Work Node
Workd Node的指责是运行容器应用。Work Node由 Master Node管理。Work Node运行在Linux操作系统,可以是物理机或者是虚拟机。
kubelet负责维护容器的生命周期,包括创建,修改,监控,删除等kube-proxy为Pod对象提供代理及负载均衡pod是K8s中最小最小的工作单元。Pod可以理解为Docker单机环境,每个Pod中包含一至多个容器,Pod中的容器会作为一个整体被Master Node调度到一个Work Node上运行。
另外,下面是Youtube上通俗易懂讲K8s架构的视频,可以看下
参考文献:
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
发表评论
暂时没有评论,来抢沙发吧~