Kubernetes入门-Kubernetes集群构成

news2024/9/9 7:48:30

目录

前言

控制面板节点与工作节点

控制面板节点

工作节点

被托管的Kubernetes

用kubectl命令行工具管理Kubernetes


前言

  • 前面说过,Kubernetes是云的操作系统
  • 顾名思义,它位于应用和基础设施之间
  • Kubernetes运行在基础设施上,而应用运行在Kubernetes上,如下图所示
  • 上图显示了在4种不同的基础设施平台上运行的4个Kubernetes装置
  • 由于Kubernetes抽象了底层的基础设施,因此上图顶部的应用可以在任何一个Kubernetes装置上运行,也可以在不同的Kubernetes装置之间进行迁移
  • 我们称一个Kubernetes装置为Kubernetes集群(cluster)
  • 关于上图,还有两点需要说明一下
  • 首先,一个Kubernetes集群跨越多种基础设施的情况并不常见
  • 例如,你不可能看到单个Kubernetes集群跨多个云,也不太可能看到集群跨本地和公有云
  • 这主要是受网络速度和可靠性的制约
  • Kubernetes需要集群中的节点通过可靠的低延迟网络进行连接
  • 其次,尽管Kubernetes可以在许多平台上运行,但容器有更严格的要求:
  • Windows容器只能在有Windows节点的Kubernetes集群上运行
  • Linux容器只能在有Linux节点的集群上运行
  • 这同样适用于CPU架构——为ARM64架构构建的容器不会运行在Aarch64集群节点上

控制面板节点与工作节点

  • 一个Kubernetes集群是一台或多台安装了Kubernetes的机器
  • 这些机器可以是物理服务器、虚拟机(VM)、云实例、笔记本电脑、树莓派等
  • 在这些机器上安装Kubernetes,并将它们连接在一起,就形成了一个Kubernetes集群
  • 然后,就可以将应用部署到这个集群中
  • 我们通常把Kubernetes集群中的机器称为节点(node)
  • 说到节点,Kubernetes集群有两种类型的节点:
  • 1-控制面板节点
  • 2-工作节点
  • 在一些旧文档中可能会将控制面板节点称为“主节点”
  • 这个术语已被包容性命名倡议淘汰,这个倡议旨在避免在技术项目中使用可能有害的语言
  • 控制面板节点托管着内部Kubernetes服务,而工作节点则是运行用户应用的地方
  • 下图展示的是一个由6个节点组成的Kubernetes集群,它有3个控制面板节点和3个工作节点
  • 推荐的做法是,所有的用户应用都只在工作节点上运行,让控制面板节点运行Kubernetes系统服务

控制面板节点

  • 控制面板节点托管着内部Kubernetes系统服务,这些服务是确保Kubernetes正常运行不可或缺的,统称为控制面板
  • 控制面板可能听起来太过专业,但它不过是一种花哨的说法,意思是Kubernetes的大脑
  • 考虑到这一点,一种很好的做法是配多个控制面板节点来实现高可用性(high availability,HA)
  • 这样一来,如果其中一个出现故障,集群仍然可以继续运行
  • 在真实世界中,生产集群中通常有3或5个控制面板节点,并且它们分散在不同的故障域中
  • 不要把它们放在同一个有故障的电源上的同一个漏水的空调装置下的同一块地砖上
  • 下图是一个有3个节点的高可用控制面板,每个节点都在一个独立的故障域中,有独立的网络和电力基础设施等
  • 控制面板节点运行以下服务,它们共同组成了控制面板(集群的大脑):
  • 1-API服务器
  • 2-调度器
  • 3-存储器
  • 4-云控制器(cloud controller)
  • ……
  • API服务器是Kubernetes集群中你唯一能够直接交互的部分
  • 例如,当你向集群发送的命令被送到API服务器时,你收到的响应也都来自API服务器
  • 调度器选择在哪些工作节点上运行用户应用
  • 存储器是存储集群和所有应用的状态的地方
  • 云控制器允许Kubernetes与云服务(如存储和负载均衡器)集成
  • 后面的实践案例会把云负载均衡器与部署到Kubernetes集群的应用整合在一起

工作节点

  • 工作节点是运行用户应用的地方,可以是Linux工作节点,也可以是Windows工作节点
  • 一个集群中可同时包含Linux工作节点和Windows工作节点,Linux应用运行在Linux工作节点上,而Windows应用运行在Windows工作节点上
  • 如下图所示
  • 所有工作节点都在运行下列服务,值得了解一下:
  • 1-kubelet
  • 2-容器运行时
  • kubelet是主Kubernetes代理(agent)
  • 它将工作节点加到集群中,并与控制面板进行通信,如接收任务和报告任务的状态
  • 容器运行时负责启动和停止容器
  • Kubernetes最初使用的容器运行时是Docker,但Kubernetes于2016年引入了容器运行时接口,让这一层变成可插拔的
  • 因此,可供选择的容器运行时有很多
  • Containerd是简化版的Docker,是当今Kubernetes集群最流行的容器运行时
  • Containerd全面支持Docker创建的容器镜像

被托管的Kubernetes

  • 被托管的Kubernetes是一种消费模型,指云提供商向你出租一个Kubernetes集群,有时我们称其为Kubernetes即服务
  • 被托管的Kubernetes是获得Kubernetes最简单的方法之一
  • 在托管模式下,云提供商构建了Kubernetes集群,拥有控制面板,并负责以下所有事项:
  • 1-控制面板的性能
  • 2-控制面板的可用性
  • 3-控制面板的更新
  • 而用户通常要负责以下事项:
  • 1-工作节点
  • 2-用户应用
  • 3-支付费用
  • 被托管的Kubernetes的基本架构如下图所示
  • 大多数云提供商都有托管的Kubernetes服务

用kubectl命令行工具管理Kubernetes

  • Kubernetes集群的大部分日常管理可以通过Kubernetes命令行工具kubectl完成
  • 管理任务包括部署和管理应用,检查集群和应用的健康状况,以及执行对集群和应用的更新
  • 你可以获得适用于Linux、macOS、Windows和各种ARM/ Raspberry Pi相关的操作系统的kubectl
  • 在后面会看到如何安装这个工具
  • 下面的kubectl命令列出了集群中的所有节点

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

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

相关文章

手机录屏声音怎么录?2个小妙招教会你

手机录制好的视频怎么没有声音?你是否也遇到了这个难题?在日常生活中,手机录屏功能已经成为我们生活和工作中的得力助手。而录屏的声音,作为录屏功能的重要组成部分,更是为我们的录制体验增添了不少色彩。那么&#xf…

一文带你搞定Linux开发环境配置

Linux开发必备 万事先更新 sudo apt update && sudo apt upgrade安装gcc工具链 sudo apt install build-essential像mysql、nacos等等建议装docker里,数据挂载到宿主机,日志别挂,直接装本机哪天日志塞满了就要开始重装系统了 以下…

B端系统的UI框架选择,不要输在了起跑线,如何破?

所谓成也框架、败也框架,框架就是这么的优点和缺点鲜明,市面上的框架多如牛毛,谁家的最优秀呢?为何框架搞出来的UI界面同质化呢,如何避免这种情况,如何在框架的基础上进一步提升颜值和体验呢,本…

Go语言day1

下载go语言的安装程序: All releases - The Go Programming Language 配置go语言的环境变量: 写第一个go语言 在E:\go_workspace当前窗口使用cmd命令: 输入 go run test.go

茂名石油行业:可燃气体报警器校准检测守护安全新防线

茂名,作为广东省的重要石化基地,其石油行业的发展一直备受关注。 随着石油产业的蓬勃发展,气体泄露的风险也日渐突出,给企业的生产安全和员工的生命安全带来了不小的挑战。 在这一背景下,可燃气体报警器的重要性日益…

6月19日作业

思维导图 实现服务器连接多个客户端局域网 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),sever(new QTcpServer(this)) {ui->setupUi(this); }Widget::~Widget() {delete ui; }v…

Java 开发面试题精选:RocketMQ 一篇全搞定

前言 RocketMQ作为一个高性能、高可用的分布式消息和流处理平台,广泛应用于分布式系统中的解耦、异步通信和数据流处理场景。这篇文章我精选了一些关于RockerMQ面试题目,这些问题涵盖了RocketMQ的所有关键知识点,从基本概念到高级应用&#…

使用Flink接受kafka中的数据并对数据进行ETL

做这个开发是因为:在实际开发操作中,你的kafka主题中会有大量的数据但是需求并不需要所有数据,所有我们要对数据进行清洗,把需要的数据保存在flink流中,为下流的开发做好数据保障! 首先创建工具类 再写一…

类注释规范

类注释规范 1.1.1 模板配置 模板路径:File–>settings–>Editor–>File and Code Templates–>Includes–>File Header  N A M E :设置类名,与下面的 {NAME}:设置类名,与下面的 NAME:设…

Java语法糖写法

一、函数式接口 1、Function函数式接口:有一个输入参数,有一个输出 2、断定型接口:有一个输入参数,返回值只能是布尔值! 3、Consumer 消费型接口:只有输入,没有返回值 4、Supplier供给型接口&a…

电影美学复古胶片特效视频转场模板 | Premiere Pro 项目工程文件

这个Premiere Pro项目工程文件是一个电影美学胶片特效视频转场模板,每个过渡效果都散发出一种有机的怀旧魅力,让人回忆起经典电影卷轴和模拟摄影的独特美感。 项目特点: 胶片烧伤过渡效果:包括从微妙的闪烁到大胆的爆发&#xff…

Redis 主从同步

主从同步 很多企业没有使用Redis的集群,但是至少都做了主从。有了主从,当master挂掉的时候,运维让从库过来接管,服务就可以继续,否则master需要经过数据恢复和重启的过程,可能会拖很长时间,影响…

Ubuntu 24.04安装zabbix7.0.0图形中文乱码

当zabbix安装完成后,设置中文界面时,打开图形,中文内容会显示方框乱码,是因为服务器字体中没有相关的中文字体,需要更换。 1、找到中文字体,可以在网络上下载《得意黑》开源字体,也可以在windo…

AI人工智能产品经理,就该这么学!

前言 想入行AI人工智能产品经理,该如何学习呢? 随时AI的兴起,AI产品经理开始爆火,很多功能性产品经理想转行做AI产品经理。转行的原因,这个仁者见仁智者见智。唯一的共同点就是,大家都看好AI行业的发展前景…

【Spine学习14】之 人物死亡动作 思路总结

其实大致过程跟攻击那个流程一样了 没什么特别的 就只是K帧不一样: 记录一下,姿势参考就好 0s还是跟攻击一样的站立姿势 10s帧 22s帧 40s帧 不同的是把角色倒地时间延长了许多 这样看起来更合适一点 剑和盾在人物死亡的时候或脱离手心 移动开一些距离…

【Linux安装Conda环境的详细教程】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

XTR115的一些感悟

今天花了些时间看了下XTR115的资料,虽然之前经常用,但是电路里面的细节一直没有去深究。1、XTR115的最大电流是32mA.当环路电流接近32 mA时能自动限流,这个在手册里有的。我在想XTR115坏了是什么情况。以前遇到过好多个XTR115损坏的情况&…

科研——BIBM论文修改和提交

文章目录 引言投递流程Latex翻译流程latex模板使用bib文件正文修改 反馈时间线等待审稿结果 引言 第一轮投递快结束了,这里得加快进度,二十号截至,这里得在截至之前投一下,这里翻译整理一下投递的流程 投递流程 投递链接论文是…

梅施云CRM客户关系管理系统-新一代智能营销CRM客户关系系统

首先了解一下什么是CRM客户关系管理系统? CRM系统是客户关系管理系统的缩写。它是一种用于帮助企业有效管理与客户关系相关的信息、活动和数据的软件工具或平台,通过对大量客户信息的收集、分析和整理,来管理客户关系、提高客户满意度、增强客户忠诚度…

四十九、openlayers官网示例Immediate Rendering (Geographic)——在地图上绘制星空动画效果

官网demo地址&#xff1a; Immediate Rendering (Geographic) 首先先创建1000个随机点&#xff0c;创建点对象。 const n 1000;const geometries new Array(n);for (let i 0; i < n; i) {const lon 360 * Math.random() - 180;const lat 180 * Math.random() - 90;ge…