k8s技术圈

其他

OpenTelemetry入门看这一篇就够了|公开课

处理器是非常推荐的。批处理器接收跨度、指标或日志,并将它们放入批次中。批处理有助于更好地压缩数据,减少传输数据所需的传出连接数量。该处理器支持基于大小和时间的批处理。processors:
2023年9月10日
其他

APIServer源码分析之路由注册

establish.NewEstablishingController(s.Informers.Apiextensions().V1().CustomResourceDefinitions(),
2023年3月17日
其他

vivo 自研 Jenkins 资源调度系统设计与实践

Scheduler设计该系统我们从两大部分进行了设计,首先,我们不采用原生的Jenkins部署方案,而是采用全master的方式。第二,设计并开发了一套用于管理Jenkins集群的调度系统。五、底层
2023年2月9日
其他

toB应用私有化交付技术发展历程和对比

由于数据隐私和网络安全的考虑,大多数toB场景的客户需要私有化应用交付,也就是需要交付到客户的环境里,这样的客户有政府、金融、军工、公安、大型企业、特色行业等,这些私有化场景限制很多,如何提高私有化应用交付的效率是个难题,本文将介绍,私有化应用交付有哪些技术?他们都各自有什么特点?私有化应用交付的发展历程。ToB应用私有化交付的困难点环境网络限制,影响交付效率交付实施过程中不能方便查找资料;在交付过程中,交付人员需要跟公司的开发进行沟通,网络限制会影响协作工具的使用,有些客户环境甚至不能带手机,会影响解决问题的效率,环境越复杂影响越大;在离线环境内,安装软件包也没办法直接下载,我们需要将安装文件或配置文件打包成离线包,在客户环境导入。由于业务的复杂性会导致镜像很多且很大,只能有交付人员带移动硬盘到客户现场导入,导致在导入离线包就会花费较多时间。甚至有些环境只能刻录光盘在客户环境导入,光盘本身存不了太大的包,只能分多个光盘刻录;客户基础设施差异,需要适配过程在私有化场景,不同客户的安装环境也不一样,有些使用物理服务器,有些使用虚拟机,不同的虚拟机厂商也有差异。操作系统也各有不同,例如常见的操作系统有CentOS/Debian/Ubuntu/Redhat,当前还有很多国产化操作系统。CPU架构也可能不同,有X86、ARM等;资源准备周期长,需要审批流程;交付的应用需要很重的适配过程,要么在公司适配,要么在客户现场适配;由于环境差异很大,应用交付完需要完整测试和验证,需要大量的人力和时间投入;交付人员的技术门槛高交付人员需要懂底层硬件和网络;交付人员需要懂操作系统和系统运维,需要懂服务治理、高可用、安全、性能分析、备份恢复、交付开发等等;交付人员要能独立排查交付应用的问题,需要很强的技术基础;定制化交付迭代效率低在定制化交付场景,客户会参与到开发过程中,客户需要看到效果后反馈问题,再持续迭代,直到客户满意,过程中需要频繁升级产品;如果开发人员在公司定制开发,升级过程复杂,沟通低效;如果开发人员在客户现场,没有好的开发工具和环境,开发效率低,人力投入大;后期维护难度大应用交付完成后,后期需要保障应用运行的稳定性,离线环境远程没办法运维,报警没办法发出来,运维的难度大;产品有bug、一些预期内的变更或产品升级都需要出差客户现场,支持的成本比较高;传统应用交付传统的应用交付是直接交付二进制的可执行文件或软件包:二进制的可执行文件:
2022年11月23日
其他

开源云原生平台 KubeSphere 与 Rainbond 对比

应用可直接安装。支持用户将已经部署好的应用一键发布至应用市场,无需编写复杂的YAML。可以一键发布应用模型内所有元数据,例如依赖关系、配置文件、存储信息等。支持应用离线导出导入,支持导出
2022年10月11日
其他

你不是不会处理多行日志,只是不会写正则表达式而已~

worker=0"}从上面的解析结果可以看出,正则表达式有一部分没匹配,有一些可以正常解析,比如下面的日志就是前面的一行日志解析出来后的结果:{"timestamp":"2022-06-20
2022年6月20日
其他

开源安全平台 - Wazuh

数据库相关联,以识别众所周知的脆弱软件。自动的漏洞评估可以帮助您找到关键资产中的弱点,并在攻击者利用它们破坏您的业务或窃取机密数据之前采取纠正措施。配置评估Wazuh
2022年6月14日
其他

VictorialMetrics存储原理之索引存储格式

前文我们介绍了当插入数据的时候会先去添加索引数据,索引构建完成后又是如何去持久化数据的呢?保存的数据又是怎样的格式呢?本节我们将对此进行详细讲解。添加索引数据索引构建完成后会调用
2022年6月7日
其他

VictorialMetrics存储原理之索引

数据的,这也是插入数据过程中最可能出现慢插入的地方,因为该过程涉及到索引,比较耗时间,如果你插入的数据出现大量的高基数序列(比如包含一些随机生成的
2022年6月2日
其他

使用 Go 和 Linux Kernel 技术探究容器化原理

/var/lib/docker/overlay2/56bbb1dbdd636984e4891db7850939490ece5bc7a3f3361d75b1341f0fb30b85/merged
2022年5月29日
其他

VictorialMetrics源码分析之插入指标数据

}当索引目录不存在的时候会创建该目录,然后去该目录中查找最近的两个索引,如果没有两个索引,则去生成对应的索引目录,索引的名称就是上面的纳秒时间戳原子+1后的16进制数据,然后通过
2022年5月28日
其他

Containerd深度剖析-runtime篇

虽然容器领域的创业随着CoreOS、Docker的卖身,而逐渐归于平寂,但随着Rust语言的兴起,Firecracker、youki项目在容器领域泛起涟漪,对于云原生从业者来说,面试等场景中或多或少都会谈论到容器一些的历史与技术背景。文|ianlewis编辑|zouyee技术深度|简单需求简介注:
2022年5月24日
其他

多图汇总梳理VPC与三种K8s网络模型

大家好,我是二哥。今天这期是一篇关于VPC和三种K8s网络模型的汇总性文章。也是春节前最后一篇文章,发完二哥就准备进入过年模式了。提前祝大家虎年虎虎生威,万事如意。本文所有的高清大图,我都放到github上去了:https://github.com/LanceHBZhang/LanceAndCloudnative。以后也是如此,就不再发预热预告了。图片版权归二哥所有,除个人学习外用于其它用途前请先通过公众号联系二哥授权。我们在学习K8s的时候,总是会碰到一个痛点:K8s作为一个完整的商用解决方案,包含了很多零散的基础知识点。比如单网络模型方面就涉及到网络虚拟化、iptables、eBPF、SDN等等。单个知识点我们可能学过、见过甚至用过,但把K8s基本用法撸完一遍下来依旧觉得无法识得庐山真面目。我想一个可能的原因是我们过于关注在细节而忽略了它整体的样子。所以我总是尽量在一张图中画出与这个主题相关的全景全局图,比如K8s既然被尊称为云原生时代的“数据中心操作系统(DCOS)”,那从网络拓扑方面来说,它和数据中心是如何配合的呢?我将这三种K8s网络模型和VPC相遇时的样子分别画了出来。希望能给你一种鸟瞰的视角,而不是迷失在技术的细节丛林里。Overlay模型下,网络包如同害羞的儿童,每次和别人说话都躲在妈妈背后,要妈妈帮他传话。host-gw模型下,网络包就像未成年的小伙子,既想走出去直面凶险的江湖,但又离不开妈妈的大力支持。而Underlay模型,网络包就是大人的模样了,有什么需求和想法,自己直接和对方谈。但无论是哪种模式,都离不开一些基础概念。在二哥看来,理解好了这些基础,再去看K8s三种网络模式能起到事半功倍之效。所以本文二哥先花了一些篇幅把这个基础知识再梳理一遍。重要的话再强调一下:图1非常基础,也非常重要。图2-图5都与图1有关系。来吧,进入正题。1.
2022年2月11日
自由知乎 自由微博
其他

云原生项目可扩展性的利器 WebAssembly 简介

引入了Wasm来解决该问题。OPA包含一个接受Rego策略作为输入并生成可执行的Wasm程序作为输出的编译器。该Wasm程序可以加载到任何标准的Wasm运行时中,并在需要策略决策时执行。容器
2021年11月22日
其他

使用 iptables 对多租户环境中的 TCP 限速

可以接受一个。这是限速之后的效果,非常明显:原文链接:https://www.kawabangga.com/posts/4594参考资料[1]Per-IP
2021年10月30日
其他

Alertmanager 高可用安装配置

本章节主要讲解Alertmanager高可用的搭建与配置的详细的内容。为了提升Prometheus的服务可靠性,我们会部署两个或多个的Prometheus服务,两个Prometheus具有相同的配置(Job配、告警规则、等),当其中一个Down掉了以后,可以保证Prometheus持续可用。AlertManager自带警报分组机制,即使不同的Prometheus分别发送相同的警报给Alertmanager,Alertmanager也会自动把这些警报合并处理。去重分组路由DaduplicatesGroupsRoute将相同的警报合并成一个根据定义的分组经过路由分发给指定的receiver虽然Alertmanager
2021年10月18日
其他

在 Kubernetes 上调度 GPU 资源

https://raw.githubusercontent.com/RadeonOpenCompute/k8s-device-plugin/r1.10/k8s-ds-amdgpu-dp.yaml3.
2021年10月17日
其他

使用 Velero 备份还原 Kubernetes 集群

https://github.com/vmware-tanzu/velero/releases/download/v1.6.3/velero-v1.6.3-darwin-amd64.tar.gz#
2021年9月17日
其他

将 Kubernetes 证书文件全部清空了咋办?在线等!

sha256:555f6ececd4721fed0269d27a5c7f1c6d7ef4614157a18e56ed9a1fd031a3ab8注意:你不需要删除
2021年2月23日
其他

[降价了]Kubernetes CKA 线上直播班

线上直播班需要延后一周至28号开课,为此我们也特地将价格再次下调至3人拼团只需要1298元,之前已经报名的学员也会退还相应差价,该价格只剩最后一周,需要报名的学员赶紧抓紧时间~
2021年2月22日
其他

[译]将 Kubernetes 扩展至7500个节点

会消耗越来越多的内存,直到最终由于内存不足错误(OOM)使容器崩溃。即使在应用程序上投入了大量的内存容量之后,这种情况似乎仍会发生。更糟糕的是,当它真的崩溃时,在启动时要花几个小时才能重放
2021年2月21日
其他

[译] 利用 eBPF 支撑大规模 K8S Service

永久性地(NUD_PERMANENT)插入邻居表中。目前这样做是没问题的,因为邻居的数量是固定或者可控的(fixed/controlled
2021年1月21日
其他

网络基本功之细说交换机

表中,然后利用表中信息将帧发送至输出端口设备,该端口已指定给该设备。记住交换机操作模式的一句简单的话是:交换机学习“源地址”,基于“目的地址”转发。帧进入交换机时,交换机“学习”接收帧的源
2020年12月20日
其他

使用 StatefulSet 部署 etcd 集群

EPS="${EPS}${EPS:+,}http://${SET_NAME}-${i}.${SET_NAME}.${MY_NAMESPACE}.svc.cluster.local:2379"
2020年11月18日
其他

几张图就把 Kubernetes Service 掰扯清楚了

Pod,节点有外网(4.4.4.1、4.4.4.2)和内网(1.1.1.1、1.1.1.2)的
2020年11月5日
其他

controller-runtime 之控制器实现

controller-runtime(https://github.com/kubernetes-sigs/controller-runtime)
2020年10月23日
其他

Pod 垂直自动伸缩的使用

在生产中的最佳方式是在推荐模式下使用,这有助于我们了解最佳的资源请求值是多少,以及随着时间推移它们是如何变化的。一旦配置了,我们就可以通过获取这些
2020年9月23日
其他

Loki 和 Fluentd 的那点事儿

//日志采集开关...注意:log-collect可以灵活控制容器是否需要做日志采集,如果不需要控制,可以忽略此标签,同时还需修改record_modifier中的tag处理逻辑如下tag
2020年9月22日
其他

一文搞定 Wireshark 网络数据包分析

缓冲空间区大小,这个缓冲区是给应用程序读取数据的空间:如果应用程序读取了缓冲区的数据,那么缓冲空间区的就会把被读取的数据移除如果应用程序没有读取数据,则数据会一直滞留在缓冲区。接收窗口的大小,是在
2020年6月29日
其他

GitOps - 在 Kubernetes 中进行 DevOps 的方式

仓库持续同步,其中有两个概念需要说明下。软件的描述表示:Kubernetes、应用和底层基础架构之间的关系是一种声明式的,我们用声明式方式(YAML)来描述我们需要的基础架构。这些
2020年5月27日
其他

Kubernetes 进阶训练营

节日,训练营课程正式上线,11月2日正式开课。由于当前训练营还处于内测期间,所以优惠力度很大,为了和今天节日应景,特此定价
2019年10月25日
其他

打造独当一面的 Kubernetes 运维、开发工程师

k8s技术圈)关注我们的微信公众帐号,在微信公众帐号中回复
2019年4月28日
其他

报警神器 AlertManager 的使用

5m,也就是每5分钟一个分组的报警将会重新触发,所以正常来说,上面的测试报警如果一直满足报警条件(CPU使用率大于20%)的话,那么每5分钟我们就可以收到一条报警邮件。现在我们添加一个
2018年11月28日
其他

在 Kubernetes 中使用 Grafana

name:prometheus-ds,最主要的是下面HTTP区域是配置数据源的访问模式。访问模式是用来控制如何处理对数据源的请求的:服务器(Server)访问模式(默认):所有请求都将从浏览器发送到
2018年11月17日
其他

RBAC 详细使用方法

Kubernetes中一些重要的资源对象了,来部署一个应用程序是完全没有问题的了。在我们演示一个完整的示例之前,我们还需要给大家讲解一个重要的概念:
2018年6月22日
其他

手摸手教你写 Kubernetes 的 golang 服务

我们前面介绍了很多关于kubernetes本身的操作,但是对于如何写一个完整的kubernetes应用还没有介绍过。在这篇文章中我们将介绍如何一步一步的写一个kubernetes的golang服务。
2018年2月8日
其他

Docker 的多阶段构建

cnych/docker-multi-stage-demo:latest运行成功后,我们可以在浏览器中打开http://127.0.0.1:8080/ping地址,可以看到PONG返回。
2018年2月5日
其他

使用 YAML 文件创建 Kubernetes Deployment

containers,storage,volumes,或者其他Kubernetes需要知道的参数,以及诸如是否在容器失败时重新启动容器的属性。你可以在特定Kubernetes
2018年2月2日