k8s知识点总结
docker 名称空间 分类
Docker中的名称空间用于提供进程隔离,确保容器之间的资源相互独立。主要分类包括:
PID Namespace:进程ID隔离,使每个容器有自己的进程树,容器内的进程不会干扰其他容器或主机上的进程。
NET Namespace:网络隔离,允许每个容器拥有独立的网络栈,包括IP地址、端口、路由等。
IPC Namespace:进程间通信隔离,使容器内的共享内存和信号量独立,防止不同容器之间的通信干扰。
MNT Namespace:挂载点隔离,允许每个容器有自己的文件系统视图,不同容器的文件系统不会相互干扰。
UTS Namespace:主机名和域名隔离,使容器可以有自己的主机名和域名。
USER Namespace:用户和组ID隔离,允许容器内的用户和主机上的用户独立。
docker 网络模式
bridge(桥接模式):
默认模式,容器连接到Docker创建的桥接网络。每个容器都有一个独立的IP地址,可以通过该地址相互通信。
host(主机模式):
容器直接使用宿主机的网络栈,没有网络隔离。容器的网络接口与宿主机相同,适用于性能敏感的应用。
none(无网络模式):
容器没有网络连接,适用于需要完全隔离的场景。可以通过手动配置网络来实现特定需求。
overlay(覆盖网络):
用于Docker Swarm集群,允许不同主机上的容器相互通信。通过虚拟网络实现跨主机的容器通信。
macvlan:
允许容器获得物理网络接口的MAC地址,使其在网络上表现得像独立的物理设备。适用于需要直接访问网络的场景。
ipvlan:
类似于macvlan,但在IP层上实现。适用于需要简化网络管理的场景,能够更好地支持现有的网络架构。
pod类型
1 静态pod
静态Pod不存放在etcd存储里,而是存放在某个具体的 Node 上的一个具体文件中,并且只在此 Node 上启动运行。静态 Pod 是由 kubelet 进行管理的仅存在于特定 Node 上的 pod.它们不能通过 API Server 进行管理,无法与 ReplicationController,Deployment 或者 DaemonSet 进行关联,也无法进行健康检查
2 普通pod
普通的 Pod 一旦被创建,就会被存储到 etcd 中,随后会被 Kubernetes Master 调度到某个具体的 Node 上并进行绑定(Binding),该 Node 上的 kubelet 进程会将其实例化成一组相关的 Docker 容器并启动起来。当 Pod 里的某个容器停止时,Kubernetes 会自动检测到这个问题并且重新启动这个 Pod(重启Pod里的所有容器);如果 Pod 所在的 Node 宕机,则会将这个 Node 上的所有 Pod 重新调度到其他节点上运行。
pod调度原理
pod生命周期
Pending
APIserver已经创建该server,但pod内有一个或多个容器的镜像还未创建,可能在下载中。资源不够用,调度策略,网络
Running
Pod内所有的容器已创建,所有容器都是运行状态,活性检测过了,就绪检测还有 0/1 running
Succeeded
Pod 中的所有容器都已成功终止,并且不会再重启,正常执行任务完成退出的状态
Failed
Pod 中的所有容器都已终止,并且至少有一个容器是因为失败终止,容器以非 0 状态退出或者被系统终止。
Unknown
由于某种原因无法获取Pod的状态,比如 网络不通。
dnsPolicy 可以配置四种策略。
- None: 表示不使用集群、节点的解析,只使用dnsConfig中配置的解析。
- Default:表示使用节点上的域名解析配置。即pod内的dns配置与节点上的/etc/resolv.conf配置相同。
- ClusterFirst(默认配置):表示使用集群的DNS解析,即coreDNS中的解析。注意,如果同时设置hostNetwork为true的话,效果相当于Default策略。另外,如果coreDNS中配置了forward . /etc/resolv.conf或其他域名解析配置的话,ClusterFirst不仅可以解析到集群内部的服务,也可以使用节点resolv.conf配置的nameserver解析外部服务。
- ClusterFirstWithHostNet:一般配合hostNetwork配置使用。设置hostNetwork为true后,Pod会使用节点的网络命名空间,此时无法与集群内其他Pod通信,设置dnsPolicy为ClusterFirstWithHostNet后,会将coreDNS服务地址等集群DNS服务配置加入到resolv.conf中,实现使用节点的网络栈情况下与集群其他Pod通信。最终效果为Pod网络命名空间使用节点网络命名空间,DNS解析使用ClusterFirst配置的DNS解析。
相关文章:
k8s知识点总结
docker 名称空间 分类 Docker中的名称空间用于提供进程隔离,确保容器之间的资源相互独立。主要分类包括: PID Namespace:进程ID隔离,使每个容器有自己的进程树,容器内的进程不会干扰其他容器或主机上的进程。 NET Nam…...
论文阅读:三星-TinyClick
《Single-Turn Agent for Empowering GUI Automation》 赋能GUI自动化的单轮代理 摘要 我们介绍了一个用于图形用户界面(GUI)交互任务的单轮代理,使用了视觉语言模型Florence-2-Base。该代理的主要任务是识别与用户指令相对应的UI元素的屏幕…...
Windows on ARM上使用sherpa-onnx实现语音识别
Windows on ARM上使用sherpa-onnx实现语音识别 下载模型准备声音文件测试下载模型 模型所在的地址在这里(),通过git命令将模型下载下来 模型:hfd地址 git clone https://hf-mirror.com/csukuangfj/sherpa-onnx-streaming-paraformer-bilingual-zh-en将如下的代码保存成一个…...
Unity 打包AB Timeline 引用丢失,错误问题
1、裁剪 在 link.xml 添加 <assembly fullname"Unity.Timeline" preserve"all"/> 上面这一步我其实做了,但还是不行,各种搜索,不得解,还有创建一个空的Timeline 放到 Resources目录下的,也…...
【Kettle的安装与使用】使用Kettle实现mysql和hive的数据传输(使用Kettle将mysql数据导入hive、将hive数据导入mysql)
文章目录 一、安装1、解压2、修改字符集3、启动 二、实战1、将hive数据导入mysql2、将mysql数据导入到hive 一、安装 Kettle的安装包在文章结尾 1、解压 在windows中解压到一个非中文路径下 2、修改字符集 修改 spoon.bat 文件 "-Dfile.encodingUTF-8"3、启动…...
STM32的hal库在实现延时函数(例如:Delay_ms 等)为什么用滴答定时(Systick)而不是定时器定时中断,也不是RTC?
STM32的HAL库在实现延时函数(如Delay_ms等)时选择使用滴答定时器(Systick)而非定时器定时中断或RTC(实时时钟),主要基于以下几个原因: Systick定时器的优势 集成在NVIC中ÿ…...
刚刚买的域名被DNS劫持了怎么处理
在当今数字化的时代,域名作为网络世界的重要标识,对于个人和企业的在线业务都至关重要。然而,有时会遭遇令人头疼的问题,比如新买的域名被DNS劫持。这不仅会影响网站的正常访问,还可能导致用户信息泄露、业务受损等严重…...
递归 算法专题
递归题目技巧 什么是递归 函数自己调用自己的情况为什么会用到递归 本质: 主问题, 可以拆分成相同的子问题 子问题, 又可以拆分出相同的子问题如何理解递归? 宏观的看待递归的过程 1)不要在意递归的细节展开图 2)把递归的函数当成一个黑盒 3)相信这个黑盒一定能够完成这个任务…...
Logstash 迁移索引元数据(设置和映射)
https://help.aliyun.com/zh/es/use-cases/use-logstash-to-migrate-full-or-incremental-data-from-self-managed-elasticsearch-to-alibaba-cloud-elasticsearch 在进行数据迁移时,Logstash会帮助您自动创建索引,但是自动创建的索引可能与您待迁移的索…...
用python将pdf转成图片转换成对应的word文件
*科管系统**报告只能上传word,但是有些盖章文件只有pdf版本,因此有这个需求,目前市面上没这软件,只能自己python写一个。 要将PDF中的页面以图片的形式存储到Word文档中,你需要完成以下几个步骤: 从PDF中…...
list(c++)
list介绍 list是STL容器中的容器,且元素在容器中的位置是分散的并与大小无关。list的底层是双向链表,其优势是在任意位置插入和删除元素的时间复杂度为O(1),但无法通过“下标[ ]”直接访问元素,需要通过从头(尾&#…...
51单片机STC8G串口Uart配置
测试环境 单片机型号:STC8G1K08-38I-TSSOP20,其他型号请自行测试; IDE:KEIL C51; 寄存器配置及主要代码 STC8G系列单片机具有4个全双工异步串行通信接口;本文以串口1为例,串口1有4种工作方式…...
uni-app使用movable-area 实现数据的拖拽排序功能
文档地址 template部分 <movable-area :style"getAreaStyle"><movable-view class"table-row" v-for"v,i in move.list":key"v.id":y"v.y"change"handle_moving"direction"vertical"touchst…...
如何设置使PPT的画的图片导出变清晰
PPT画的流程图另存为图片 插入WORD不清晰的解决办法: 第一步:先调整PPT分辨率 根据此链接修改PPT默认的导出dpi 第二步:新建PPT准备 首先看想要保存的图的尺寸:点击图形-格式-长宽 新建一个ppt-设计-幻灯片大小-自定义大小 …...
和鲸科技 CEO 范向伟受邀揭牌启动南京大学 2024 级大学生人工智能素养大赛
2024 年 10 月 26 日,南京大学第十九届读书节在仙林校区图书馆举行开幕仪式。中国科学院院士、南京大学校长谈哲敏,校党委常委、副校长索文斌,原副校长、关工委主任闵铁军出席仪式,南京大学相关学院和职能部处负责人,以…...
NewStarCTF2024-Week4-Web-WP
目录 1、blindsql2 2、chocolate 3、隐藏的密码 4、ezcmsss 题目对勇师傅来说已经是开始上难度了所以这周没有AK 分享下自己做出来的题的解题思路 1、blindsql2 原本是在继续构造新的 payload,也测到了延时 打算去改上周的脚本,结果去跑的时候忘了将…...
Java学习Day56:暴打舔狗!(SpringBoot)
1.springboot简介 核心能力:Spring容器、日志、自动配置AutoCongfiguration、Starters web应用的能力:MVC、嵌入式Web服务器 数据访问(持久化):关系型数据库、非关系型数据库 强大的整合其他技术的能力 只要是Java中牛逼的技术,…...
RSA加密算法实现
Java实现RSA加密算法示例,包括密钥对的生成、加密和解密过程。首先需要导入Java的加密库,这些功能主要通过java.security和javax.crypto包提供。先生成了一个RSA密钥对,包括一个公钥和一个私钥。然后使用公钥加密了一个字符串,并使用私钥解密了加密后的字符串。加密和解密的…...
大数据新视界 -- 大数据大厂之优化大数据计算框架 Tez 的实践指南
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
java 中 List<T> 类型数据在 postgreSql 数据库中存储
一 属性添加注解 在类上面添加注解: TableName(autoResultMap true) 在字段上面添加注解: TableField(value "list", typeHandler UserHandler.class) private List<User> list new ArrayList<>(); 二 创建 UserHandler 类…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
