InfraPub 为您找到相关结果 263

Kubernetes源码探疑:Pod IP泄露排查及解决方法

和流程。 kubelet是kubernetes集群中Node节点的工作进程。当一个Pod被kube-sheduler成功调度到Node节点上后, kubelet负责将这个Pod创建出来,并把它所定义的各个容器启动来。kubelet也是按照控制器模式工作的,它的工作核心是一个控制循环,源码中称之为syncLoop,这个循环关注并处理以下事件: Pod更新事件,源自API Server;Pod生命周期(PLEG)变化, 源自Pod本身容器状态变化, 例如容器的创建,开始运行,和结束运行;kubelet本身设置的周期同步(Sync)任务;Pod存活探测(LivenessProbe)失败事件;定时的清理事件(HouseKeeping)。 在上文描述的CronJob任务中, 每次运行Job任务都会创...阅读全文

深入理解Golang之context

。这个时候context就派上用场了。我们首先看看context的结构设计和实现原理。context是什么context接口先看Context接口结构,看来非常简单。type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() error Value(key interface{}) interface{} } Context接口包含四个方法:Deadline返回绑定当前context的任务被取消的截止时间;如果没有设定期限,将返回ok == false。Done 当绑定当前context的任务被取消时,将返回一个关闭的channel;如果当前context不会被取...阅读全文

博文 2021-01-27 09:05:27 知乎

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。 一、perf 命令 让我们从 perf 命令(performance 的缩写)讲,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。 通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。 $ sudo perf record -F 99 -p 13204 -g -- sleep 30 上面的代码中,perf record表示记录,-F 99表示每秒99次,-p 13204是进程号,即对哪个进程进行分析,-g表示记录调用栈,sleep 30则是持续30秒。 运行后会产生一个庞大...阅读全文

博文 2022-03-11 10:05:09 博客园

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

/customer# vgs VG #PV #LV #SN Attr VSize VFree hdd 1 9 0 wz--n- 2.73t 31.84g s163941-vg 1 2 0 wz--n- 223.33g 0 运行 lvs 和 vgs 发现之前的 VM 硬盘 还在,fdisk 格式化一下 看来 nocix 后台的 wipe hard disk 没作用 1fdisk /dev/sdb m 可以查看帮助菜单 输入 p 回车,d 回车,w 回车 命令说明:p 打印分区d 删除分区w 写入更改 过程如下:123456789101112131415161718192021222324252627Command (m for help): pDisk /dev/sdb: 2.7 TiB...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

细数k8s支持的4种类型的container - 侃豺小哥

一的数据模型。通过使用复合容器的适配器模式,您可以通过创建Pod来将来自不同系统的异构监视数据转换为一个统一的表示形式,该Pod将应用程序容器与知道如何进行转换的适配器分组在一。同样,由于这些Pod共享名称空间和文件系统,因此这两个容器的协调非常简单明了。 增强主容器功能。Sidecar容器扩展并增强了“主”容器,它们可以使用现有的容器并使它们变得更好。例如,考虑一个运行Nginx Web服务器的容器。添加另一个将文件系统与git存储库同步的容器,在这些容器之间共享文件系统,并且您已经构建了Git Push-to-deploy。但是您已经以模块化的方式完成了此工作,其中git同步器可以由不同的团队构建,并且可以在许多不同的Web服务器(Apache,Python,Tomcat等)上重复使用...阅读全文

博文 2021-08-20 11:45:32 博客园

HTML 5.1 — 14 项新增特性及使用案例

5.1 中被引入的新的功能特性和功能提升。你不需要动 JavaScript 就可以利用上这些功能特性。并非所有的浏览器都支持这些功能特性,因此你最好是在将它们应用于生产环境之前先检查一下浏览器的支持情况。 14. 预防网络钓鱼攻击 大多数使用 target='_blank' 的开发者都不了解一个事实——最新打开的标签可以改变 window.opener.location 到一些钓鱼网页。它将会在已打开的网页,以你的名义执行一些恶意 JavaScript 代码。因为用户相信已经打开的网页,他们不会疑心。 为了彻底解决这个问题,HTML5.1 已经标准化 rel=”noopener”的使用属性,与浏览器的上下文环境分开。rel=”noopener” 允许在 标签之间使用...阅读全文

博文 2021-01-28 17:50:20 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

就不足为奇了。但是,有一些关键差异可能会帮助您决定使用哪个。tbody>Thanos>Cortex演练让我们通过安装一个真实的示例并通过多个Prometheus和Grafana对其进行配置以可视化数据来试用Cortex。git clone https://github.com/kanuahs/cortex-demo.git cd cortex-demo Prometheus and Cortex with Docker Compose为了简单设置,我们将使用docker-compose启动以下服务:三个Prometheus容器Consul三个Cortex容器Grafana为了简单见,我们将使用多功能的cortex配置。这将cortex作为一个独立的应用程序运行。我们将运行它的三个实例来检查...阅读全文

博文 2021-10-09 17:00:22 知乎

HTTP状态码详解

含所有本应该返回200响应中应当返回的所有实体头部域。 假如 ETag 或 Last-Modified 头部不能精确匹配的话,则客户端缓存应禁止将206响应返回的内容与之前任何缓存过的内容组合在一。 任何不支持 Range 以及 Content-Range 头的缓存都禁止缓存206响应返回的内容。 207 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。 3xx 重定向 这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。 当且仅当后续的请求所使用的方法是 GET 或者 HEAD 时,用户浏览器才...阅读全文

博文 2021-01-28 17:50:11 debian.cn

六大算法之三:动态规划【转载】

[i]>max){ max = temp[i]; } } return max; } 3、数组最大连续子序列和 如arr[] = {6,-1,3,-4,-6,9,2,-2,5}的最大连续子序列和为14。即为:9,2,-2,5 创建一个数组a,长度为原数组长度,不同位置数字a[i]代表0...i上最大连续子序列和,a[0]=arr[0]设置一个最大值max,初始值为数组中的第一个数字。当进来一个新的数字arr[i+1]时,判断到他前面数字子序列和a[i]+arr[i+1]跟arr[i+1]哪个大,前者大就保留前者,后者大就说明前面连续数字加来都不如后者一个新进来的数字大,前面数字就可以舍弃,从arr[i+1]开始,每次比较完都跟max比较一下,最后的max就是最大值。 public...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Apache Flink 1.14 新特性预览 - OSCHINA

Java 最长代码限制,新的代码生成器会对代码进行拆解,彻底解决代码超长的问题。 ■ 1.3 移除 Flink Planner 新版本中,Blink Planner 将成为 Flink Planner 的唯一实现。 2. Python API 在之前的版本中,如果有先后执行的两个 UDF,它的执行过程如下图左方。在 JVM 上面有 Java 的 Operator,先把数据发给 Python 下面的 UDF 去执行,执行后又发回给 Java,然后传送给下游的 Operator,最后再进行一次 Python 的这种跨进程的传输去处理,会导致存在很多次冗余的数据传输。 在 1.14 版本中,改进如右图,可以把它们连接在一,只需要一个来回的 Java 和 Python 进行数据通信,通过减少传输数据次数...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

7大维度看国外企业为啥选择gRPC打造高性能微服务

,基于RESTful API的工具。 不幸的是,这感觉就像试图将简单的方法调用变成一个数据驱动的RESTful界面。这满足了RESTful接口的verb,header,URL标识符,资源的URL和有效载荷的神奇组合,并做了一个清洁,简单,看来几乎不可能实现的功能界面。RESTful有很多规则和解释,在大多数情况下会导致REST ish接口,这需要花费额外的时间和精力来保持其纯度。 最终,考虑到RESTAPI的复杂性,我们找到了替代方案。希望微服务尽可能相互隔离,减少交互和解耦服务。它可以让企业在很短的时间内创造出一个可行的服务,并防止跳过hoops。 评估REST的替代方案 不要轻易选择通信框架。大型组织(如Netflix)可以拥有超过500+个微服务的后端系统。迁移这些服务以取代不充分的服...阅读全文

博文 2018-03-19 17:51:32 debian.cn

HAProxy用法详解 最详细中文文档

> len 捕获并记录指定的请求首部最近一次出现时的第一个值,仅能用于“frontend”和“listen”区段。捕获的首部值使用花括号{}括来后添加进日志中。如果需要捕获多个首部值,它们将以指定的次序出现在日志文件中,并以竖线“|”作为分隔符。不存在的首部记录为空字符串,最常需要捕获的首部包括在虚拟主机环境中使用的“Host”、上传请求首部中的“Content-length”、快速区别真实用户和网络机器人的“User-agent”,以及代理环境中记录真实请求来源的“X-Forward-For”。 :要捕获的首部的名称,此名称不区分字符大小写,但建议与它们出现在首部中的格式相同,比如大写首字母。需要注意的是,记录在日志中的是首部对应的值,而非首部名称。 阅读全文

博文 2014-05-10 17:14:46 debian.cn

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

Conduct),以满足不同处理部门的特定需求,但截至2018年底,未见欧盟监管机构批准这类准则。 (e)由数据保护监管机构认可的证书(Certification Mechanism)。 (3)第三关,若不满足上述(1)、(2)两项,则判断企业集团内部是否建立有约束力的公司规则(BCR)并被监管机构批准: 各国主管监管机构可以批准某个企业集团内部制定了有约束力的公司规则(BCR),详细规定企业集团内部数据传输、对内对外的法律效力、数据保护原则的适用等要求。 针对数据跨境转移,BCR是较为推荐的模式,目前已采用BCR的跨国企业,包括德意志电信(Deutsche Telecom)、摩托罗拉(Motorola)、西门子(Siemens)等等。 这是种跨国数据转移的长效保障机制,通过BCR认证后,企业就无需再...阅读全文