k8s核心知识总结

写在前面

时间一下子到了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(联合文件系统),核心分为以下几个层次

在这里插入图片描述

3、kubernetes

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.mzph.cn/pingmian/49969.shtml

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

相关文章

系统架构设计师②:操作系统

系统架构设计师②:操作系统 操作系统作用 ①管理系统的硬件、软件、数据资源 ②控制程序运行 ③人机之间的接口 ④应用软件与硬件之间的接口 进程管理 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、…

qt表格模型视图

Qt 提供了一套强大的模型/视图框架,允许你以一种非常灵活和高效的方式显示和处理数据。在 Qt 中,表格视图(TableView)和模型(TableModel)是这种框架的一部分,常用于显示和编辑表格数据。 以下是…

利用Java调用银行卡二要素接口

一、什么是银行卡二要素? 银行卡二要素验证接口是一种 API 接口,主要用于验证用户提供的银行卡号与姓名这两个要素是否一致。 二、银行卡二要素作用及场景有哪些? 其作用是通过核验用户的身份信息,判断是否为目标用户本人操作&…

Apache Spark:深度解析

文章目录 引言Apache Spark 官网链接Spark 的原理1. 核心组件2. 弹性分布式数据集(RDD)3. 执行模型 基础使用1. 环境搭建2. 示例代码 高级功能1. DataFrame 和 Dataset2. 机器学习3. 流处理 优缺点优点缺点 结论 引言 Apache Spark 是一个快速、通用、可…

[Github] Github网络错误,与VPN代理相关

报错类型: OpenSSL SSL_connect: Connection was reset in connection to http://github.com:443 前提:计算机已经开了VPN代理,造成无法正常通过github完成push/pull等操作 解决方法: 在终端中输入: git config -…

Lua 复数计算器

Lua复数计算器 主要包括复数的加减乘除操作,以及打印 编写复数类 -- ***** 元类 ***** Complex {real 0, imag 0}-- 构造函数 function Complex:new(real, imag)local o o or {}o.real real or 0o.imag imag or 0setmetatable(o, self)self.__index selfr…

【初阶数据结构】8.二叉树(3)

文章目录 4.实现链式结构二叉树4.1 前中后序遍历4.1.1 遍历规则4.1.2 代码实现 4.2 结点个数以及高度等4.3 层序遍历4.4 判断是否为完全二叉树4.5层序遍历和判断是否为完全二叉树完整代码 4.实现链式结构二叉树 用链表来表示一棵二叉树,即用链来指示元素的逻辑关系…

space desk设备屏幕拓展软件

在正常开发的时候一般采用多个屏幕的方式来提高效率,这时就采用hdmi和vga拓展的形式,前提是屏幕但往往有电源以及续航不够的问题,不太方便出门在外的话 这时我就推荐大家使用软件无线连接的形式 进行软件下载下图为投影端可以在pc端下载 我…

如何保护您的 WordPress 不被黑?

明月可以说是见到过太多 WordPress 网站被黑的示例了,加上平时明月也会接一些 WordPress 疑难杂症的解决服务订单,所以这方面绝对是专业对口了。作为一个资深 WordPress 博客站长,谁都有被黑过的经历,都是一步步走过来的&#xff…

【数据结构】搜索二叉树

二叉搜索树 二叉树的博客 在之前的数据结构的文章中已经基本对二叉树有一定的了解,二叉搜索树也是一种数据结构,下面将对二叉搜索树进行讲解。 二叉搜索树的概念 二叉搜索树又称为二叉排序树,它或者是一棵空树,或者是具有下面性…

ObservableCollection新增数据前判断数据是否存在

public class MyDataModel {public int Id { get; set; }public string Name { get; set; }}public static void Main(){// 创建 ObservableCollectionObservableCollection<MyDataModel> myDataCollection new ObservableCollection<MyDataModel>{new MyDataMode…

[运维]解决Docker拉取镜像失败问题

问题描述 Docker 拉取镜像失败&#xff0c;报错如下&#xff1a; error pulling image configuration: download failed after attempts6: read tcp 192.168.10.2:55372->104.16.99.215:443: read: connection reset by peer一开始是xxx: Pulling fs layer&#xff0c;随后…

外贸SOHO如何选择企业邮箱

外贸SOHO&#xff08;Small Office Home Office&#xff09;企业正以前所未有的速度崛起&#xff0c;然而&#xff0c;要在这片竞争激烈的蓝海中立足&#xff0c;高效的全球通信能力、坚实的安全防线、成本效益的考量以及专业的品牌形象塑造&#xff0c;缺一不可。本文旨在为外…

Python图形编程-在PyGame中使用OpenGL

在PyGame中使用OpenGL 文章目录 在PyGame中使用OpenGL1、使用PyGame初始化项目2、绘制物体3、迭代动画4、利用变换矩阵5、多重转换执行6、完整示例代码PyOpenGL是Python和OpenGL API之间的标准库,而PyGame是用于在Python中制作游戏的标准库。它提供了内置的图形和音频库,在本…

webStorm 实时模板笔记

文章目录 1、单斜杠效果 2、双斜杠效果 3、控制台打印效果 1、单斜杠 /** $END$ */效果 2、双斜杠 /*** $END$* author Ikun* since $DATE$ $TIME$ */DATE date() ✔ TIME time() ✔效果 3、控制台打印 console.log("███████$EXPR_COPY$>>>>&a…

前端调试合集(包含移动端/内嵌h5)

代码内使用方法 alert/console alert和console.log作为JS最基本的调试能力&#xff0c;提供了简易版的断点 (只能断一下) 和输出 (只能输出字符串) 能力&#xff0c;可以在代码运行到预期的位置输出预期的log&#xff0c;通过对不同流程下写入alert&#xff0c;输出变量的值来…

Java笔试分享

1、设计模式&#xff08;写>3种常用的设计模式&#xff09; 设计模式是在软件工程中解决常见问题的经验性解决方案。以下是一些常用的设计模式&#xff1a; 单例模式&#xff08;Singleton&#xff09;&#xff1a; 意图&#xff1a;确保一个类只有一个实例&#xff0c;并…

从0到1,AI我来了- (1)从AI手写数字识别开始

前两篇我们我们把控制台、Python环境Anaconda 搞定了&#xff0c;接下来&#xff0c;我们快速进入主题&#xff0c;把AI 界的“Hello World” 实现一下&#xff0c;有个感觉&#xff0c;再逐步了解一些AI的概念。 1、Pytorch 安装 1) 什么是Pytorch? 一个深度学习框架&#…

通信原理-实验六:实验测验

实验六 实验测验 一&#xff1a;测验内容和要求 测试需要完成以下几个步骤&#xff1a; 配置好以下网络图&#xff1b;占总分10%&#xff08;缺少一个扣一分&#xff09;根据下面图配置好对应的IP和网关以及路由等相关配置&#xff0c;保证设备之间连通正常&#xff1b;占总…

深入探讨 Java 语言的基本数据类型、字符串与数组

Java 语言自1995年推出以来&#xff0c;凭借其坚实的面向对象编程基础和跨平台特性&#xff0c;迅速成为全球最流行的编程语言之一。Java 的设计哲学之一是提供一套简单且高效的基本数据类型&#xff0c;同时具备强大的字符串处理和数组操作能力。本文将深入探讨 Java 的基本数…