k8s核心知识总结
创始人
2024-11-15 19:35:39
0

写在前面

时间一下子到了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镜像

相关内容

热门资讯

类型推断技术及仓颉语言实践 史磊仓颉语言类型推断技术专家一、一种看待类型系统的方式一门编程语言一定得包含类型系统吗?...
Spring为啥用三级缓存而不... 1. 背景介绍Spring框架:一个广泛应用于Java应用开发的轻量级容器框架。三级缓...
LLAma-Factory框架... 一、安装 LLaMA Factorygit clone --depth 1 https://gith...
人工智能未来展望 深入剖析人工智能:现状、挑战与未来展望在当今这个日新月异的科技时代,人工...
Stable Diffusio... 今天分享一个用Stable Diffusion换背景的小教程。在以往为产品或照片更换背景时ÿ...
动手学强化学习 第 17 章 ... 基于 https://github.com/boyu-ai/Hands-on-RL/blob/mai...
关于信创终端的10个基础问题与... 原文链接:关于信创终端的10个基础问题与答复1. 龙芯架构(LoongA...
项目实战——外挂开发(30小时... 项目实战——外挂开发(30小时精通C++和外挂实战)外挂...
从HTTP2的多路复用,到与T... 在讨论题目之前无疑涉及到两个知识点:什么是HTTP什么是TCP在了解以上连个知识点后&...
一文讲透如何使用CSS美化HT...         上一篇文章(初识HTML文件,创建自己的第一个网页!)介...