Debian 爱好者社区 为您找到相关结果 236

Gitlab CI 配置文件 .gitlab

。 environment名称可以包含: 英文字母(letters) 数字(digits) 空格(spaces) - _ / $ { } 常用的名称有qa,staging,和production,当然你可以在你的工作流中使用任意名字。 除了在environment关键字右边跟name定义方法外,也是可以为环境名称单独设定一个值。例如,用name关键字在environment下面设置: deploy to production: stage: deploy script: git push production HEAD:master environment: name: production environment:url 注意: GitLab 8.11 开始引用。 在GitLab 8.11之前,URL只能在...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

也是吸引用户的关键因素之一。 开发一个新版本就必定会面临新的编程难题。不过 Murdock 自有他的「秘密武器」: 我倒是无知者无畏,因为不了解自己将会面对什么,于是也就无所畏惧。我只知道我的目标和方向,但我当时完全不知道这一路会有多艰难。除此之外,Debian 的「分散式」定位就是用户可以时参与开发过程前来帮忙。Debian 是开放式的,因此有些我不精通的地方我可以向公众寻求帮助。比如我有个 2400 波特的调制解调器,但是我这辈子都没用过以太网卡,所以关于这方面我实在了解不多;但是有人肯定比我精通,可以帮我们忙。 Murdock 指出,Debian 的这个优势其实也同样是 Linux 和其他所有免费软件的最大武器。 这就是为什么 Linux 这样的软件质量会如此之高,因为它并不是单单为...阅读全文

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

分布式运行时 Dapr 知多少

常见做法。 那如何解决侵入性的问题呢?这个问题着容器编排技术的成熟有了新的解法。Kubernetes可以不侵入应用层,在容器层解决问题,比如K8S Service就具有服务发现、负载均衡的能力,HPA具有动态扩容的能力。着K8S的快速发展,云原生的概念,也就越来越深入人心,那如何利用好K8S提供的基座能力,将更多的分布式能力下沉,让应用开发回归业务呢?其中Service Mesh提出的Sidecar模式,就很好的解决了微服务架构中网络通信的问题。Sidecar主要就是用来处理诸如服务发现、负载均衡、请求熔断等一系列非业务需求,应用在部署时动态插入Sidecar,服务间的通信通过Sidecar进行代理,以完成对服务间网络通信的接管。 到这里,微服务开发在Service Mesh的帮助下,已...阅读全文

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

本文记录如何从 Debian 安装 Proxmox VE,以及配置 IPv4 和 IPv6 网卡,为硬盘分区。 预配置系统装好后,从 NOCIX 后台面板取得 登陆用户名 和 密码。 用户名是 customer密码是一串机生成的字符串 使用 su 切换到 root 还需要输入密码,这样频繁操作比较麻烦。 免密登陆 root安装 sudo 实现免密 su 12apt updateapt install -y sudo 修改 /etc/sudoers 文件注意:只能用 visudo 交互式来修改 sudoers 文件 这是为了防止被脚本修改,就别想用 echo 来改了 visudo 会验证配置的格式,如果不验证,而你写的配置有问题,那么你无法切换到 root,而只有 root 用户才能修改...阅读全文

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

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载意,请注明来源,文章持续修订。 由来 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。我想主要是由于内存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花式功能,可是相对于 CPU,它们又太慢。于是它们之间就需要一种润滑剂来作为缓冲,这就是内存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。 虚拟内存简单直观的解释 操作系统有一块物理内存(中间的部分),有两个进程(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个内存...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Apache Kafka发布 3.0 正式版

费者和管理客户端KIP-630:Kafka Raft 快照我们在 3.0 中引入的一个主要功能是 KRaft 控制器和 KRaft 代理能够为名为 __cluster_metadata 的元数据主题分区生成、复制和加载快照。Kafka 集群使用此主题来存储和复制有关集群的元数据信息,如代理配置、主题分区分配、领导等。着此状态的增长,Kafka Raft Snapshot 提供了一种有效的方式来存储、加载和复制此信息.KIP-746:修改 KRaft 元数据记录自第一版 Kafka Raft 控制器以来的经验和持续开发表明,需要修改一些元数据记录类型,当 Kafka 被配置为在没有 ZooKeeper (ZK) 的情况下运行时使用这些记录类型。KIP-730:KRaft 模式下的生产者 ID...阅读全文

博文 2021-09-26 14:13:03 joseph

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

对于云主机与云主机之间,只有轻微差异(小包场景下,pps 会有 3~5% 损耗),而且Pod网络性能各项指标(吞吐量,包量,延迟等)不会着节点规模增大而削减。而Flannel UDP,VXLan模式和Calico IPIP的模式存在明显的性能消耗。Pod能直通公有云和物理云。对于使用公有云和物理云的用户而言,业务上K8S少了一层障碍,多了一份便利。而Flannel的host gw模式下,容器无法访问公有云和物理云主机。 而CNI的工作流程如下所示。 创建Pod网络过程: 删除Pod网络过程: Pod IP 消失问题的排查与解决 为了测试CNI插件的稳定性,测试同学在UK8S上部署了一个CronJob,每分钟运行一个Job任务,一天要运行1440个任务。该CronJob定义如下...阅读全文

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

。 这是什么意思? 在接下来的几周内,我将: 将包转交给相应的维护团队从其他维护者的包的Uploaders字段中删除自己的名字对于那些只有我在维护的包,那就任其自生自灭吧 我将尽最大努力维护manpages.debian.org服务(https://manpages.debian.org/)和codesearch.debian.net服务(https://codesearch.debian.net/),但是时欢迎别人来帮忙。 请所有人都当我永远休假去了。我会尽力解决管理的问题(例如许可转移等),如果有人直接向我提问,而且问题很容易回答的话,我也会尽力回答。 为什么? 当年加入Debian的时候,我还是一名学生,所以我有大量的业余时间。现在,经过5年多的全职工作,我从日常的工作中学到了很多知识...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

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

一方面通过具体列举为企业提供了相对明确的判定指引,以试图一定程度上避免交易双方对“个人数据”范围达不成一致的情况,也可以针对诸如面部识别、声纹识别、虹膜识别等新技术领域出现的存在标识属性的个人信息进行更加明确的界定。 当然,CCPA这种列举式定义优劣参半,可能出现“挂一漏万”的情况,需不断根据着技术发展而新产生的数据类型进行修订。 2. 管辖权原则:GDPR规定复杂覆盖面广,CCPA规定简练聚焦重点 2.1.1 GDPR的管辖权原则——属地+属人+保护性管辖,逻辑复杂,范围广泛 按照传统的定义,GDPR的管辖原则为 “属地管辖”+“属人管辖”+“保护性管辖”的结合。 (1) 属地管辖:GDPR管辖任何发生在欧盟境内的数据处理行为; (2) 属人管辖:数据控制者和处理者的经营场所...阅读全文

Apollo 配置中心简单介绍

, ctrip apollo, disconf, hawk 等配置中心的功能点。综合比较下来携程apollo 更具有优势。 二、简单介绍携程Apollo配置中心 1、What is Apollo 1.1 背景 着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。 Apollo配置中心应运而生! 1.2 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范...阅读全文

博文 2021-04-09 17:53:51 CSDN

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

一、当 Kubernetes 成为云原生事实标准,可观测性挑战之而来当前,云原生技术以容器技术为基础,通过标准可扩展的调度、网络、存储、容器运行时接口来提供基础设施。同时,通过标准可扩展的声明式资源和控制器来提供运维能力,两层标准化推动了开发与运维关注点分离,各领域进一步提升规模化和专业化,达到成本、效率、稳定性的全面优化。在这样的大技术背景下,越来越多的公司引入了云原生技术来开发、运维业务应用。正因为云原生技术带来了越发纷繁复杂的可能性,业务应用出现了微服务众多、多语言开发、多通信协议的鲜明特征。同时,云原生技术本身将复杂度下移,给可观测性带来了更多挑战:​1、混沌的微服务架构,多语言和多网络协议混杂业务架构因为分工问题,容易出现服务数量多,调用协议和关系非常复杂的现象,导致的常见问题...阅读全文

博文 2022-03-21 09:11:51 joseph

Kafka 3.0新特性全面曝光,真香!

,选票会被瓜分,有可能没有选出领导人,那么,将会开始另一个任期,并且立刻开始下一次选举。Raft算法保证在给定的一个任期最多只有一个领导人。Leader选举的过程Raft使用心跳来进行触发leader选举,当服务器启动时,初始化为follower角色。leader向所有Follower发送周期性心跳,如果Follower在选举超时间内没有收到Leader的心跳,就会认为leader宕机,稍后发起leader的选举。每个Follower都会有一个倒计时时钟,是一个机的值,表示的是Follower等待成为Leader的时间,倒计时时钟先跑完,就会当选成为Leader,这样做得好处就是每一个节点都有机会成为Leader。当满足以下三个条件之一时,Quorum中的某个节点就会触发选举:向Leader...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

Redis 命令、特性介绍与性能调优

field对应对象的field即可。 Hash的优点包括: 可以实现二元查找,如”查找ID为1000的用户的年龄” 比起将整个对象序列化后作为String存储的方法,Hash能够有效地减少网络传输的消耗 当使用Hash维护一个集合时,提供了比List效率高得多的机访问命令 与Hash相关的常用命令: HSET:将key对应的Hash中的field设置为value。如果该Hash不存在,会自动创建一个。时间复杂度O(1) HGET:返回指定Hash中field字段的值,时间复杂度O(1) HMSET/HMGET:同HSET和HGET,可以批量操作同一个key下的多个field,时间复杂度:O(N),N为一次操作的field数量 HSETNX:同HSET,但如field已经存在,HSETNX不会进行任...阅读全文

博文 2018-10-27 10:37:55 debian.cn

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

些AI应用还可令科学家如虎添翼。在他眼中,AI是一个可以孵化出无数工具,推动各行各业前进的基础平台。 着AI行业的不断进步,AI应用不再只是充斥着行业热词的纸上项目,已经发展为成熟的工具,助力多个行业的生产服务,也必将催生出无数新企业。 各种AI工具已显现出巨大的日常应用潜力,可以实现人类的各种想法,改善人类的工作方式,比如由Stability.ai发布的开源Stable Diffusion模型,Microsoft和OpenAI联合打造的AI编程工具Copilot,OpenAI开发的语言生成模型GPT-3和图像生成平台DALL-E以及爆火的聊天机器人模型ChatGPT。 Sam Altman还表示,5年后,我们应该不会再使用Transformer模型了。虽然Transformer很好,但他...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

如何用 Privoxy 辅助科学上网

2002年就已经是 3.0.0 版本。这么多年,才升到 3.0.22,真够慢的。 选完版本号,然后你可以下载“exe 格式”或“zip 格式”。如果是“exe 格式”,就是一个安装文件,双击就可以安装(安装过程很容易,俺就不详述了);如果你选“zip 格式”,就是一个【绿色免安装】的压缩包。你把这个 zip 便解压到某个目录下,就可以用了。 俺本人比较喜欢“绿色软件”,所以每次都下载“zip 格式”。 ★基本使用 Privoxy 默认安装好就可以使用了。它默认会开启 HTTP 代理,端口号是 8118,绑定在 127.0.0.1 这个地址。 你把浏览器的 HTTP 代理作相应的设置,浏览器就会走 Privoxy 的 HTTP 代理。 为了检验你的浏览器是否正确配置了 Privoxy 的代理,你可...阅读全文

博文 2025-01-29 16:25:41 program-think.blogspot.com

隐私声明

关注册信息后方能使用,如果您无法提供此类信息,可能会不能使用对应服务。如果您注册了本网站,您可以时查阅或编辑您提交给本网站的个人信息,但出于安全性和身份识别的考虑,您可能无法修改注册时提供的初始注册信息及其他验证信息。 5. 用户发布信息 本网站的部分服务允许用户发布自己的信息、视频、照片、观点、博客等等,请注意上述内容自发布之时起成为公开信息,请在公布您的联系信息、财务信息或其他个人信息之前做出谨慎判断。我们将无法阻止上述信息以不符合本隐私权声明和适用法律法规的方式被使用。 6. 未成年人的个人信息保护 本网站非常重视对未成年人个人信息的保护。若您是18周岁以下的未成年人,在使用本网站的服务前,应事先取得您家长或法定监护人的书面同意。 7. 隐私权声明的更新...阅读全文

在TKE上使用Kubecost进行成本管理

的资源。例如,如果您的集群的利用率仅为25%,以资源的最大使用量和 Request 来衡量,则 Allocate idle costs 会按比例增加每个 pod/NS/Deployment 的成本到原来的4倍。 6. **图表选择**: 切换到条形图视图以查看所选窗口的汇总成本,或切换到时间序列视图以查看成本时间的变化。 7. **附加选项**: 查看其他选项以将成本数据导出为 CSV 或查看帮助文档。 ### Assets ![img](https://main.qcloudimg.com/raw/275c22510f157d3b3710aa147eb2f69f.png) Kubecost Assets 视图显示了按集群中单个资源细分的 Kubernetes 集群成本(例如,按节点、磁盘...阅读全文

Spinnaker 介绍 – Netflix 的持续交付平台

然避免不了,为了更加从容的应对这些故障,就搞了一个工具 Chaos Monkey 会机停止生产环境中的虚拟机,通过观察系统在真实故障中的表现来确保程序的健壮性,也通过实战来验证各种高可用技术是否靠谱。接着冒出了 Chaos Gorilla,会停止一整个可用域中的所有机器;最后还有Chaos Kong,直接停掉一整个 Region,非常有挑战精神(丧心病狂)。 为了更好的观察系统在故障时的情况,还研发了全局可视化系统,代号 Flux,可以将整个系统的逻辑架构和各服务之间的流量可视化在大屏幕上,效果图如下: 他们每个月有一个活动:将一个 Region 里的机器全部关掉,看 Netflix 服务是否正常。有兴趣看视频的可以移步这里。 另外,Netflix 除了云服务,还有自建CDN,即 Open...阅读全文

博文 2018-12-21 19:30:47 debian.cn

Golang 中的 channel 通道详解

channel的容量。对于内置的len函数,如果传入的是channel,那么将返回channel内部缓存队列中有效元素的个数。因为在并发程序中该信息会着接收操作而失效,但是它对某些故障诊断和性能优化会有帮助。package main import "fmt" func main() { ch := make(chan int, 10) // 创建一个最大容量为10的channel ch <- 233 ch <- 2 ch <- 3 fmt.Println(cap(ch)) // 10 fmt.Println(len(ch)) // 3 fmt.Println(<-ch) // 233 fmt.Println(len(ch)) // 2 } 向缓存Channel的发送操作就是向内部缓存队列的尾部插入元素...阅读全文

Ceph 12.2.0 正式版本发布, 代号 Luminous

Luminous的升级后,集群将尝试将现有池与已知应用(即CephFS,RBD和RGW)相关联。未与应用程序关联的使用池将生成健康警告,可以使用新命令手动关联任何未关联的池。ceph osd pool application enable RGW RGW支持最终用户请求服务,通过ElasticSearch进行RGW元数据搜索,并且还支持自定义元数据字段。 查询语言是一组RESTful API,用户可以通过其元数据来搜索对象。还添加了允许自定义元数据字段控制的新API。 RGW支持动态存储桶索引分片。着桶中的对象数量的增加,RGW将自动重新构建桶索引。不需要用户干预或桶大小容量规划。 RGW引入了上传对象的服务器端加密,用于管理加密密钥的三个选项有:自动加密(仅推荐用于测试设置),客户提供的类似于...阅读全文

博文 2017-08-31 13:36:49 debian.cn

Golang Context 探究

) (Context, CancelFunc) { return WithDeadline(parent, time.Now().Add(timeout)) } func WithDeadline(parent Context, d time.Time) (Context, CancelFunc) { // 如果父节点 context 的 deadline 早于指定时间。直接构建一个可取消的 context。 // 原因是一旦父节点超时,自动调用 cancel 函数,子节点也会之取消。 // 所以不用单独处理子节点的计时器时间到了之后,自动调用 cancel 函数 if cur, ok := parent.Deadline(); ok && cur.Before(d) { // The current...阅读全文

博文 2021-02-25 09:27:27 lxkaka

基于thanos搭建分布式prometheus

: path: /data/thanos-receive-data type: DirectoryOrCreate - name: thanos-receive-config configMap: name: thanos-receive-config 细节大家可以自己慢慢看,我讲一下关键: 用statefulset部署集群,因为这是一个有状态的存储集群,不能便漂移。 因为是分布式存储集群,要通过POD亲和性避免2个POD跑到1个Node上。 核心配置是声明receive集群的地址列表,这里利用headless service可以直接拿到每个POD的dns name,是有规则的。 每个thanos receive实例的启动参数中指定replica标签唯一标识它。 thanos-receive集群的...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

分布式任务调度平台 XXL

期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; 7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等; 8、故障转移:任务路由策略选择” 故障转移” 情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; 11、任务失败重试...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

Docker 17.06 社区版发布

配置信息: $ echo "This is a config" | docker config create test_config - $ docker service create --name=my-srv —config=test_config … $ docker exec -it 37d7cfdff6d5 cat test_config This is a config 证书轮换的优化 Swarm mode中内置的公钥基础设施(PKI)系统使得可以安全地部署一个容器调度系统。Swarmz中的节点使用双边TLS来认证、授权和加密他们之间,以及和Swarm其他节点的通讯。因为这些都依赖于证书,所以经常轮换很重要。自从Swarm mode伴Docker 1.12发布以来,已经能以一小...阅读全文

博文 2017-06-30 23:08:57 debian.cn

HTTP状态码详解

请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。 101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。 只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。 102 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 2xx 成功 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。 200 请求已成功,请求所希望的响应头或数据体将此响应返回。 201 请求已经被实现...阅读全文

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

最全的 DevOps 工具集合

本文最初发布于 Better Programming 博客,经原作者授权由 InfoQ 中文站翻译并分享。 着 DevOps 的出现频率越来越高,很多企业都在蠢蠢欲动,想要设计和开发 DevOps 平台。工欲善其事必先利其器,本文为大家总结了 DevOps 各个阶段可以选择的工具,也许 DevOps 平台的技术选型在这一篇文章中就可以完成。 DevOps 的目标是持续改进,因此技术选型也是分阶段的。 DevOps 技术类别 规划工具 在规划阶段最重要的是要制定共同的目标、保证透明度和赋权。目前业内比较常用的规划工具主要包括 GitLab、TaskTop、CollabNet VersionOne、Pivotal Tracker、Trello 和 Azure Boards。 GitLab...阅读全文

博文 2021-05-26 14:35:21 博客园

Debian 9 使用kubeadm创建 k8s 集群(下)

索运行Nginx的端口。 Kubernetes将自动分配一个大于30000的机端口,同时确保该端口尚未受到其他服务的约束。 要测试一切是否正常,请通过本地计算机上的浏览器访问http:// worker_1_ip : nginx_port或http://worker_2_ip : nginx_port 。 您将看到Nginx熟悉的欢迎页面。 如果要删除Nginx应用程序,请先从主节点删除nginx服务: kubectl delete service nginx 运行以下命令以确保已删除该服务: kubectl get services 您将看到以下输出: OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes...阅读全文

博文 2019-05-13 22:57:41 debian.cn

kubelet 中垃圾回收机制的设计与实现

如下: 当容器镜像挂载点文件系统的磁盘使用率大于--image-gc-high-threshold时(containerRuntime 为 docker 时,镜像存放目录默认为 /var/lib/docker),kubelet 开始删除节点中未使用的容器镜像,直到磁盘使用率降低至--image-gc-low-threshold 时停止镜像的垃圾回收。kubelet GarbageCollect 源码分析kubernetes 版本:v1.16GarbageCollect 是在 kubelet 对象初始化完成后启动的,在 createAndInitKubelet 方法中首先调用 kubelet.NewMainKubelet 初始化了 kubelet 对象,后调用...阅读全文

博文 2021-02-05 17:48:22 知乎

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

: Sidecar ... 总结 本文简单介绍了标准容器,sidecar容器,init 容器,ephemeral 容器 4种类型的containers。着kubernetes日益普及,我们需要充分掌握着几种类型容器原理和使用方法,才能更好地服务业务。 此外Sidecar容器将会成为未来软件交付的一种新的方式,参照Dapr等,不同的团队提供自己的功能容器,然后选择性注入Sidecar到主业务容器,实现解耦...阅读全文

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

在 Kubernetes 上扩展 TensorFlow 模型

MirroredStrategy、TPUStrategy 和 MultiworkerMirroredStrategy。它还实现了一个异步的 ParameterServerStrategy。你可以在这篇文章《[使用 TensorFlow 进行分布式训练](https://www.tensorflow.org/guide/distributed_training)》(*Distributed training with TensorFlow***)中阅读更多关于可用的 TensorFlow 分布策略以及如何在你的 TensorFlow 代码中实现这些策略。 Kubeflow 附了[TF Operator](https://github.com/kubeflow/tf-operator)和一个自定义的[TFJob...阅读全文

三个技巧 大幅减少 Docker 镜像体积

个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方式。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最终的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语句组合在一行命令中或许是一种很好的做法,就像上面的第一个例子那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记录...阅读全文

博文 2018-09-06 10:50:29 debian.cn

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

已知问题规模为n的前提A,求解一个未知解B。(我们用An表示“问题规模为n的已知条件”) 此时,如果把问题规模降到0,即已知A0,可以得到A0->B. 如果从A0添加一个元素,得到A1的变化过程。即A0->A1; 进而有A1->A2; A2->A3; …… ; Ai->Ai+1. 这就是严格的归纳推理,也就是我们经常使用的数学归纳法;对于Ai+1,只需要它的上一个状态Ai即可完成整个推理过程(而不需要更前序的状态)。我们将这一模型称为马尔科夫模型。对应的推理过程叫做“贪心法”。 然而,Ai与Ai+1往往不是互为充要条件,着i的增加,有价值的前提信息越来越少,我们无法仅仅通过上一个状态得到下一个状态,因此可以采用如下方案: {A1->A2}; {A1, A2->A3}; {A1,A2,A3...阅读全文

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

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

。即使用户空间的占用率提高一倍,其CPU占用率也仅为10%,这也解释了为何7层处理对性能影响有限这一现象。由此,在高端系统上HAProxy的7层性能可轻易超过硬件负载均衡设备。 在生产环境中,在7层处理上使用HAProxy作为昂贵的高端硬件负载均衡设备故障故障时的急解决方案也时长可见。硬件负载均衡设备在“报文”级别处理请求,这在支持跨报文请求(request across multiple packets)有着较高的难度,并且它们不缓冲任何数据,因此有着较长的响应时间。对应地,软件负载均衡设备使用TCP缓冲,可建立极长的请求,且有着较大的响应时间。 二,安装配置HAProxy 以下实验环境均为 Debian i686平台。 1,安装haproxy [root@LB ~]# apt-get...阅读全文

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

深入了解Docker背后的namespace技术

-rwxr-xr-x 1 nobody nogroup 8408 Nov 16 22:40 uts -rw-r--r-- 1 nobody nogroup 1694 Nov 16 22:36 uts.c 这是个很简单地例子,但是细想你会发现通过user namespace,可以以root权限在容器中运行(不是主机系统中的root)。不要忘记你可以时更改 ls -la到bash中,并通过shell深入了解namespace。 总结 本文中,我们回顾了mount,network,user,PID,UTS和IPC Linux namespace,并没有修改太多代码,只是增加了一些flag。复杂的工作集中在管理多个内核子系统的交互。就像我一开始提到的,namespace只是我们用来创建容器的一种工具,我希...阅读全文

博文 2015-05-17 10:03:00 debian.cn

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

)。 CRI 与 pause 容器 到了这个阶段,大量的初始化工作都已经完成,容器已经准备好开始启动了,而容器是由容器运行时(例如 Docker 和 Rkt)启动的。 为了更容易扩展,Kubelet 从 1.5.0 开始通过容器运行时接口与容器运行时(Container Runtime)交互。简而言之,CRI 提供了 Kubelet 和特定的运行时之间的抽象接口,它们之间通过协议缓冲区(它像一个更快的 JSON)和 gRPC API(一种非常适合执行 Kubernetes 操作的 API)。这是一个非常酷的想法,通过使用 Kubelet 和运行时之间定义的契约关系,容器如何编排的具体实现细节已经变得无关要。由于不需要修改 Kubernetes 的核心代码,开发者可以以最小的开销添加新的运行时。 不好...阅读全文

博文 2022-04-18 16:18:04 CSDN

说透IO多路复用模型_京东云开发者的博客

统资源,所以,着客户端的增多,其性能也就越差。 而边缘触发,由于监控的是FD的状态变化,所以整体的系统通知并没有那么频繁,高并发下整体的性能表现也要好很多。但是由于此模式下,用户需要积极的处理好每一笔数据,带来的维护代价也是相当大的,稍微不注意就有可能出错。所以使用起来须要非常小心才行。 至于二者如何抉择,诸位就仁者见仁智者见智吧。 行文到这里,关于epoll的讲解基本上完毕了,大家从中是不是学到了很多干货呢? 由于从netty研究到linux epoll底层,其难度非常大,可以用曲高和寡来形容,所以在这块探索的文章是比较少的,很多东西需要自己照着man文档和源码一点一点的琢磨(linux源码详见eventpoll.c等)。这里我来纠正一下搜索引擎上,说epoll高性能是因为利用mmap技...阅读全文

博文 2023-01-01 15:13:50 CSDN博客