Kubernetes学习01

news2024/10/1 1:25:18

一、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.部分图片来源于网络,侵删。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1139691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL查询今日、昨日、最近七天的数据

查询今日数据 sql语句: SELECT * FROM short_oper_log WHERE to_days(login_time) to_days(now());运行结果: 查询昨日数据 sql语句: SELECT * FROM short_oper_log WHERE DATEDIFF(login_time,NOW()) -1;运行结果: 额外…

【瑞幸咖啡小程序-同盾】

需要联系主页V 瑞幸咖啡小程序 登入需要过同盾滑块下单需要balckbox参数 测试 过滑块 登入发短信

一场马拉松沸腾一座城 | 2023天津马拉松亲历记

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 津津乐道的三位主播都参与了 10.15 的天津马拉松并顺利完赛,比赛的当天,半个公司…

Talk | 纽约州立宾汉姆顿大学博士生丁琰:开放环境中机器人的任务与动作规划

本期为TechBeat人工智能社区第541期线上Talk。 北京时间10月26日(周四)20:00,纽约州立宾汉姆顿大学博士生—丁琰的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “开放环境中机器人的任务与动作规划”&#xff0…

​ iOS自动混淆测试处理笔记

1 打开 ipa,导出ipa 路径和配置文件路径会自动填充 ​ 2 点击 开始自动混淆测试处理 自动混淆测试是针对 oc 类和oc方法这两个模块进行自动混淆ipa,并ipa安装到设备中运行,通过检测运行ipa包是否崩溃,来对oc类和oc方法进行筛选。…

高三高考免费试卷真题押题知识点合集

发表于安徽 温馨提示:有需要的真题试卷可联系本人,百卷内上免费资源。 感觉有用的下方三连,谢谢 ​ 。 免费版卷有6-60卷每卷平均4-30页 高三免费高三地理高三英语高三化学高三物理高三语文高三历史高三政治高三数学高三生物 付费版卷有1…

Linux文件描述符和打开文件之间的关系

简介 文件描述符和打开的文件之间似乎呈现出一一对应的关系。然而,实际并非如此。多个文件描述符指向同一打开文件,这既有可能,也属必要。这些文件描述符可在相同或不同的进程中打开。 要理解具体情况如何,需要查看由内核维护的…

安防监控项目---环境配置

文章目录 前言一、硬件平台二、软件平台三、开发环境配置流程总结 前言 书接上期,在这里呢还是需要强调一下项目环境的重要性,不论是在本次项目开发或者是在未来的项目开发中移植是非常重要的一项内容,作为开发者而言,需要考虑移…

拒绝拖延,从我做起!

拒绝拖延,从我做起! 如果有一件事,对你的未来很重要,千万不要说等以后再做,这是无限拖延的借口【等有时间再做】的真正含义是,闲得无聊再去做,意味着事情即不重要也不紧急该做的重要事情不做&a…

Qt扫盲-QFontInfo理论

QFontInfo理论 一、概述二、创建QFontInfo对象 一、概述 QFontInfo类提供了关于字体的一般信息,包括是否是加粗、是否是斜体、字体大小、字体名称等等,使用也非常简单,其实就是一个属性查询类而已。 QFontInfo类提供了与QFont相同的访问函数…

交叉熵函数和KL散度函数

交叉熵函数(Cross-Entropy Function)和KL散度函数(Kullback-Leibler Divergence Function)都是用来度量两个概率分布之间的差异或相似性的数学函数。它们通常用于概率分布的比较,尤其在信息论和机器学习领域中。 交叉熵…

海南三亚摩托车三维扫描尺寸测绘机车零配件改装逆向抄数3D打印手板-CASAIM

在摩托车制造过程中,摩托车的曲面多,尺寸大,传统的测量方式通过千分尺及三坐标测量仪进行测量,存在部分位置无法精确测量和效率相对比较低等问题,难以快速完成大尺寸结构复杂的零部件三维数据重建。 而借助CASAIM三维…

49个过程背诵方法

五大过程组:启规执监收 需要死记住,五个比较好记按照顺序启动规划执行监控结束 十大过程:整范进,成质源,疯(风)狗(沟)踩(采)人 过程数量&#x…

在线客服系统源码全端通吃版+完全开源可二开 带完整搭建教程

随着互联网的快速发展,在线客服系统已经成为企业与客户沟通的重要工具。然而,市面上的在线客服系统往往存在限制多、成本高等问题。今天罗峰给大家介绍一种在线客服系统源码全端通吃版,并附带完整的搭建教程。 在线客服系统源码可以为企业提供…

电脑自动关机是什么原因?解决方案全解析!

电脑自动关机是一个令人头疼的问题,它可能由多种原因引起,从硬件故障到软件配置错误。在这篇文章中,我们将深入探讨电脑自动关机是什么原因,并提供三种常见问题的解决方法。无论您是电脑新手还是有经验的用户,都可以从…

Cesium 展示——一键控制所有 label 的显隐

文章目录 需求分析需求 实现一键控制所有 label 的显隐 分析 步骤如下: 获取场景中所有的实体(entities)。 遍历所有实体,获取实体中的label对象。 设置 label 的 show 属性为 false 或 true,以控制其显隐。 具体实现代码如下: var entities = viewer.entities; //…

UE4 使用材质后期 制作玻璃有雨效果

效果展示,其实这是一个动画效果 以上为所有逻辑 拿到TexCoord给到Panner,Time和Speed都是通过下面计算而来,后面讲,再拿到时间和速度值过后,加上扰动值,最后取G值,因为雨事从上而下的动&#xf…

1465. 切割后面积最大的蛋糕 : 为何仅需处理相邻切割位(多语言题解)

题目描述 这是 LeetCode 上的 「1465. 切割后面积最大的蛋糕」 ,难度为 「中等」。 Tag : 「贪心」、「模拟」 矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中: horizontalCuts[i] 是从矩形…

JAVA知识框架及技术

Web应用,最常见的研发语言是Java和PHP。 后端服务,最常见的研发语言是Java和C/C。 大数据,最常见的研发语言是Java和Python。 可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术…

Facebook账号被封?那是因为没做对这些事

Facebook是全球最大的社交媒体平台之一,拥有数十亿的全球用户。它的主要产品包括Facebook(面向个人用户的社交媒体平台)、Instagram、WhatsApp和Messenger。同时他也是美国数字广告市场的主要参与者之一,其广告平台吸引了数百万广…