【kubernetes】kubernetes简介

目录

          • 1. 说明
          • 2. 起源与发展
          • 3. 核心概念
          • 4. 架构与组件
            • 4.1 控制平面(Control Plane)
            • 4.2 工作节点(Worker Nodes)
          • 5. 特点与优势
          • 6. 应用场景

1. 说明
  • 1.Kubernetes(简称K8s)是一个开源的容器编排工具,专为自动化容器化应用程序的部署、扩展管理而设计。
2. 起源与发展
  • 1.Kubernetes起源于2014年,由Google的三位工程师Joe Beda、Brendan Burns和Craig McLuckie创立。
  • 2.Kubernetes是Google的Borg系统的开源版本,Borg是一个大规模集群管理系统,对Google服务的稳定性和规模化起到了关键作用。
  • 3.Kubernetes采用了Borg的设计理念和最佳实践,但设计得更加灵活和模块化,以适应更广泛的用户群体和工作负载。
  • 4.2015年,Google将Kubernetes捐赠给了Cloud Native Computing Foundation(CNCF),以确保其中立性并促进生态系统的健康发展。
3. 核心概念
  • 1.Pod:Kubernetes使用Pod来管理容器,每个Pod可以包含一个或多个紧密关联的容器。Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace,是Kubernetes调度的基本单位。
  • 2.Node:Node是Pod真正运行的主机,可以是物理机,也可以是虚拟机。为了管理Pod,每个Node节点上至少要运行container runtime(比如Docker或者rkt)、kubelet和kube-proxy服务。
  • 3.Namespace:Namespace是对一组资源和对象的抽象集合,可以用来将系统内部的对象划分为不同的项目组或用户组。
  • 4.Service:Service是应用服务的抽象,通过labels为应用提供负载均衡和服务发现。
  • 5.Label:Label是识别Kubernetes对象的标签,以key/value的方式附加到对象上。Label不提供唯一性,并且实际上经常是很多对象(如Pods)都使用相同的label来标志具体的应用。
  • 6.Annotations:Annotations是key/value形式附加于对象的注解,用来记录一些附加信息,用来辅助应用部署、安全策略以及调度策略等。
4. 架构与组件
4.1 控制平面(Control Plane)
  • 1.包括kube-apiserver、etcd、kube-scheduler、kube-controller-manager和cloud-controller-manager。
  • 2.控制平面负责管理集群的状态、调度Pod到合适的节点、监控节点和Pod的健康状况等。
  • 3.kube-apiserver:API服务器是Kubernetes控制平面的组件,负责公开Kubernetes API,并处理接受请求的工作。它是Kubernetes控制平面的前端。
  • 4.etcd:一个分布式键值存储,用于存储Kubernetes集群的所有数据。它是Kubernetes集群的源数据存储系统,所有的配置信息、状态信息都存储在etcd中。
  • 5.kube-scheduler:负责将新创建的Pod调度到合适的工作节点上。
  • 6.kube-controller-manager:负责运行控制器进程,包括节点控制器、任务控制器、端点分片控制器等。
  • 7.cloud-controller-manager:允许将Kubernetes集群连接到云提供商的API之上,并将与该云平台交互的组件同与集群交互的组件分离开来。
4.2 工作节点(Worker Nodes)
  • 1.包括kubelet、kube-proxy和容器运行时。工作节点负责运行实际的应用容器。
  • 2.kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理。
  • 3.kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡。
  • 4.容器运行时:负责镜像管理以及Pod和容器的真正运行(CRI)。
5. 特点与优势
  • 1.可移植性:支持公有云、私有云、混合云和多重云。
  • 2.可扩展性:模块化、插件化、可挂载、可组合。
  • 3.自动化:自动部署、自动重启、自动复制、自动伸缩/扩展。
  • 4.快速部署与扩展:能够快速部署和扩展应用。
  • 5.无缝对接新功能:能够无缝对接新的应用功能。
  • 6.资源优化:节省资源,优化硬件资源的使用。
6. 应用场景
  • 1.容器编排和管理:Kubernetes可以帮助用户轻松地部署、管理和扩展容器化应用。
  • 2.微服务架构:Kubernetes可以支持微服务架构的应用部署和管理,自动管理微服务的部署、扩展和升级,同时还提供了负载均衡、服务发现和服务注册等功能。
  • 3.弹性扩展:Kubernetes可以根据应用的负载情况自动进行弹性扩展,提高应用的可用性和性能,同时节省资源和成本。
  • 4.高可用性和容错性:Kubernetes提供了一系列的机制来确保应用的高可用性和容错性,如自动重新启动失败的容器、容器自愈和自动修复等。
  • 5.多云环境管理:Kubernetes可以帮助用户在多个云平台上管理和部署应用,提供标准化的接口和管理方式。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 设备使用 Wireshark 工具进行网络抓包

背景 电脑和手机连接同一网络,想使用wireshark抓包工具抓取Android手机网络日志,有以下两种连接方法: Wi-Fi 网络抓包。USB 网络共享抓包。需要USB 数据线将手机连接到电脑,并在开发者模式中启用 USB 网络共享。 查看设备连接信…

Docker安装ubuntu1604

首先pull镜像 sudo docker run -d -P m.daocloud.io/docker.io/library/ubuntu:16.04国内使用小技巧: https://github.com/DaoCloud/public-image-mirror pull完成之后查看 sudo docker images 运行docker sudo docker run -d -v /mnt/e:/mnt/e m.daocloud.io/…

【数据结构与算法】树和二叉树

【数据结构与算法】树和二叉树 文章目录 【数据结构与算法】树和二叉树前言一、树的基本概念二、二叉树的基本概念三、二叉树的递归遍历四、二叉树的编程五、二叉树的非递归遍历总结 前言 本篇文章将讲到树的基本概念,二叉树的基本概念,二叉树的递归遍历…

大语言模型---Llama7B和Llama8B的区别;模型参数量;权重文件的不同;嵌入层权重的不同;输入序列长度的不同;应用场景

文章目录 1.概要2. 模型参数量3. 权重文件的不同4. 嵌入层权重的不同5. 输入序列长度的不同6. 应用场景 1.概要 LLaMA(Large Language Model Meta AI)是由Meta开发的一系列语言模型,其中不同版本的参数量(如7B、8B等)…

Android Binder技术概览

Android中的Binder是一种基于远程过程调用(Remote Procedure Call, RPC)的轻量级通信机制,核心用于 Android 系统中的进程间通信(Inter-Process Communication, IPC)。Binder 是 Android 系统中不可或缺的一部分&#…

NoteExpress导入知网论文无法智能更新题录的处理方法

知网论文下载下来一般为“标题_作者.caj”,只要在导入文件时对字段默认值进行设置就行了。 其他地方下载的论文也是一样,根据文件名称设置字段默认值。

搜索二维矩阵

搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则&#xff0c…

Mysql中的 TEXT 和 BLOB 解析

🚀 博主介绍:大家好,我是无休居士!一枚任职于一线Top3互联网大厂的Java开发工程师! 🚀 🌟 在这里,你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人,我不仅热衷…

2024强网拟态决赛-eBeepf

漏洞分析与利用 分析后面看情况吧&#xff0c;有时间再写吧&#xff0c;先贴个利用脚本&#xff1a; #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <fcntl.h> #include <…

Duolingo「多邻国」v6.9.0 解锁Max高级版

前言 Duolingo是一个特别有名的学语言的应用软件&#xff0c;你可以用它来学西班牙语、法语、德语、意大利语、俄语等等好多种语言。当然&#xff0c;用它来学英语也是个不错的选择。 安装环境 [名称]&#xff1a;Duolingo「多邻国」 [大小]&#xff1a;79MB [版本]&#x…

鸿蒙开发-音视频

Media Kit 特点 一般场合的音视频处理&#xff0c;可以直接使用系统集成的Video组件&#xff0c;不过外观和功能自定义程度低Media kit&#xff1a;轻量媒体引擎&#xff0c;系统资源占用低支持音视频播放/录制&#xff0c;pipeline灵活拼装&#xff0c;插件化扩展source/demu…

基于SSM的婚庆管理系统+LW示例参考

1.项目介绍 系统角色&#xff1a;管理员、商家&#xff08;婚庆公司&#xff09;、用户功能模块&#xff1a;管理员&#xff08;用户管理、商家管理、摄影风格管理、礼服款式管理、案例管理、婚车品牌管理、婚纱拍摄管理、策划服务管理、婚宴酒店管理、婚车套餐管理、在线咨询…

manin动画编程(安装+入门)

文章目录 1.基本介绍2.效果展示3.安装步骤3.1安装manba软件3.2配置环境变量3.3查看是否成功3.4什么是mamba3.5创建虚拟环境3.6尝试进入虚拟环境 4.vscode操作4.1默认配置文件 5.安装ffmpeg6.安装manim软件6.vscode制作7.我的学习收获 1.基本介绍 这个manim就是一款软件&#x…

CH595 驱动数码管

先上原理图 我手里的是型号SR410361K的 4段数码管是共阳的&#xff08;低电平驱动&#xff09;&#xff0c;先发送数据&#xff0c;然后发送片选 共阴 共阳的图如下&#xff1a; 如何测量呢&#xff1f; 首先将数字万用表档位调节到蜂鸣器/二极管档&#xff0c;红表笔和黑表笔…

Vue生命周期详解

目录 1.beforeCreate2.created3.beforeMount4.mounted5.beforeUpdate6.updated7.beforeUnmount&#xff08;beforeDestroy&#xff09;8.unmounted&#xff08;destroyed&#xff09; 1.beforeCreate 分析 beforeCreate执行时Vue实例还没有被创建&#xff0c;data和methods也…

MySQL底层概述—1.InnoDB内存结构

大纲 1.InnoDB引擎架构 2.Buffer Pool 3.Page管理机制之Page页分类 4.Page管理机制之Page页管理 5.Change Buffer 6.Log Buffer 1.InnoDB引擎架构 (1)InnoDB引擎架构图 (2)InnoDB内存结构 (1)InnoDB引擎架构图 下面是InnoDB引擎架构图&#xff0c;主要分为内存结构和磁…

【力扣算法题】双指针-战场上的矛与盾的组合(移动零)(快乐数)

前言 &#x1f31f;&#x1f31f;本期讲解关于力扣算法两道双指针题目解析~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么…

第三十九篇 ShuffleNet V1、V2模型解析

摘要 ShuffleNet V1 ShuffleNet V1是由旷视科技&#xff08;Megvii&#xff0c;又称Face&#xff09;在2017年底提出的一种轻量级卷积神经网络架构。该网络专为移动设备和边缘计算环境设计&#xff0c;旨在以较低的计算资源实现高效的图像分类和其他计算机视觉任务。 特点与…

Springboot系列之:创建Springboot项目,Springboot整合MyBatis-plus

Springboot系列之&#xff1a;创建Springboot项目&#xff0c;Springboot整合MyBatis-plus 一、快速创建Spring boot项目二、项目完整目录三、pom.xml四、application.yaml五、实体类六、mapper七、IService接口八、Service实现类九、配置类十、枚举十一、增删改查测试类十二、…

C++:用红黑树封装map与set-1

文章目录 前言一、STL源码分析二、红黑树的构建三、map与set整体框架的搭建与解析四、如何取出进行比较&#xff1f;1. met与set的数据是不同的2. 取出数据进行比较1&#xff09;问题发现2&#xff09;仿函数解决 五、封装插入六、迭代器的实现1. operator* 与operator->2. …