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

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镜像

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 构造函数的详解和new操作符
  • 项目架构知识点总结
  • 计算机网络(四)数字签名和CA认证
  • C#使用Clipper2进行多边形合并、相交、相减、异或的示例
  • 鸿蒙笔记--存储
  • Matplotlib : Python 的绘图库
  • 华清数据结构day5 24-7-22
  • 派可数据 助力制造企业数字化生产管理新能力提升
  • 每天五分钟深度学习:向量化方式完成逻辑回归m个样本的前向传播
  • Spark 解析嵌套的 JSON 文件
  • Linux取消U盘自动挂载
  • 5G智能防爆手持终端在石油化工行业中扮演着什么角色?
  • 【Android】碎片—动态添加、创建Fragment生命周期、通信
  • 阿里云ubuntu宝塔面板部署uni-app-flask-websocket前后端项目
  • oracle使用backup as copy方式迁移数据文件
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【译】理解JavaScript:new 关键字
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 0x05 Python数据分析,Anaconda八斩刀
  • avalon2.2的VM生成过程
  • fetch 从初识到应用
  • gitlab-ci配置详解(一)
  • js 实现textarea输入字数提示
  • ReactNative开发常用的三方模块
  • 京东美团研发面经
  • 使用权重正则化较少模型过拟合
  • 思否第一天
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 详解NodeJs流之一
  • 写代码的正确姿势
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #if 1...#endif
  • #Spring-boot高级
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (152)时序收敛--->(02)时序收敛二
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (笔试题)合法字符串
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (三分钟)速览传统边缘检测算子
  • (四)Controller接口控制器详解(三)
  • (学习总结16)C++模版2
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .Family_物联网
  • .gitignore文件—git忽略文件
  • .NET CORE 3.1 集成JWT鉴权和授权2