k8s核心知识总结

ops/2024/11/15 0:40:40/

写在前面

时间一下子到了7月份尾;整个7月份都乱糟糟的,不管怎么样,日子还是得过啊,
1、7月份核心了解个关于k8s,iceberg等相关技术,了解了相关的基础逻辑,虽然和数开主线有点偏,但是幸亏自己能够及时扭转回来
2、8月份打算正式回归flink主线任务,核心完成以下几点:redis的写入对比;思考一下未来的职业规划

PS:一场手术,似乎真的让我感觉度了个假;时刻记住工作的本质:遇到问题解决问题,不断学习重试自己

1、物理机、虚拟机、容器

在这里插入图片描述
虚拟化:保证主机上的空闲资源可以很好的被利用,避免资源浪费;但是计算资源、网络和I/O的损耗非常大,启动慢,Hypervisor可以理解为对虚拟机的管理;

容器:共用主机内核(Docker版本必须是宿主机的内核支持的),相比虚拟机要轻量级,docker本身是用来对容器进行管理的,容器技术是Linux提供的,容器技术:What’s a Linux container?
容器的本质是利用Linux kernel提供的隔离(namespace)和限制(CGroup)机制启动的特殊进程

注:Docker中,容器内必须运行一个前台进程,否则会默认退出

2、docker概述

2.1、docker生命周期

在这里插入图片描述
容器和镜像的关系可以理解为对象和类,或者java代码和java进程

  • build:通过dockerfile 创建一个镜像
  • tag:镜像本身可以进行版本迭代
  • push/pull:类似git的中央仓库,可以用来提交镜像文件(包括公有和私有)
  • load/save:拥有本地传输镜像文件
  • run/commit:镜像运行一个容器实例,或者提交一个镜像文件
  • start/stop:运行或停止一个容器

2.2、如何理解镜像?

参考链接:Docker镜像
Docker镜像的本质是利用UnionFS(联合文件系统),核心分为以下几个层次

在这里插入图片描述

kubernetes_32">3、kubernetes

kubernetes_33">3.1、kubernetes架构

最近初步了解了一下kubernets的相关知识,下图是对其架构进行的简单整理:
Master节点
1、API Server:提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心。
2、etcd:A distributed, reliable key-value store for the most critical data of a distributed system
3、Controller manager:控制不同类型的Pod符合用户定义要求;ReplicationController,控制同一类Pod精确符合用户定义要求,也支持pod更新
4、scheduler:指将 Pod 放置到合适的节点上,以便对应节点上的 Kubelet 能够运行这些 Pod

Node节点:
1、kube-proxy:责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和转发,从而实现K8s层级的虚拟转发网络。
2、kubelet:用于和master通信,并对通过和容器引擎交互,操作
3、Docker:容器引擎,用于创建容器,但是在k8s中,最小调度单位是pod(豌豆荚),你可以理解为pod是基于容器产生的;
label:格式是key-value数据,用于标记pod/资源
label selector:用于过滤符合要求的label
4、flannel:flannel介绍
CNI:容器网络接口,k8s的网络解决服务提供方选择的事flanel,必须遵循CNI(flannel支持网络配置,calico支持网络配置,网络策略)
在这里插入图片描述

3.2、Pod创建过程

下图显示了Pod的创建过程,对于k8s中的每个组件,我们都可以理解为是一个资源对象,类似与java中对象,存在声明周期,
参考链接:Pod管理

在这里插入图片描述

附录

Ubuntu 14.04 安装Docker
docker镜像


http://www.ppmy.cn/ops/89516.html

相关文章

【机器学习】正则化的基本概念以及正则化成本和梯度的示例

引言 在机器学习中,正则化(Regularization)是一种技术,用于减少模型复杂度,防止过拟合,并提高模型的泛化能力。通过在损失函数中添加一个额外的惩罚项,正则化鼓励模型学习更简单、更平滑的函数&…

如何将PyCharm 中使用 PDM 管理的 Django 项目迁移到 VS Code 并确保一切正常工作?

嗨,我是兰若姐姐,相信很多小伙伴都遇到过这种情况,使用pycharm用习惯了,想换个编辑器,比如换成vscode,今天就告诉大家,如果轻松切换到vscode 步骤 1:在 VS Code 中打开项目 打开 V…

【C++标准模版库】list的介绍及使用

list 一.list的介绍二.list的使用1.list 构造函数2.list 空间大小3.list 增删查改4.list 迭代器的使用1.正向迭代器2.反向迭代器 5.list 其他成员函数 三.vector与list关于sort性能的比较 一.list的介绍 C中的list标准模板库(STL)是C标准库中的一个重要组…

数据可视化(王者英雄数据分析)

目 录 第1章 绪 论 1.1 课题背景及研究目的 1.2 课题研究内容 第2章 课题概要及算法原理 2.1 课题概要 2.2 数据说明 2.3 关键技术 第3章 数据分析 3.1 数据统计分析 3.2 可视化分析 3.2.1数据读取及展示 3.2.2数据描述性分析 第4章 数据建模 4.1 数据预处理 4.2…

78.子集

给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 &#xff1a;总 // 注释的都为后来思考不必要的 class Solution {List<List<Integer…

电路元件基本知识详解

电路元件基本知识详解 在现代电子技术中&#xff0c;电路元件是构成各种电子电路的基本单元。它们各自具有不同的特性和功能&#xff0c;通过不同的连接方式实现多种多样的电路功能。本文将详细介绍几种常见的电路元件及其基本知识。 ### 一、电阻器 #### 1. 电阻器的基本概…

unity2D游戏开发16弹弓动画

清理动画器 选中PlayerObject,打开Animator,删除原来的四个状态 右键选择Create State |from New Blend Tree; 冲命名为Walk Tree 双击Walk Tree查看Blend Tree Graph 设置属性为2D Simple Directional,再点击加号选择Add Motion Field 添加四个,如图 点击Base Layer

el-table 表格序号列前端实现递增,切换分页不从头开始

<el-table-column type"index" width"55" label"序号" :index"hIndex"> </el-table-column> 分页 <el-pagination size-change"handleSizeChange" current-change"handleCurrentChange"> <…