[k8s系列]:kubernetes·概念入门

文章目录

  • 序言
  • 1 kubernetes概述
    • 1.1 kubernetes解决的问题
      • 1.1.1 部署方式的演变
      • 1.1.2 容器化部署——容器编排问题
    • 1.2 kubernetes组件
      • 1.2.1 kubernetes组件调用关系
      • 1.2.2 调用逻辑示例

序言

序言:本文将从,第一节:kubernetes解决的问题、组件和工作原理;

1 kubernetes概述

kubernetes是谷歌Borg系统的一个开源版本,kubernetes的本质是一组服务器集群,kubernetes可以在每个节点上运行特定程序,实现对节点中容器管理,目的是,实现资源管理自动化,主要提供了如下功能:

  • 自我修复:一旦某一个容器崩溃,能够在1s中左右启动容器。
  • 弹性伸缩:可以根据需要,自动对集群中正在运行容器数量进行调整。
  • 服务发现:服务可通过自动发现的形式找到其所依赖的服务。
  • 负载均衡:若一个服务启动多个容器,能自动实现负载均衡。
  • 版本回退:若发现新发布的程序版本有问题,可立即回退到原来版本。
  • 存储编排:根据容器自身需求自动创建存储卷。
    在这里插入图片描述

1.1 kubernetes解决的问题

1.1.1 部署方式的演变

传统部署虚拟化部署容器化部署
解释早期,直接将应用程序部署在物理机上在一台物理机上运行多个虚拟机,每个虚拟机都是一个独立环境与虚拟化类似,但是共享了操作系统
优点简单,不需其他技术参与程序环境不会相互影响,每个虚拟机都是一个环境保证每个容器拥有自己的文件系统、CPU等。实现基础架构解耦,容器化应用程序可以跨云服务器进行部署
缺点不能为程序资源使用边界,程序间容易产生影响增加了操作系统,浪费部分资源① 一个容器故障停机,如何让另一个容器启动去替补停机的容器;② 当并发访问变大时,如何横向扩展容器数量

1.1.2 容器化部署——容器编排问题

容器编排问题:针对容器化部署中所遇到的:一个容器故障停机,如何使得另一个容器去启动替补;以及当并发访问变大时,如何横向扩展容器的解决方案,产生了一些容器编排软件

  • Swarm:Docker官方容器编排工具。
  • Mesos:Apache的资源统一管理工具,需要与Marathon结合使用。
  • Kubernetes:Google开源容器编排工具。

1.2 kubernetes组件

1.2.1 kubernetes组件调用关系

在这里插入图片描述

组件功能
master(控制节点)集群的控制平面,负载集群的决策(管理)
ApiServer资源操作的唯一入口,接收用户输入命令,提供认证、授权、API注册和发现等机制
Scheduler负责集群资源调度,按照预定调度策略将pod调度到相应node节点
ControllerManger负责维护集群状态,诸如程度部署安装、故障检测、自动扩展、滚动更新等
Etcd负责存储集群中各种资源对象信息
node(工作节点)集群的数据平面,负责为容器提供运行环境(干活)
Kubelet负责维护容器生命周期,即通过控制docker,来创建、更新、销毁容器
KubeProxy负责提供集群内部服务发现和负载均衡
Docker负责节点上容器各种操作

1.2.2 调用逻辑示例

以部署nginx服务,来说明kubernetes系统各个组件调用关系:

  • ① 首先,当kubernetes环境启动后,master和node都会将自身信息存储到etcd数据库中。
  • ② 当我们发送安装nginx服务请求,首先会被发送到master节点的apiServer组件。
  • ③ apiServer组件会调用schedule组件,来决定应该把这个服务安装到哪个node节点。同时,schedule组件会从etcd中读取各个node节点信息,然后按照算法进行选择,并将结果反馈给apiServer。
  • ④ apiServer调用controller-manager去调度node节点安装nginx服务。
  • ⑤ 的pod(pod相当于一个容器)。
    pod是kubernetes的最小操作单元,容器必须跑在pod中。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c语言 -文件操作-详解

目录 1.为什么使用文件? 2.什么是文件? 2.1程序文件 2.2数据文件 2.3文件名 3.⼆进制⽂件和⽂本⽂件? 测试 4. ⽂件的打开和关闭 4.1 流和标准流 4.1.1 流 4.1.2 标准流 4.2 ⽂件指针 4.3文件的打开和关闭 4.3.1熟悉了解⽂件的打…

Linux:进程信号

文章目录 信号的概念实践信号关于前台和后台进程的操作 操作系统与外设信号的产生 前面的篇章结束了信号量的话题,那么接下来引入的是信号的话题,信号和信号量之间没有任何关系,只是名字比较像 信号的概念 在生活中存在各种各样的信号&…

现代C++之万能引用、完美转发、引用折叠FrancisFrancis

转载:现代C之万能引用、完美转发、引用折叠 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/99524127 后期参考(还未整合):C 完美转发深度解析:从入门到精通_c完美转发-CSDN博客https://blog.csdn.net/qq_21438461/article/details/129938466 0.导语 …

【数据结构 05】双链表

一、原理 双链表又称双向链表&#xff0c;通常情况下是带头循环结构&#xff0c;在CSTL标准模板库中封装的<list.h>头文件就是带头双向循环链表。 特性&#xff1a;增删灵活且高效&#xff0c;支持随机增删但不支持随机访问 设计思路&#xff1a; 链表包含一个头节点h…

如何提高工业数据采集的效率和准确性-天拓四方

随着工业4.0和智能制造的兴起&#xff0c;工业数据采集的重要性日益凸显。通过数据采集&#xff0c;企业能够实时监控生产过程&#xff0c;优化资源配置&#xff0c;提高生产效率。在实时监控、生产优化、质量控制等方面&#xff0c;有效的数据采集系统能够为企业提供宝贵的洞察…

Pinely Round 2 F. Divide, XOR, and Conquer

F. Divide, XOR, and Conquer 题意 给定一个非负整数数组 a a a&#xff0c;定义操作&#xff1a; 对于区间 [ l , r ] [l,r] [l,r]&#xff0c;选择一个分界点 l ≤ k < r l \leq k < r l≤k<r&#xff0c;将其分成 [ l , k ] [l,k] [l,k] 和 [ k 1 , r ] [k…

系统架构设计师教程(十六)嵌入式系统架构设计理论与实践

嵌入式系统架构设计理论与实践 16.1 嵌入式系统概述16.1.1 嵌入式系统发展历程16.1.2 嵌人式系统硬件体系结构16.2 嵌入式系统软件架构原理与特征16.2.1 两种典型的嵌入式系统架构模式16.2.2 嵌入式操作系统16.2.3 嵌入式数据库16.2.4 嵌入式中间件16.2.5 嵌入式系统软件开发环…

[GN] 设计模式—— 创建型模式

文章目录 创建型模式单例模式 -- 确保对象唯一性例子优化饿汉式懒汉式 优缺点使用场景 简单工厂模式例子&#xff1a;优化优缺点适用场景 工厂方法模式 -- 多态工厂的实现例子优缺点优化适用场景 抽象工厂模式 -- 产品族的创建例子优缺点适用场景 总结 创建型模式 单例模式 –…

嵌入式系统设计师之任务管理

目录 一、任务划分(II) 二、任务控制块&#xff08;TCB)(II) 三、任务的状态及状态转换(II) 四、任务队列(II) 五、任务管理机制(II) 六、任务调度(II) 6.1 调度时机 6.2 调度方式 6.3 调度算法性能指标和分类 6.4 任务调度算法&#xff08;II) 1、先来…

OpenHarmony—环境准备

JS SDK安装失败处理指导 问题现象 下载JS SDK时&#xff0c;下载失败&#xff0c;提示“Install Js dependencies failed”。解决措施 JS SDK下载失败&#xff0c;一般情况下&#xff0c;主要是由于npm代理配置问题&#xff0c;或未清理npm缓存信息导致&#xff0c;可按照如…

【Docker】linux、nginx、容器镜像三者基本概念

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Docker容器》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

ISCTF wp

web 圣杯战争 题目源码 <?php highlight_file(__FILE__); error_reporting(0);class artifact{public $excalibuer;public $arrow;public function __toString(){echo "为Saber选择了对的武器!<br>";return $this->excalibuer->arrow;} }class pre…

第九篇【传奇开心果系列】beeware的toga开发移动应用示例:人口普查手机应用

传奇开心果博文系列 系列博文目录beeware的toga开发移动应用示例系列博文目录一、项目目标二、安装依赖三、实现应用雏形示例代码四、扩展功能和组件的考量五、添加更多输入字段示例代码六、添加验证功能示例代码七、添加数据存储功能示例代码八、添加数据展示功能示例代码九、…

Java基于SpringBoot+Vue的电影影城管理系统,附源码,文档

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

TypeScript实战系列之合理运用类型

目录 介绍any 和 unknownerve 的用途断言type 和 interfacedeclare 关键字的作用联合类型 和 类型守卫交叉类型 介绍 这篇主要介绍下ts 常用的基本类型和一些常用的技巧性技能 any 和 unknow any 和 unknown 是两个类型关键字&#xff0c;它们用于处理类型不确定或未知的情况…

AI绘画:PhotoMaker Win11本地安装记录!

昨天介绍一个叫PhotoMaker的AI绘画开源项目。挺不错的&#xff01; 通过这个项目可以快速制作特定人脸的AI绘画作品&#xff0c;相比传统的技术效果会好很多&#xff0c;效率也高很多。 今天趁热打铁&#xff0c;本地电脑装装看&#xff0c;并且记录&#xff0c;分享一下&#…

高效摄入英语信息的独门武器

经常有读者问我&#xff1a;日常看的都是什么样的信息&#xff1f; 简单来说&#xff0c;大致是这些&#xff1a;比较前沿的科研成果&#xff0c;心理学和神经科学的最新文献&#xff0c;一些综述性和总结性的文章&#xff0c;以及跟心理、大脑和其他科学领域相关的期刊杂志&am…

数据结构—栈实现前缀表达式的计算

前缀表达式计算 过程分析 中缀表达式&#xff1a;&#xff08;1 5&#xff09;*3 > 前缀表达式&#xff1a;*153 &#xff08;可参考这篇文章&#xff1a;中缀转前缀&#xff09; 第一步&#xff1a;从右至左扫描前缀表达式&#xff08;已存放在字符数组中&#xff09;&a…

最近公共祖先

最近公共祖先 概念 给定一棵有n个节点的树&#xff0c;树中的两个节点u和v的最近公共祖先lca&#xff0c;有以下定义 &#xff08;1&#xff09;lca既是u的祖先&#xff0c;又是v的祖先 &#xff08;2&#xff09;lca是所有u和v的公共祖先中深度最深的祖先&#xff0c;也就…

Linux第38步_编译“正点原子移植好的uboot”

uboot的全称是Universal Boot Loader&#xff0c;uboot是一个遵循GPL协议的开源软件&#xff0c;uboot是一个裸机代码&#xff0c;可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB等高级功能。 uboot官方的uboot源码是给所有的半导体厂商准备的。ST公司会…