当前位置: 首页 > news >正文

一、Kubernetes介绍与集群架构

Kubernetes介绍与集群架构

一、认识容器编排工具

  • docker machine
    • 主要用于准备docker host
    • 现已弃用
    • 建议使用docker desktop
  • docker compose
    • Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。
    • 使用 Compose,您可以使用 YAML 文件来配置应用程序的服务。
    • 使用一个命令,您可以从您的配置中创建并启动所有服务。
  • docker swarm
    • 内置于docker引擎中
    • 对docker引擎进行集群级别的管理
  • 分布式设计,可以让集群资源更多,管理更多的主机
    • 声明式服务模型,通过YAML文件定义应用程序服务所需状态
    • 服务规模可扩大可缩小,保持用户期望状态
    • 服务发现
    • 负载均衡
    • 滚动更新等
    • docker service
    • docker stack
  • kubernetes
    • Kubernetes作为一个容器集群管理系统,用于管理容器云平台中多个主机上的容器应用,Kubernetes的目标是让部署容器化的应用变得简单且高效,所以 Kubernetes 提供了应用部署,规划,更新,维护的一整套完整的机制。
    • Kubernetes没有固定要求容器的格式,但是Kubernetes使用它自己的API和命令行接口来进行容器编排。
    • 除了Docker容器之外,Kubernetes还支持其他多种容器,如 Containerd、rkt、CoreOS 等。
    • Kubernetes 是自成体系的管理工具,可以实现容器调度,资源管理,服务发现,健康检查,自动伸缩,更新升级等,也可以在应用模版配置中指定副本数量,服务要求(IO 优先;性能优先等),资源使用区间,标签(Labels等)来匹配特定要求达到预期状态等,这些特征便足以征服开发者,再加上 Kubernetes 有一个非常活跃的社区。它为用户提供了更多的选择以方便用户扩展编排容器来满足他们的需求。但是由于 Kubernetes 使用了自己的 API 接口,所以命令系统是另外一套系统,这也是 kubernetes 应用门槛比较高的原因所在。
  • mesos+marathon
    • Apache Mesos 是一个分布式系统内核的开源集群管理器,Apache Mesos 的出现要远早于 Docker Swarm 和 Kubernetes。
    • 其结合Marathon 这个基于容器的应用程序的编排框架,它为 Docker Swarm 和 Kubernetes 提供了一个有效的替代方案。
    • Mesos 能够在同样的集群机器上运行多种分布式系统类型,可以更加动态高效的共享资源。
    • Messos 也提供服务失败检查,服务发布,服务跟踪,服务监控,资源管理和资源共享。
    • Messos 可以扩展伸缩到数千个节点。
    • 如果你拥有很多的服务器而且想构建一个大的集群的时候,Mesos 就派上用场了。
    • 很多的现代化可扩展性的数据处理应用都可以在 Mesos 上运行,包括大数据框架 Hadoop、Kafka、Spark。
    • 但是大而全,往往就是对应的复杂和困难,这一点体现在 Messos 上是完全正确,与Docker 和 Docker Swarm 使用同一种 API 不同的,Mesos 和 Marathon 都有自己的 API,这使得它们比其他编排系统更加的复杂。Apache Mesos 是混合环境的完美编配工具,由于它包含容器和非容器的应用,虽然 Messos 很稳定,但是它的使用户快速学习应用变得更加困难,这也是在应用和部署场景下难于推广的原因之一。
分布式资源管理框架主要特点备注
Apache Mesos功能强大,但系统复杂不易用2019年Twitter宣布弃用
Docker Swarm集成在docker引擎中,不需要单独安装,但功能较少2019年阿里云宣布弃用
Google Kubernetes功能强大,但学习成本与管理成本高目前没有替代者,多领域应用

二、认识kubernetes

2.1 kubernetes含义、起源、归属

2.1.1 含义

希腊语:舵手、飞行员

1557045795562

2.1.2 起源

  • 源自于谷歌Borg

  • 使用golang语言开发

  • 简称为k8s

2.1.3 归属

现归属于CNCF

  • 云原生(CloudNative)计算基金会

  • 是一个开源软件基金会,致力于使云计算普遍性和持续性

  • 官方:http://www.cncf.io

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0XqwQge-1691633580010)(kubernetes介绍与集群架构.assets/image-20220324160124674.png)]

2.2 kubernetes版本

  • 2014年9月第一个正式版本
  • 2015年7月1.0版本正式发布
  • 现在稳定版本为1.23
  • 主要贡献者:Google,Redhat,Microsoft,IBM,Intel
  • 代码托管github:https://github.com/kubernetes/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQDav7ue-1691633580012)(kubernetes介绍与集群架构.assets/1557046658333.png)]

2.3 Kubernetes用户

  • 2017年docker官方宣布原生支持kubernetes
  • RedHat公司 PaaS平台 OpenShift核心是kubernetes
  • Rancher平台核心是kubernetes
  • 现国内大多数公司都可使用kubernetes进行传统IT服务转换,以实现高效管理等。

2.4 Kubernetes网址

  • 官方网址

https://kubernetes.io/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rpDcPapc-1691633580013)(kubernetes介绍与集群架构.assets/1557046832480.png)]

https://kubernetes.io/zh/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CojzCz5r-1691633580014)(kubernetes介绍与集群架构.assets/image-20220324145026425.png)]

  • 中文社区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H5IMR0uj-1691633580015)(kubernetes介绍与集群架构.assets/image-20220324145137982.png)]

三、kubernetes架构

3.1 软件架构说明

  • 有中心节点分布式架构

    • hadoop集群
    • ceph集群
  • 无中心节点分布式架构

    • glusterFS
  • kubernetes是具有中心节点的分布式架构,也就是说有master管理节点

    • Master Node
      • 中心节点
      • manager
      • 简单叫法
        • master节点
    • Minion Node
      • 工作节点
      • worker
      • 简单叫点
        • node节点
        • worker节点

3.2 Kubernetes架构图示图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WUAau0oa-1691633580016)(kubernetes介绍与集群架构.assets/1557048978763.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mJFiJkkI-1691633580017)(kubernetes介绍与集群架构.assets/2)]

四、Kubernetes集群节点组件

4.1 Master节点组件

master节点是集群管理中心,它的组件可以在集群内任意节点运行,但是为了方便管理所以会在一台主机上运行Master所有组件,并且不在此主机上运行用户容器

Master组件包括:

  • kube-apiserver

​ 用于暴露kubernetes API,任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。

  • kube-controller-manager

​ 控制器管理器,用于对控制器进行管理,它们是集群中处理常规任务的后台线程。

  • kube-scheduler

    监视新创建没有分配到Node的Pod,为Pod选择一个Node运行。

  • ETCD

    是kubernetes提供默认的存储系统,保存所有集群数据。

4.2 Node节点组件介绍

node节点用于运行以及维护Pod, 管理volume(CVI)和网络(CNI),维护pod及service等信息

Node组件包括:

  • kubelet
    • 负责维护容器的生命周期(创建pod,销毁pod),同时也负责Volume(CVI)和网络(CNI)的管理
  • kube-proxy
    • 通过在主机上维护网络规则并执行连接转发来实现service(iptables/ipvs)
    • 随时与apiserver通信,把Service或Pod改变提交给apiserver,保存至etcd(可做高可用集群)中,负责service实现,从内部pod至service和从外部node到service访问。
  • Container Runtime
    • 容器运行时(Container Runtime)
    • 负责镜像管理以及Pod和容器的真正运行
    • 支持docker/containerd/Rkt/Pouch/Kata等多种运行时

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CTB2OTGz-1691633580018)(kubernetes介绍与集群架构.assets/k8s架构图2.png)]

4.3 Add-ons介绍

Add-ons(附件)使功能更丰富,没它并不影响实际使用,可以与主体程序很好结合起来使用

  • coredns/kube-dns: 负责为整个集群提供DNS服务
  • Ingress Controller 为服务提供集群外部访问
  • Heapster/Metries-server 提供集群资源监控(监控容器可以使用prometheus)
  • Dashboard 提供集群GUI
  • Federation 提供跨可用区的集群
  • Fluentd-elasticsearch 提供集群日志采集、存储与查询

相关文章:

一、Kubernetes介绍与集群架构

Kubernetes介绍与集群架构 一、认识容器编排工具 docker machine 主要用于准备docker host现已弃用建议使用docker desktop docker compose Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,您可以使用 YAML 文件来配置应用程序的服务。…...

基于C#UI Automation自动化测试

步骤 UI Automation 只适用于,标准的win32和 WPF程序 需要添加对UIAutomationClient、 UIAutomationProvider、 UIAutomationTypes的引用 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.D…...

深入了解Linux运维的重要性与最佳实践

Linux作为开源操作系统的代表,在企业级环境中的应用越来越广泛。而在保障Linux系统的正常运行和管理方面,Linux运维显得尤为关键。本文将介绍Linux运维的重要性以及一些最佳实践,帮助读者更好地了解和掌握Linux系统的运维技巧。 首先&#xf…...

90 | Python人工智能篇 —— 深度学习算法 Keras基于卷积神经网络的情感分类

情感分类是自然语言处理(NLP)领域的一个重要任务,它旨在将文本划分为积极、消极或中性等不同情感类别。深度学习技术,尤其是卷积神经网络(CNN),在情感分类任务中取得了显著的成果。Keras作为一个高级的深度学习框架,提供了便捷易用的工具来构建和训练情感分类模型。 文…...

自然语言处理从入门到应用——LangChain:记忆(Memory)-[记忆的类型Ⅲ]

分类目录:《自然语言处理从入门到应用》总目录 对话令牌缓冲存储器ConversationTokenBufferMemory ConversationTokenBufferMemory在内存中保留了最近的一些对话交互,并使用标记长度来确定何时刷新交互,而不是交互数量。 from langchain.me…...

【ARM 嵌入式 编译系列 10.3 -- GNU elfutils 工具小结】

文章目录 什么是 GNU elfutils?GNU elfutils 常用工具有哪些?objcopy 常用参数有哪些?GNU binutils和GNU elfutils区别是什么? 上篇文章:ARM 嵌入式 编译系列 10.2 – 符号表与可执行程序分离详细讲解 什么是 GNU elfu…...

黑马项目一阶段面试 项目介绍篇

我完成了一个外卖项目,名叫苍穹外卖,是跟着黑马程序员的课程来自己动手写的。 项目基本实现了外卖客户端、商家端的后端完整业务。 商家端分为员工管理、文件上传、菜品管理、分类管理、套餐管理、店铺营业状态、订单下单派送等的管理、数据统计等&…...

重构内置类Function原型上的call方法

重构内置类Function原型上的call方法 // > 重构内置类Function原型上的call方法 ~(function () {/*** call: 改变函数中的this指向* params* context 可以不传递,传递必须是引用类型的值,因为后面要给它加 fn 属性**/function myCall(context) {/…...

Nginx之lnmp架构

目录 一.什么是LNMP二.LNMP环境搭建1.Nginx的搭建2.安装php3.安装数据库4.测试Nginx与PHP的连接5.测试PHP连接数据库 一.什么是LNMP LNMP是一套技术的组合,Llinux,Nnginx,Mmysql,Pphp 首先Nginx服务是不能处理动态资源请求&…...

C# 使用FFmpeg.Autogen对byte[]进行编解码

C# 使用FFmpeg.Autogen对byte[]进行编解码,参考:https://github.com/vanjoge/CSharpVideoDemo 入口调用类: using System; using System.IO; using System.Drawing; using System.Runtime.InteropServices; using FFmpeg.AutoGen;namespace F…...

websocket是多线程的嘛

经过测试, onOpen事件的threadId和onMessage的threadId是不一样的,但是onMessage的threadId一直是同一个,就是说收消息的部分是单线程的,收到第一个Message后如果给它sleep较长时间,期间收到第二个,效果是它在排队&am…...

CentOS7.9 禁用22端口,使用其他端口替代

文章目录 业务场景操作步骤修改sshd配置文件修改SELinux开放给ssh使用的端口修改防火墙,开放新端口重启sshd生效 相关知识点介绍sshd服务SELinux服务firewall.service服务 业务场景 我们在某市实施交通信控平台项目,我们申请了一台服务器,用…...

2023国赛 高教社杯数学建模ABCDE题思路汇总分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…...

【网络层+数据链路层】深入理解IP协议和MAC帧协议的基本原理

文章目录 前言一、IP协议二、MAC帧协议 1.以太网2.以太网帧(MAC帧)格式报头3.基于协议讲解局域网转发的原理总结 前言 为什么经常将TCP/IP放在一起呢?这是因为IP层的核心工作就是通过IP地址来定位主机的,具有将一个数据报从A主机…...

银行家算法【学习算法】

银行家算法【学习算法】 前言版权推荐银行家算法7.避免死锁7.1 系统安全状态7.2 利用银行家算法避免死锁 Java算法实现代码结果 最后 前言 2023-8-14 18:18:01 以下内容源自《【学习算法】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台…...

萤石直播以及回放的接入和销毁

以下基于vue项目 1.安装 npm i ezuikit-js 2、导入 main.js中 import EZUIKit from "ezuikit-js"; //导入萤石Vue.use(EZUIKit); 3、创建容器 <div class"video"><div id"video-container"></div><!-- <iframe :src…...

C语言易错知识点总结2

函数 第 1 题&#xff08;单选题&#xff09; 题目名称&#xff1a; 能把函数处理结果的二个数据返回给主调函数&#xff0c;在下面的方法中不正确的是&#xff1a;&#xff08; &#xff09; 题目内容&#xff1a; A .return 这二个数 B .形参用数组 C .形参用二个指针 D .用…...

Go学习-Day1

Go学习-Day1 个人博客&#xff1a;CSDN博客 打卡。 Go语言的核心开发团队&#xff1a; Ken Thompson (C语言&#xff0c;B语言&#xff0c;Unix的发明者&#xff0c;牛人)Rob Pike(UTF-8发明人)Robert Griesemer(协助HotSpot编译器&#xff0c;Js引擎V8) Go语言有静态语言的…...

冠达管理:机构密集调研医药生物股 反腐政策影响受关注

进入8月&#xff0c;跟着反腐事件发酵&#xff0c;医药生物板块呈现震荡。与此一起&#xff0c;组织出资者对该板块上市公司也展开了密集调研。 到昨日&#xff0c;8月以来就有包含南微医学、百济神州、维力医疗、方盛制药等12家医药生物板块的上市公司接受组织调研&#xff0c…...

安装Tomac服务器——安装步骤以及易出现问题的解决方法

文章目录 前言 一、下载Tomcat及解压 1、选择下载版本&#xff08;本文选择tomcat 8版本为例&#xff09; 2、解压安装包 二、配置环境 1、在电脑搜索栏里面搜索环境变量即可 2、点击高级系统设置->环境变量->新建系统变量 1) 新建系统变量&#xff0c;变量名为…...

MATLAB仿真下虚拟磁链控制技术在直接功率控制与整流器、逆变器仿真中的应用

虚拟磁链&#xff0c;直接功率控制simulink仿真&#xff0c;vf-dpc&#xff0c;整流器仿真&#xff0c;逆变器仿真虚拟磁链仿真&#xff0c;MATLAB仿真&#xff0c;参考文献&#xff0c;最近在搞电力电子仿真的时候&#xff0c;总被传统直接功率控制&#xff08;DPC&#xff09…...

系统分析师论文模版分析

系统分析师论文模板深度分析 系统分析师考试的论文(科目三)是一道 2500~3000字 的论述题,要求结合实际项目经验,围绕给定主题展开分析。论文的评分维度包括:切合题意、理论深度、实践细节、逻辑结构、语言表达。以下是对典型论文模板的结构拆解与写作要点分析。 一、论文…...

OpenClaw+千问3.5-35B-A3B-FP8:自动化财务报表生成与分析

OpenClaw千问3.5-35B-A3B-FP8&#xff1a;自动化财务报表生成与分析 1. 为什么需要自动化财务处理 每个月末&#xff0c;我都会面对同样的烦恼&#xff1a;银行流水、电子发票、Excel表格散落在不同平台&#xff0c;手动整理耗时费力。直到发现OpenClaw与千问3.5模型的组合&a…...

WinDbg实战:手把手教你用!dpcwatchdog和!dpcs命令揪出Windows蓝屏元凶

WinDbg实战&#xff1a;用!dpcwatchdog和!dpcs命令精准定位DPC蓝屏问题 当你的Windows系统突然蓝屏&#xff0c;屏幕上赫然显示着"DPC_WATCHDOG_VIOLATION"错误代码时&#xff0c;那种无力感可能让任何技术从业者都感到沮丧。这种蓝屏错误通常意味着系统在调度延迟过…...

YOLO11导出TFLite格式:移动端轻量级部署,如何将YOLO11转换为TFLite格式,并测试推理效果全面实战(二)

🎬 Clf丶忆笙:个人主页 🔥 个人专栏:《YOLOv11全栈指南:从零基础到工业实战》 ⛺️ 努力不一定成功,但不努力一定不成功! 文章目录 七、性能评估与优化策略 7.1 模型性能评估指标 7.2 性能瓶颈分析与优化 7.3 多平台性能对比分析 八、实战项目:移动端实时目标检测…...

OpenClaw跨平台控制:Qwen3-14B管理多台设备的自动化流

OpenClaw跨平台控制&#xff1a;Qwen3-14B管理多台设备的自动化流 1. 为什么需要集中化设备管理&#xff1f; 去年搭建家庭实验室时&#xff0c;我手头逐渐积累了三台不同用途的设备&#xff1a;一台跑深度学习模型的Ubuntu服务器、一台存储数据的NAS&#xff0c;还有一台偶尔…...

HowTo-易连EDI-EasyLink如何实现Email收发

在数字化通信时代&#xff0c;Email作为最基础的互联网服务之一&#xff0c;其背后依赖着一套复杂的协议体系来实现邮件的发送、接收和管理。这些协议构成了电子邮件系统的技术基础&#xff0c;确保了不同邮件服务提供商之间的互操作性。在易连EDI-Easylink系统中&#xff0c;E…...

产教融合共建失智老年人照护实训室实践路径

本文围绕产教融合模式&#xff0c;结合失智老年人照护岗位实际需求&#xff0c;从合作机制、空间布局、设备配置、教学实施、运营保障五个核心维度&#xff0c;给出可落地的失智老年人照护实训室共建实践路径&#xff0c;兼顾实用性与可操作性&#xff0c;助力院校与企业高效共…...

Claude Code + Suno MCP:在终端中创建 AI 音乐

在现代的编程和音乐创作中&#xff0c;AI 正在逐渐成为一股不可忽视的力量。Claude Code 是由 Anthropic 发布的一款命令行 AI 助手&#xff0c;与 Suno MCP Server 相结合&#xff0c;用户可以直接在终端中创作歌曲&#xff0c;包括撰写歌词、选择风格、生成音乐&#xff0c;整…...

Figma+Cursor联动实战:5分钟搞定AI设计稿生成(含最新manifest导入避坑指南)

FigmaCursor联动实战&#xff1a;5分钟搞定AI设计稿生成&#xff08;含最新manifest导入避坑指南&#xff09; 在快节奏的前端开发领域&#xff0c;设计稿与代码的同步效率往往成为项目瓶颈。传统工作流中&#xff0c;设计师产出视觉稿后&#xff0c;开发者需要手动还原每个像素…...