Kubernetes学习01

一、Kubernetes是什么

Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。Kubernetes是谷歌开源的容器管理集群管理系统,是Google多年大规模容器管理技术Borg的开源版本。
在这里插入图片描述
它可以在物理或虚拟机的Kubernetes集群上运行容器化应用,Kubernetes能提供一个以“容器为中心的基础架构”,满足在生产环境中运行应用的一些常见需求,如:

  • 多个进程(作为容器运行)协同工作。(Pod)

  • 存储系统挂载

  • Distributing secrets

  • 应用健康检测

  • 应用实例的复制

  • Pod自动伸缩/扩展

  • Naming and discovering

  • 负载均衡

  • 滚动更新

  • 资源监控

  • 日志访问

  • 调试应用程序

  • 提供认证和授权

    Kuberbetes发展非常迅速,已经成为容器编排领域的领导者。通过Kubernetes你可以快速部署应用、快速扩展应用、无缝对接新的应用功能、节省资源、优化硬件的使用。

二、Kubernetes不是什么?

Kubernetes并不是传统的PaaS(平台即服务)系统。

  • Kubernetes不限制支持应用的类型,不限制应用框架。不限制受支持的语言runtimes (例如, Java, Python, Ruby),满足12-factor applications 。不区分 “apps” 或者“services”。Kubernetes支持不同负载应用,包括有状态、无状态、数据处理类型的应用。只要这个应用可以在容器里运行,那么就能很好的运行在Kubernetes上。

  • Kubernetes不提供中间件(如message buses)、数据处理框架(如Spark)、数据库(如Mysql)或者集群存储系统(如Ceph)作为内置服务。但这些应用都可以运行在Kubernetes上面。

  • Kubernetes不部署源码不编译应用。持续集成的 (CI)工作流方面,不同的用户有不同的需求和偏好的区域,因此,我们提供分层的 CI工作流,但并不定义它应该如何工作。

  • Kubernetes允许用户选择自己的日志、监控和报警系统。

  • Kubernetes不提供或授权一个全面的应用程序配置 语言/系统(例如,jsonnet)。

  • Kubernetes不提供任何机器配置、维护、管理或者自修复系统。

    另一方面,大量的Paas系统都可以运行在Kubernetes上,比如Openshift、Deis、Gondor。可以构建自己的Paas平台,与自己选择的CI系统集成。

    由于Kubernetes运行在应用级别而不是硬件级,因此提供了普通的Paas平台提供的一些通用功能,比如部署,扩展,负载均衡,日志,监控等。这些默认功能是可选的。

    另外,Kubernetes不仅仅是一个“编排系统”;它消除了编排的需要。“编排”的定义是指执行一个预定的工作流:先执行A,再B,然C。相反,Kubernetes由一组独立的可组合控制进程组成。怎么样从A到C并不重要,达到目的就好。当然集中控制也是必不可少,方法更像排舞的过程。这使得系统更加易用、强大、弹性和可扩展。

三、深入浅出地了解Kubernetes

Kubernetes是一个软件系统,它允许你在其上很容易的部署和管理容器化的应用。它依赖于Linux容器的特性来运行异构应用,而且无需知道这些应用的内部详情,也不需要手动将这些应用部署到每台服务器。Kubernetes使你在数以千计的电脑节点上运行软件时,就像所有这些节点是单个运行的节点一样。
在这里插入图片描述
上图为一个简单的Kubernetes系统图,整个系统由一个主节点和若干个工作节点组成。开发者把一个应用列表提交到主节点,Kubernetes会将他们部署到集群的工作节点(声明式)。组件被部署在哪个节点对于开发者和系统管理员来说都不关心。

四、 Kubernetes集群架构

一个Kubernetes集群由很多个结点组成,这些结点可以分为主节点和工作节点。其中主节点,承载着Kubernetes控制和管理整个集群系统的控制面板。工作节点运行着用户实际部署的应用。如下图所示:
在这里插入图片描述
主结点和工作结点均包含了多个组件,本文先不对各个组件的功能、工作原理等进行展开,在后续文章中再进行详细的介绍。

五、在Kubernetes中运行应用

在Kubernetes进行管理应用的时候,基本步骤是:创建集群,部署应用,发布应用,扩展应用,更新应用。

为了在Kubernetes中运行应用,首先需要将应用打包进一个或多个容器镜像,再将这些镜像推送到镜像仓库,然后将应用的描述发布到Kubernetes API服务器。

应用的描述包括诸如组件的版本、类型、元数据、容器镜像或者包含应用程序组件的容器镜像、这些组件如何相互关联,以及哪些组件需要同时运行在同一个节点上和哪些组件不需要同时运行等信息。此外。该描述还包括哪些组件可以作为内部或者外部客户提供服务且应用通过单个IP地址暴露,并且其他组件可以发现。

描述如何成为一个运行的容器?
在这里插入图片描述
如上图所示,当API服务器接收到创建Pod的描述时,会将接受到的描述信息写入到分布式存储etcd中。调度器(Scheduler)监听API服务器,当检测到未绑定Node的Pod时,开始调度并更新Pod的Node绑定。当Node结点的组件Kubelet检测到有新的Pod调度,通过容器(Docker)运行该Pod,并更新到API服务器中。API服务器再到分布式存储etcd中更新该创建Pod的描述信息。

如果不好理解,还可参考下图,应用描述符列出了四个容器,并将它分为三组(Pod)。前两个Pod包含一个容器,最后一个Pod包含两个容器(该Pod内的两个容器需要协作运行,不应该相互隔离)。在每个Pod旁边的数字表示需要并行运行的Pod的副本数量。在向Kubernetes提交了描述符之后,它将每个Pod的指定副本数量调度到可用的工作结点上。节点上的Kubelets将告知Docker从镜像仓库中拉取容器镜像并运行容器。

在这里插入图片描述
今天的总结就先到这里啦,上个周末,偷懒休息了两天,见了大学的老朋友还和合肥的同事们聚了餐。需要坚持呀,努力保持一周一总结,不过今天的文章很少有自己的描述,大部分抄的书,见谅!

参考说明:
1.本文结合了书集《Kubernetes 入门指南》、《Kubernetes in Action》
2.部分图片来源于网络,侵删。

搬运自自己的陈年公众号,欢迎关注一起学习呀~
微信搜索:班码文章
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网盘文件永久链接 目录: 1k8s极速入门进阶课程环境说明mp4 2k8s极速入门课程进阶Pod进阶场景学习目标学习步骤mp4 3k8s极速入门课程进阶Pod进阶回顾Pod概念mp 4k8s极速入门课程进阶Pod进阶创建Pod方法回顾mp4 5k8s极速入门课程进阶Pod进阶Pod中容器镜像下载簧略mp4 6k8s极速入门课程进阶Pod进阶Pod中容器资源限定方法,mp4 7k8s极速入门课程进阶Pod进阶Pod中运行多个容器的方法mp4 8k8s极速入门课程进阶Pod进阶进入Pod中容器方法mp4 9k8s极速入门课程进阶Pod进阶Pd创建过程mp4 10k8s极速入门课程进阶Pod进阶Pod生命周期_mp4 11k8s极速入门课程进阶Pod进阶Pd生命周期Pod启动与终止介绍mp4 12k8s极速入门课程进阶Pod进阶Pod生命周期Pod启动时 HealthCheck方式及 Probe控 13k8s极速入门课程进阶Pod进阶Pod生命周期Pod启动时 HealthCheck详解mp4 14k8s极速入门课程进阶Pod进阶Pod生命周期Pod中容器重启策略mp4 15k8s极速入门课程进阶Pod进阶Pod生命周期pod状态mp4 16k8s极速入门课程进阶Pod进阶PodHealtChecklivenessexec,mp4 17k8s极速入门课程进阶Pod进阶PodhealtcheCklivenesshttpGet_mp4 18k8s极速入门课程进阶Pod进阶 PodHealt Checklivenesstcp Socket_mp4 198s极速入门课程进阶Pod进阶PodhealtCheckreadinesshttpget.mp4 20k8s极速入门课程进阶Pod进阶PodhealtChecklivenessreadinesshttpgetmp4 21k85极速入门课程进阶Pod进阶P生命周期事件 - Start Pre Stop. mp4 22k8s极速入门课程进阶Pod进阶Pod调度约束方法mp4 23k8s极速入门课程进阶Pod进阶 Pod, mp4 24k8s极速入门课程进阶 Controller进阶场景学习目标学习步骤mp4 25k8s极速入门课程进阶 Controller进阶 Deployment,mp4 26k8s极速入门课程进阶 Controlle进阶 Replica Set.mp4 27k8s极速入门课程进阶 Controller进阶 DaemonSet_, mp4 28k8s极速入门课程进阶 Controller进阶Job控制介绍mp4 29k8s极速入门课程进阶 Controller进阶Job控制器案例1计算园周率2000位mp4 30k8s极速入门课程进阶 Controller进阶Job控制器案例固定次数ob应用。mp4 31k8s极速入门课程进阶 Controller进阶Job控制器案例3实现 MySQL备份,mp4 32k8s极速入门课程进阶 Controller进阶 CronJob控制器案例1输出字符mp4 33k8s极速入门课程进阶 Controller进阶 CronJob控制器案例2周期性备份 MySQL数据库mp4 34k8s极速入门课程进阶 Controller进阶 Deployment控制器应用应用升级策略及应用准备mp4 35k8s极速入门课程进阶 Controller进阶 Deployment控制器应用应用升级mp4 36k8s极速入门课程进阶 Controller进阶 Deployment控制器应用应用版本回退mp4 37k8s极速入门课程进阶 Controller进阶mp4 38基于 Rancher管理 kubernetes集群 Rancher引入mp4 39基于 Rancher管理 kubernetes集群 Rancher介绍mp4 40基于 Rancher管理 kubernetes集群 Rancher功能:mp4 41基于 Rancher管理 kubernetes集群 Rancher部署主机需求说明_mp4 42基于 Rancher管理 kubernetes集群 Rancher部署主机准备mp4 43基于 Rancher管理 kubernetes集群 Rancher部署 Docker准备mp4 44基于 Rancher管理 Ekubernetes集群 FRancher部mp4 45基于 Rancher管理 kubernetes集群 Rancher Server访问mp4 46基于 Rancher管理 kubernetes集群通过 Rancher创建 kubernetes集群,mp4 .............................................

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值