InfraPub 为您找到相关结果 94

在 Kubernetes 上扩展 TensorFlow 模型

](https://www.kubeflow.org/docs/components/training/tftraining/)资源,可以轻松创建上面提到的 TensorFlow 分布式策略。TFJob 可以识别容器化的 TensorFlow 代码中定义的分布式策略,并可以使用一组内置和控制逻辑对其进行管理。使得在 Kubeflow 中实现 TensorFlow 的分布式训练成为可能的包括: - Chief:组织分布式训练并执行模型检查点。 - Parameter Server:协调异步分布式训练和计算梯度。 - worker:执行学习任务。 - Evaluator:计算和记录评估指标。 上述可以在 TFJob 中配置,TFJob 是一个用于 TensorFlow 训练的 Kubeflow...阅读全文

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

询时必须提供相同的值。在下面的例子中,这个headers是使用nginx反向代理设置的。架构图Cortex架构(源)Nginx/gateway–一个位于cortex前面的反向代理,将收到的所有请求转发给相应的服务。分发服务器Distributor–处理传入的指标,将其拆分为多个批次,然后将其传递给Ingesters。如果复制因子replication factor设置为> 1,则数据将发送到多个实例。接收器Ingester–此服务负责将数据写入已配置的存储后端。Ingester是半状态的,因为它们保留了最后12个小时的样本。这些样本将被批处理并压缩,然后再写入块存储。查询前端Query Frontend–一个可选,用于对查询请求进行排队,并在失败时重试它们。结果也被缓存以提高性能查询器...阅读全文

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

Ubuntu 17.04(Zesty Zapus)正式版发布

。但是 Ubuntu 17.04(Zesty Zapus)仅配备有最新的和应用程序。 Ubuntu 17.04(Zesty Zapus)的默认桌面环境仍然是 Unity 7,所以你钟爱的 Ubuntu 桌面环境此刻还没有消失。在未来的 Ubuntu 17.10 中,Unity 依然可用,Ubuntu 17.10 将在下个月开始开发。之后,从 Ubuntu 18.04 LTS 开始,将默认使用 GNOME 桌面。 默认使用 Unity 7 桌面 Ubuntu 17.04 有一些新的特性: 免驱动打印 交换文件 不再支持 32 位 PPC 架构 伴随其他有趣的技术一起装载在 Ubuntu 17.04 的最终发行版上,最值得一提的是交换文件,对于新安装的系统来说可以用它来替代交换分区。所以如果你...阅读全文

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

Docker更名Moby,也是无奈之举

宣布推出“Moby项目”,将其旗下的Docker产品(包括DockerCE与Docker EE两款商用产品)从Docker开源项目当中剥离出来。同时,Moby也将成为面向特定基础设施创建定制化容器软件的重要起点。 在接受电话采访时,Docker公司市场营销与社区高级副总裁David Messina指出,DockerCon大会与会者已经得到了这一明确通告。 Messina表示,“Moby项目属于Docker项目的全新上游”,用户将可利用该开源代码库克隆出自己需要的系统。 Messina同时承认此次更名在一定程度上可能引发误解。他指出,“无论何时,开源世界中的重大改进总会引发混乱,但我们并不是有意要制造麻烦。” 尽管如此,该公司于两年前决定将其容器软件从基础设施(包括runc...阅读全文

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

Linux Systemd被爆远程漏洞 CVE-2017

"dns_packet_new" 函数中, 它是一个 dns 响应处理程序, 它为本地应用程序提供网络名称解析。 根据星期二发布的一个公告, 当系统试图在攻击者控制的 dns 服务上查找主机名时, 经过精心构造的恶意 dns 响应,可以远程崩溃 " systemd-resolved " 程序。 最终, 大量 dns 响应会溢出目标计算机的缓冲区, 从而使攻击者改写其内存,引发远程代码执行。这意味着攻击者可以通过其恶意的 dns 服务,在目标系统或服务器上,远程执行任何恶意软件。 ubuntu 开发者Chris Coulson在开发规范中这样描述, “直到 233版本的 systemd , certain sizes passed to dns_packet_new in systemd-resolved can...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

英特尔放出Linux微代码以修复Meltdown和Spectre漏洞

识别码。 Windows用户同样可以使用微代码来完成更新,但是这些针对Windows的微代码补丁得等到微软首先完成测试之后才会正式发布。 在Linux中使用新版本的微代码数据文件 对于Linux用户来说,可以轻松地使用新版本的微代码数据来更新Linux发行版,因为这些微代码文件一般都是以系统更新的形式推送给用户的。为了安装新版本的微代码补丁,最好的方法就是使用Linux发行版自带的Package管理器来完成安装。 对于Debian和Ubuntu发行版的用户来说,可以使用apt命令来安装Intel的微代码数据包。除了更新补丁之外,Package管理器还会安装例如iucode-toll之类的其他依赖。Redhat以及CentOS用户还可以使用yum并搜索microcode_ctl来完成更新...阅读全文

博文 2018-01-17 23:26:58 debian.cn

Angular 6.0 即将发布 承诺更小更快更易用

依赖项的版本。 根据 Fluin 的说法,它可以执行代码修改和转换,使代码符合最新的最佳实践。 “我们想回到平衡稳定性和创新的核心理念上,因此,要在这些工具的工作方式和更新代码方面突破界限。”Fluin 说。 该团队还添加了 ng add 命令 ,可以执行诸如将应用程序转变为 Progressive Web App 或将 NativeScript 添加到现有项目等功能。 版本 6 的另一个预期功能是用于 Angular Material 和 Component Dev Kit 的树。 除了 6.0 版之外,该团队正在重写视图引擎并增加对 Bazel 的支持。...阅读全文

博文 2018-04-24 09:41:33 debian.cn

高性能日志采集工具 logpipe 简单介绍

日志文件增长,某些应用会在目标目录下产生多个日志文件甚至现在不能确定将来的日志文件名,架构上要支持多输入多输出流式日志采集传输,为了达成以上需求,我研究了所需技术,评估实现难度并不高,就自研了 logpipe。 logpipe 是一个分布式、高可用的用于采集、传输、对接落地的日志工具,采用了插件风格的框架结构设计,支持多输入多输出按需配置用于流式日志收集架构,无第三方依赖。 logpipe 的一种用法是能异步实时监控集群里的所有日志目录,一旦有文件新增或追加写,立即采集并传输到大存储上以相同日志文件名合并落地,或者写入 HDFS。异步意味着不影响应用输出日志的性能,实时意味着一有日志立即采集,很多日志采集工具如 flume-ng、logstash 介绍文档通篇不提采集方式是否实时还是周期...阅读全文

Kubernetes调度算法浅析

给每个节点和待分配的pod进行打分。1.首先可用的node和pod会被打分函数进行打分,分数在0-10分之间。并且每个打分函数还有一个权重值。那么一个可用的node节点最后的总分就是:Σ函数打分*函数的权重值。 node节点总分 =(函数1的打分 * 函数1权重值)+......+(函数n的打分 * 函数n的权重值) 2.打分函数即优先级函数的种类: 这里只介绍了一部分的优先级函数算法,还有许多算法在这里未解释有兴趣的小伙伴可以上网查一下哦。 小结 kube-scheduler将整个集群资源调配变得很科学。比如该如何分配pod的副本到其他的node节点中,或者如何分配pod使得集群运转的更加高效。此外kube-scheduler还支持第三方的调度器进行扩展,所以是一种插件化的实现。...阅读全文

博文 2020-12-20 11:01:10 debian.cn

ChaosMesh 的基本功能有哪些

混沌实验场景,以及方便地将已有的混沌实验场景复用到其他应用混沌实验中,大大降低了混沌实验的成本。目前混沌实验场景提供的功能有:编排串行混沌实验编排并行混沌实验支持状态检查步骤支持中途暂停混沌实验支持使用 YAML 文件定义和管理混沌实验场景支持通过 Web UI 定义和管理混沌实验场景具体的实验场景配置,参考具体创建 Chaos Mesh Workflow。可视化操作​Chaos Mesh 为用户提供了单独的 Chaos Dashboard ,即可视化支持。Chaos Dashboard 极大地简化了混沌实验,用户可以直接通过可视化界面来管理和监控混沌实验,仅需点一点鼠标就能够定义混沌实验的范围、指定混沌注入的类型、定义调度规则,以及在界面上获取到混沌实验的结果等。​安全保障​Chaos...阅读全文

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

并到所使用的 LTS 版本。 因此谷歌转向了滚动更新发行版,不过它没有选择知名的滚动更新发行版 Arch Linux,而是基于 Debian 测试分支构建了 gLinux Rodete (Rolling Debian Testing)。 选择 Debian 是因为它有着庞大的社区和软件库,还可以使用 Debian 格式的现有内部软件包和工具。而且 Ubuntu 也是基于 Debian,迁移过去更容易顺畅。 Debian 稳定分支也是差不多两年发布一次大更新,但其测试分支是滚动更新的。滚动更新意味着需要尽可能防止新版本对现有工作流程造成破坏,为了管理从源代码构建所有上游软件包的所有这些复杂任务,谷歌构建了一个名为 Sieve 的工作流系统。通过运行一个虚拟化测试套件,确保核心和开发者工作流...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

总结系统设计中的33个黄金法则

数据库。 6. 拥有复杂的数据(视频、图像、文件)——选择 Blob/对象存储。 7. 复杂的计算——使用消息队列和缓存。 8. 海量数据搜索——考虑搜索索引、尝试搜索引擎。 9. 扩展 SQL 数据库 — 实施数据库分片。 10. 高可用性、性能和吞吐量 — 使用负载均衡器。 11. 全球数据交付——考虑使用 CDN。 12. 图形数据(具有节点、边和关系的数据)——利用图形数据库。 13. 扩展各种——实现水平扩展。 14. 高性能数据库查询——使用数据库索引。 15. 批量作业处理——考虑批处理和消息队列。 16. 服务器负载管理和防止 DOS 攻击 - 使用速率限制器。 17. 微服务架构——使用 API 网...阅读全文

Netty+Nacos+Disruptor自研企业级API网关

程: 1. 搭建环境 首先,我们需要安装Node.js和NestJS CLI,并创建一个NestJS项目。然后,我们需要安装TypeScript、GraphQL、TypeORM和其他依赖库。 2. 设计数据模型和API 在设计数据模型和API时,我们需要定义GraphQL Schema和TypeORM实体类。为了提高可维护性,我们可以使用代码生成工具进行自动化生成。 3. 实现后端功能 在实现后端功能时,我们需要编写NestJS控制器和服务,并调用TypeORM进行数据库操作。同时,我们需要集成GraphQL,并编写Resolver进行数据查询和操作。 4. 实现前端功能 在实现前端功能时,我们需要编写React,并使用Apollo Client调用GraphQL API。同时,我们需要...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

Facebook 开源的一组 Linux 内核组件与工具

近日,Facebook 开源了一套解决重要计算集群管理问题的 Linux 内核和相关工具,这些项目覆盖了资源控制、资源利用、工作负载隔离、负载均衡、测量和监控等方面:BPF、Btrfs、Netconsd、Cgroup2、PSI、Oomd。 Facebook 表示这些项目现在已大规模用于其所有基础设施生产环境中,并用于其它许多企业组织的环境中。 BPF:https://facebookmicrosites.github.io/bpf/ BPF 是 Linux 内核中一种高度灵活、高效率的代码执行引擎,可以让字节码在各个 hook 点运行,以使用自定义代码。虽然 BPF 已广泛用于数据包过滤,但是 BPF 的指令集具有很强的通用性和灵活性,足以支持和允许除网络之外的众多使用场合,比如跟踪和...阅读全文

博文 2018-11-24 09:27:14 debian.cn

通过 Hostapd 进行 WIFI 热点共享上网

/debian/ jessie-backports main contrib non-free 1.2安装最新内核,及相关软件包,避免编译Hostapd出错,依次执行如下命令: apt-get update apt-get install linux-image-4.3.0-0.bpo.1-amd64 apt-get install linux-headers-4.3.0-0.bpo.1-all-amd64 apt-get install pkg-config libssl-dev gettext openssl hostapd apt-get install libnl-genl-3-dev libnl-genl-3-200 libnl-3-dev libnl-3-200 2.编译、配置...阅读全文

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

Kubernetes 1.16.0发布 新版本四大主题

广泛使用一个全局 metrics registry 来注册要公开的 metrics。通过实现 metrics registry,metrics 可以以更透明的方式注册。而在这之前,Kubernetes metrics 被排除在任何稳定性需求之外Volume Extension:新版本有大量和 Volume 及 Volume 修改相关的增强。CSI 规范中对 Volume 调整的支持正在转向 Beta 版,它允许任何 CSI spec Volume plugin 都可以调整大小 其他值得注意的功能更新: 拓扑管理器是一个新的 Kubelet ,旨在协调资源分配决策,以提供优化的资源分配IPv4/IPv6 双栈允许将 IPv4 和 IPv6 地址分配给 Pods 和服务API Server...阅读全文

博文 2019-09-20 13:28:32 debian.cn

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

Kubernetes的kubelet内置了cadvisor,将Node上容器的指标以Prometheus支持的格式展示,可以通过这些指标计算得到更多有用的数据。 Kubelet的Cadvisor指标获取 在Prometheus的配置文件中,配置了相关的Target之后,这些指标就可以从Prometheus中查询到。 - job_name: 'kubernetes-cadvisor' scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount...阅读全文

博文 2020-08-13 20:41:03 debian.cn

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

个例子可以说明两者的关系:Netflix 内部有人不用 Spinnaker 的 pipeline,而只是将 Spinnaker 看为一个部署工具,直接在 jenkins 中调用它的 API 来部署服务。 逻辑架构 Spinnaker 自己是一个微服务架构,由若干组成,所有都开源在github上,整个逻辑架构如下图所示: Deck:AngularJS 写的 WebUI。Gate:提供 API 接口给外部程序,Deck 也是其中之一,Spinnaker 的大门。Cloud Driver:对接各种云服务提供商,比如AWS, GCP, Azure 等。她负责所有对这些云服务的读写操作。Orca :处理 pipeline 和任务编排,比如创建一个虚拟机,等待它创建完成,然后执行其他操作...阅读全文

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

五款流行开源的 HIDS 系统简单介绍

,Windows注册表监视和活动响应之外,Wazuh还使用异常和签名检测方法来检测rootkit。与OSSEC的不同之处在于它与ELK集成的能力 ,改进的规则集以及使用静态API的功能。通过专注于持久卷和绑定挂载,还可以利用Wazah来监视Docker容器中的文件。该HIDS由3个主要组成:代理,服务器和弹性堆栈。它的代理在Windows,Linux,Solaris,BSD和Mac操作系统上运行。要了解如何安装项目,强烈建议您遵循官方安装指南。这些步骤很容易遵循并得到充分解释。Wazuh有一些缺点。服务器安装和API可能会很麻烦。以下屏幕快照代表了Wazuh的概述仪表板:​图3从3.11.2版本开始,Wazuh UI已针对Kibana进行了升级(当时为7.5.2),其中升级了其XML验证程序,并增加了...阅读全文

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

提供关注点分离,并专注于特定功能,以减少意大利面条的依赖性和不可测的 对于Sidecar容器一般来说主要体现在以下4种角色: 代理。例如现在Istio中的Envoy。 通过这种Sidercar 模式,代理可以拦截进出主容器的流量从而Istio可以提取有关流量行为的大量信号作为属性。 Istio可以使用这些属性来执行策略决策,并将其发送到监视系统以提供有关整个网格行为的信息。 Sidecar代理模型还允许您将Istio功能添加到现有部署中,而无需重新构造或重写代码。 适配器。适配器容器对输出进行标准化。考虑监视N个不同应用程序的任务。可以使用不同的导出监视数据的方式来构建每个应用程序。 (例如JMX,StatsD,特定于应用程序的统计信息),但每个监控系统都希望其收集的监控数据具有一致且统...阅读全文

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

Facebook 是如何进行大规模代码部署的

过多,以至于无法持续。 这个 CD 系统的关键是一种控制方法,即谁将接收变更,以及用于部署和测量的自动化工具。在第一步中,经过一系列自动化测试后,变更就从内部推送到 Facebook 员工。在这一阶段发现的任何回归,都会被认为这一进程受阻或者停止。下一步涉及到“ canary deployment ”(金丝雀部署),只推送至生产环境的 2% 。依靠连续的监测来检测问题。如果一切顺利,这些变更将 100% 部署到生产环境中。名为 Flytrap 的工具收集用户报告,并发送任何异常情况的告警。 Facebook 中的 Web 和移动产品遵循两条不同的路径,原生移动变更的部署频率低于 Web 。这两个都由名为 Gatekeeper 的系统控制。除此之外,Gatekeeper 还分离出了部署和发...阅读全文

博文 2017-10-31 14:05:20 debian.cn

Debian Jessie、Stretch 下安装配置 PHP7.2

: systemctl restart php7.2-fpm 更多日常的操作: systemctl restart php7.2-fpm #重启 systemctl start php7.2-fpm #启动 systemctl stop php7.2-fpm #关闭 systemctl status php7.2-fpm #检查状态 安装更多 上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见: root@debian.cn-service:~# apt-cache search php7.2 php-radius - radius client library for PHP php-http - PECL HTTP module for PHP Extended HTTP...阅读全文

博文 2017-12-16 14:16:25 debian.cn

开源简史基础:Linux基金会

员年费数量备注白金会员企业会员50万美元15黄金会员企业会员10万美元16白银会员企业会员5000-20000美元800+根据企业规模年费不同个人会员个人会员99美元-- 可以看到主要的资金来源是上述四类,根据截止于2019年9月10日的数据,大体白金/黄金/白银(取中位数1万)的年费正常的话大概有:5015 + 1610 + 800*1 = 1710万美元,再加上大量的个人用户,资金来源相较于一般的项目还是能够提供较好的支持的。 白金和黄金会员 截止到目前位置,白金和黄金会员为31,虽然我们无法确认大量的白银会员,但是白金和黄金会员的企业类型,还是可以确认的。 会员类型会员数量通信企业软件开发商金融公司自动化/制造业生产商设备制造商其他白金15AT&T、腾讯TencentFujitsu...阅读全文

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

会把这些信息填充到将要发送的 HTTP 请求头中: x509 证书使用 tls.TLSConfig 发送(包括 CA 证书)。bearer tokens 在 HTTP 请求头 Authorization 中发送。用户名和密码通过 HTTP 基本认证发送。OpenID 认证过程是由用户事先手动处理的,产生一个像 bearer token 一样被发送的 token。 2. kube-apiserver 认证 现在我们的请求已经发送成功了,接下来将会发生什么?这时候就该 kube-apiserver 闪亮登场了!kube-apiserver 是客户端和系统用来保存和检索集群状态的主要接口。为了执行相应的功能,kube-apiserver 需要能够验证请求者是合法的,这个过程被称为认证。 那么...阅读全文

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

你应该选择Cinnamon作为Linux桌面环境的十个理由

Cinnamon属于一套GNOME 3桌面fork,且希望实现GNOME桌面从未能实现的效果。除了对GNOME进行改进与扩展外,它还保留了独特且令人赞赏的特色。事实上,Cinnamon已经脱胎于GNOME 3并做得更好。 2011年,GNOME 3的发布激起了一系列积极与消极的反应。很多用户与开发者更喜爱原本的GNOME界面,因为它提供更多fork选项——而Cinnamon正是其中的杰出代表。 由于GNOME用户界面中的许多已经停止开发,Cinnamon及其他多种fork项目应运而生。而作为GNOME的使用方之一,Linux Mint项目也因此积极参与Cinnamon的开发工作。时至今日,Cinnamon已经成为一套完全独立的桌面环境,且继承了大量用户最为喜爱的GNOME特性。 默认的...阅读全文

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

为什么 Django 能持续统治 Python 开发世界

等数据库都能做到开箱即用。 点击此处了解使用 Django 及其 ORM 进行数据处理的基础知识。 强大的内置模板系统 基于继承系统,Django 的模板允许开发人员通过非常少量的前端代码构建整个动态网站。这得益于使用其他上下文特定元素替换模板的某些元素的选项。 想象一下,你知道你网站的每个页面都会有一个页眉和一个页脚。 现在,您首先需要在网站的基本模板中编写代码。 然后,您可以从应用程序的其他部分动态地更改这两个内容之间的。 简单可读的网址 很难正确阅读在PHP os ASP中开发的URL? 使用 Django,您可以创建简单易读的 URL,这对人和搜索引擎都有好处。 您也可以使用其他框架创建可读 URL,但没有一个与 Django 一样容易进行 URL 构造。 快速容易的创建RSS和...阅读全文

博文 2017-07-21 14:15:11 debian.cn

Kubernetes常用命令大全(持续更新)

分析错误)对控制器和服务,node同样有效 kubectl describe pods xxxxpodsname --namespace=xxxnamespace 其他控制器类似吧,就是kubectl get 控制器 控制器具体名称 查看pod日志 kubectl logs $POD_NAME 查看pod变量 kubectl exec my-nginx-5j8ok -- printenv | grep SERVICE kubectl get cs #### 集群健康情况 kubectl cluster-info #### 集群核心运行情况 kubectl get namespaces #### 表空间名 kubectl version #### 版本 kubectl api...阅读全文

博文 2020-03-13 12:35:13 debian.cn

Terraform 学习总结 — Terraform 简介

Infrastructure as Code", 基础架构即代码。Terraform 几乎可以支持所有市面上能见到的云服务。具体的说就是可以用代码来管理维护 IT 资源,把之前需要手动操作的一部分任务通过程序来自动化的完成,这样的做的结果非常明显:高效、不易出错。 Terraform 提供了对资源和提供者的灵活抽象。该模型允许表示从物理硬件、虚拟机和容器到电子邮件和 DNS 提供者的所有内容。由于这种灵活性,Terraform 可以用来解决许多不同的问题。这意味着有许多现有的工具与Terraform 的功能重叠。但是需要注意的是,Terraform 与其他系统并不相互排斥。它可以用于管理小到单个应用程序或达到整个数据中心的不同对象。 Terraform 使用配置文件描述管理的(小到单个应用程序,达到整个数据中心...阅读全文

开源社区的运作模式:Debian Vs. Ubuntu

了这个身份后才可以参与Ubuntu社区委员会的选举,也才有机会参与Planet Ubuntu计划(注:这是一个类似于集体博客的计划),此外,还可以获得一个@ubuntu.com邮件别名。 对于开发人员,情况更复杂:Wiki页面列出了不少于5种身份。最初,开发人员分为Ubuntu核心开发人员(UCD)和Ubuntu宇宙大师(MOTU),后者负责universe/multiverse部分的归档,而前者则有main/restricted部分的上传权限。不过,受到Debian维护人员角色的启发以及在归档方面面临的一些具体问题,Ubuntu修改了底层结构,以提供更细粒度的包上传控制。(注:Ubuntu主要分为四大:Main,Restricted,Universe,以及Multiverse。Main...阅读全文

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

!版权声明:本博客内容均均为原创,每篇博文作为知识积累,写博不易,转载请注明出处。 目录[-] 参考地址: Nacos 官方文档 系统环境: Nacos 版本:1.4.1 Mysql 版本:8.0.19 Kubernetes 版本:1.20.1 项目示例地址: Kubernetes 中部署 Nacos 的部署文件 Kubernetes 中部署 Mysql 数据库部署文件 如果该文章对你有帮助,别忘了 Github 帮忙点颗星哦~ 一、什么是 Nacos Nacos 是阿里开源的服务注册中心与配置中心,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理。同时能够与 SpringCloud、Kubernetes、Dubbo 等开源生态无缝集成。 Nacos 支持如下核心特...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

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

点:系统架构感知:系统架构图是程序员了解一个新系统的重要参考,当拿到一个系统,起码需要知晓流量入口在哪里,有哪些核心模块,依赖了哪些内部外部等。在异常定位过程中,有一张全局架构的图对异常定位进程有非常大推动作用。依赖分析:有一些问题是出现在下游依赖,如果这个依赖不是自己团队维护就会比较麻烦,当自己系统和下游系统没有足够的可观测性的时候就更麻烦了,这种情况下就很难跟依赖的维护者讲清楚问题。在我们的拓扑中,通过将黄金指标的上下游用调用关系连起来,形成了一张调用图。边作为依赖的可视化,能查看对应调用的黄金信号。有了黄金信号就能快速地分析下游依赖是否存在问题。​分布式 Tracing 助力根因定位协议 Trace 同样是无入侵、语言无关的。如果请求内容中存在分布式链路 TraceID,能自动识别...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

Stable和Update。然而,用户需要把注意力主要放在三大类软件库上。 Debian系统具有的优点之一是,你可以在下面这两个极端之间作一选择:极其稳定,但缺点是版本较老;或者非常先进,但缺点是软件不大稳定,技术出现的重大变化可能让不知情用户的系统崩溃。这里的选择取决于你是升级核心(比如Linux内核),还是升级灾难发生时不影响其他东西的自带代码库的独立式实用工具。 恰恰相反,Ubuntu的程序包来自Debian测试版或不稳定版。Ubuntu的软件库按照其他标准来加以组织,而不是由测试状态来加以组织。Main含有Canonical支持的软件,以及Ubuntu社区支持的Universe软件。Restricted含有专有驱动程序,其中Multiverse存放有版权或其他法律限制的软件。 另一个主要的...阅读全文

博文 2017-12-22 23:41:07 debian.cn

Gitlab CI 配置文件 .gitlab

,development。 tags可通过tags来指定特殊的Runners来运行jobs: job: tags: - ruby - postgres 上面这个示例中,需要确保构建此job的Runner必须定义了ruby和postgres这两个tags。 allow_failure allow_failure可以用于当你想设置一个job失败的之后并不影响后续的CI的时候。失败的jobs不会影响到commit状态。 当开启了允许job失败,所有的intents和purposes里的pipeline都是成功/绿色,但是也会有一个"CI build passed with warnings"信息显示在merge request或commit或job page。这被允许失败的作业使用,但是如果失败表示其他地方应采取其...阅读全文

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

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

PodName,Sandbox容器ID,NameSpace,VPC IP等对应关联信息进行额外存储。这样当进入DEL操作后,只需要通过kubelet传入的PodName,Sandbox容器ID和NameSpace即可找到VPC IP,然后通过UCloud 公有云相关API删除之,无需依赖NETNS操作。 考虑到问题的根因是出现在kubelet源码中的SyncPod函数,UK8S团队也已修复kubelet相关源码并准备提交patch给Kubernetes社区。 写在最后 Kubernetes依然是一个高速迭代中的开源项目,生产环境中会不可用避免遇见一些异常现象。UK8S研发团队在学习理解Kubernetes各个运行原理的同时,积极根据现网异常现象深入源码逐步探索出问题根因,进一步保障UK8S服务的稳定...阅读全文

Apache Kafka发布 3.0 正式版

。此外,不要错过 Kafka Connect 任务重启增强、KStreams 基于时间戳同步的改进以及 MirrorMaker2 更灵活的配置选项。常规变化KIP-750:弃用 Kafka 中对 Java 8 的支持在 3.0 中,Apache Kafka 项目的所有都已弃用对 Java 8 的支持。这将使用户有时间在下一个主要版本 (4.0) 之前进行调整,届时 Java 8 支持将被取消。KIP-751:弃用 Kafka 中对 Scala 2.12 的支持对 Scala 2.12 的支持在 Apache Kafka 3.0 中也已弃用。与 Java 8 一样,我们给用户时间来适应,因为计划在下一个主要版本 (4.0) 中删除对 Scala 2.12 的支持。Kafka 代理、生产者、消...阅读全文

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

最全的 DevOps 工具集合

和 JavaScript 文件,还可以在构建过程中运行这些文件并发布网站。你可以在 GitHub Pages 示例集合中查看 GitHub Pages 网站的示例。 Confluence Confluence 是 Atlassian 开发和发行的协作软件程序。Atlassian 用 Java 编程语言编写了 Confluence,并于 2004 年首次发布。 Confluence 是一个协作 Wiki 工具,用于帮助团队有效地协作和共享知识。借助 Confluence,你可以在 Team Calendars 附加的帮助下捕获项目需求、向特定用户分配任务,还能一次管理多个日历。 Jekyll Jekyll 是一个简单的,博客型的静态网站生成器,可用于个人、项目或组织的网站生成。它是由...阅读全文

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

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

导语 | kafka3.0的版本已经试推行去zk的kafka架构了,如果去掉了zk,那么在kafka新的版本当中使用什么技术来代替了zk的位置呢,接下来我们一起来一探究竟,了解kafka的内置共识机制和raft算法。一、Kafka简介Kafka是一款开源的消息引擎系统。一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer,以及一个ZooKeeper集群,如上图所示。其中ZooKeeper是Kafka用来负责集群元数据的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息。(一)Kafka核心producer:消息生产者,就是向broker...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

个简化的Web应用,由这些部分组成: 为了冗余而在两个集群上运行的二进制文件,实现前段逻辑负载均衡,有集群前和全局的配置全局的Spanner数据库 生产或者服务基础架构提供服务所需的基础模块来服务用户的请求,比如,Borg集群管理系统[2],网络交换机的firmware等等。每个这些都是一个asset。 Shakespeare服务使用多个基础架构提供者:Borg来运行二进制文件,GSLB[1]管理负载均衡,以及Google共享的Spanner基础架构。 控制平面是服务用于管理生产服务基础结构的平面——比如,添加一台VM或者搭建负载均衡器。控制平面可以包括人工(“我会把新的二进制文件拷贝到服务器上”)到复杂的自动化系统(“我使用机器学习来控制变更”)。控制平面包括变更管理:控制平面里的逻辑...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

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

Redis的主从复制功能本身只是做数据同步,并不提供监控和自动failover能力,要通过主从复制功能来实现Redis的高可用,还需要引入一个:Redis Sentinel Redis Sentinel是Redis官方开发的监控,可以监控Redis实例的状态,通过Master节点自动发现Slave节点,并在监测到Master节点失效时选举出一个新的Master,并向所有Redis实例推送新的主从配置。 Redis Sentinel需要至少部署3个实例才能形成选举关系。 关键配置: sentinel monitor mymaster 127.0.0.1 6379 2 #Master实例的IP、端口,以及选举需要的赞成票数 sentinel down-after-milliseconds...阅读全文

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

王垠:如何掌握所有的程序语言

吗?你不能。你得看看它里面装的是什么型号的处理器,有多少个核,主频多少,有多少 L1 cache,L2 cache……,有多少内存和硬盘,显示器分辨率有多大,显卡是什么 GPU,网卡速度,等等各种“配置”。有时候你还得看各个之间的兼容性。 这些配置对应到程序语言里面,就是所谓“语言特性”。举一些语言特性的例子: 变量定义 算术运算 for 循环语句,while 循环语句 函数定义,函数调用 递归 静态类型系统 类型推导 lambda 函数 面向对象 垃圾回收 指针算术 goto 语句 这些语言特性,就像你在选择一台电脑的时候,看它里面是什么配置。选电脑的时候,没有人会说 Dell 一定是最好的,他们只会说这个型号里面装的是 Intel 的 i7 处理器,这个比 i5 的好,DDR3 的内...阅读全文

博文 2017-07-10 10:13:17 debian.cn

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

以通过切换底层降低运行成本。据悉,亚马逊最早在2006年推出EC2服务,但当是只有一种计算实例产品,名为“m1.small”。上述古老的计算实例到今天依然对外销售,如今,亚马逊的计算实例产品就多达300多种。美国云计算行业人士布鲁克·麦基姆(Brooke McKim)介绍说,亚马逊推出的新的计算实例产品简直是让人应接不暇。企业客户购买的EC2计算实例,运行在AMD、英特尔、英伟达等各种处理器上,此外还有人工智能处理器,或是亚马逊自行设计的ARM架构服务器芯片。亚马逊负责EC2产品的副总裁大卫·布朗(David Brown)介绍说,在云计算全线产品中,只要是对客户合理的地方,亚马逊都会使用自家设计的ARM处理器,这可以降低总体运行成本。亚马逊在云计算领域的强劲对手微软,迄今为止尚未宣布自行...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

Web前端知识体系精简

创建一个新对象时,JS底层将新对象的原型链指向了构造函数的原型对象,于是就在新对象和函数对象之间建立了一条原型链,通过新对象可以访问到函数对象原型prototype中的方法和属性。new的详细介绍请参考博客:理解JS中的new运算符 5、闭包 闭包其实是一个主动执行的代码块,这个代码块的特殊之处是可以永久保存局部变量,但又不污染全局变量,可以形成一个独立的执行过程,因此我们经常用闭包来定义。关于闭包的介绍请参考:干货分享:让你分分钟学会JS闭包 6、单线程和异步队列 setTimeout和setInterval是JS内置的两个定时器,使用很简单,但这两个方法背后的原理却不简单。 我们知道,JS是单线程语言,在浏览器中,当JS代码被加载时,浏览器会为其分配一个主线程来执行任务(函数),主线...阅读全文

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

Hadoop 核心 - HDFS 分布式文件系统详解

1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(分布式文件系统)以及LocalFileSystem(本地文件系统)了。 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统。 HDFS(Hadoop Distributed File System)是 Hadoop 项目的一个子项目。是 Hadoop 的核心之一, Hadoop 非常适于存储大型数据 (比如 TB 和 PB),其就是使用 HDFS 作为存...阅读全文

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

,客户端请求在转发至后端服务器之前将被深度分析,所有不与RFC格式兼容的请求都会被拒绝;此为默认模式; health:实例工作于health模式,其对入站请求仅响应“OK”信息并关闭连接,且不会记录任何日志信息;此模式将用于响应外部的健康状态检查请求;目前来讲,此模式已经废弃,因为tcp或http模式中的monitor关键字可完成类似功能; 3.4 hash-type hash-type 定义用于将hash码映射至后端服务器的方法;其不能用于frontend区段;可用方法有map-based和consistent,在大多数场景下推荐使用默认的map-based方法。 map-based:hash表是一个包含了所有在线服务器的静态数组。其hash值将会非常平滑,会将权重考虑...阅读全文

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