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

K8s学习笔记(一)——

一、k8s是什么

        一个分布式原来是主要用来管理容器的呀(专业点叫“容器编排”),什么是管理?其实就是增删改查等等,简单来理解,k8s就是实现容器增删改查的呗。是开源的,在Linux系统下。就跟创建的springboot微服务多了以后,就需要一个东西来管理众多的微服务,spring cloud应运而生。同理,docker建立的容器多了以后, k8s就应运而生了。或者这样类比:线程多了就需要线程池来管理了呗——没有什么是抽象一层不能解决的!

        Linux里一切皆文件,java里一切皆对象,k8s里一切皆资源。

二、K8s用来做什么

  • 服务注册与发现
  • 弹性扩缩容:根据流量自己掌控pod的个数。
  • 负载均衡:和nginx一样,把请求按照一定的规则分配给几台机器
  • 回滚:一个应用的V2.3.1版本上线后突然出问题了,回滚到V2.3.0版本
  • 存储编排:给容器在本机分配存储空间
  • 自我修复:检测到挂了的,给你重开

三、k8s架构

        目前是不是脑子里还没有关于k8s的图(就像下图里CPU的组成结构图一样)。有什么样的工作原理就对应着什么样的架构,所以工作原理和架构其实是一回事,那么来看一下k8s的工作原理/架构吧。

        先要理解k8s的一些专有名词——就像你要融入某个圈子,就要了解一些行业黑话一样。

        主要是这几个专有名词:集群、命名空间namespace、节点Node、Pod、容器、工作负载。

        首先这里面最大的是集群。然后集群、node、pod、容器四者之间是有包含关系的,可以画图去理解,比较直观。

        

        但是Node跟命名空间的关系有点类似于物理内存和逻辑内存的关系。集群是物理层面的,命名空间是逻辑层面的。可以这样类比,一个集群里我们有多台电脑,不同的用户登录上去的权限是不一样的。每台电脑就是Node,不同的用户就是不同的命名空间。比如有开发namespace、预发版namespace、生产环境namespace,可以看出命名空间主要起到一个资源隔离的作用。

http://www.xdnf.cn/news/1407925.html

相关文章:

  • 试试 Xget 加速 GitHub 克隆仓库
  • React前端开发_Day12_极客园移动端项目
  • Windows中如何将Docker安装在E盘并将Docker的镜像和容器存储在E盘的安装目录下
  • IDM(Internet Download Managerv 6.38)破除解版下载!IDM 下载器永久免费版!提升下载速度达5倍!安装及使用
  • Google 的 Agent2Agent 协议 (A2A):带示例的指南
  • Java试题-选择题(26)
  • Swin Transformer基本原理与传统Transformer对比图解
  • Lua基础知识精炼
  • vim-plugin AI插件
  • 运筹说 第141期 | 启发式算法:用简单规则、破解复杂问题
  • 网络端口与服务对应表 - 白帽子安全参考指南
  • C#基础(③CMD进程)
  • LLM记账智能体-MCP服务-实现步骤与效果展示
  • @Value注解的底层原理(一)
  • (一) aws上微服务
  • C++ 快速复习指南(上半部分)
  • 我开发了一个自动还原源码的小工具
  • AI辅助编程日记和chat历史开源Series 1:VSCode + GitHub Copilot 自动下载及安装软件
  • 《打破 “慢“ 的黑箱:前端请求全链路耗时统计方案》
  • Vue3 响应式基础
  • 前端学习——JavaScript基础
  • 创维LB2004_安装软件教程
  • 37. 解数独
  • GaRe:面向非约束户外照片集的可重光照 3D 高斯溅射技术简要解析
  • Android开发-活动页面
  • C# .Net8 WinFormsApp使用日志Serilog组件
  • c++ Effective c++ 条款5
  • 机器学习之线性回归
  • 数据结构02:排序算法
  • PyQt5 进度条详细示例与性能优化