本篇主要介绍如何运维 DevOps 流水线,怎么解决一些常见的问题。问题主要分为两大类,一类是 Kubernetes 相关的,具有一定通用性;另一类是与业务相关,需要对领域有所了解,解决问题时才能事半功倍。文档内容,会不断滚动更新。1. Kubernetes 问题排查1.1 基本的创建流程如上图所示
作者: 杜军出版社: 电子工业出版社出版年: 2019-10ISBN: 9787121373398Notes:网络是 Kubernetes 中不易掌握的一个难点。网络故障会直接影响现有的负载,通常是十分紧急的问题。而网络相关的知识相较于应用开发更底层,很多的细节,需要长期的积累。书中相关的要点之前陆
1. 曾经的尝试在博文没有标签的你,让人无法想起中,我强调在趋同的群体中,个体成为了背景噪声,而标签成为了有效的信息。在下面这张图中,我们很难记住某一个人,但是却很容易通过 A、B、C、D、E 标签找到某一个人。标记之后,人与人之间会形成网络,而所有的标签构成了一个群体的特征。通过这些标签,提供了进
作者: [美] 约翰·D·洛克菲勒出版社: 吉林出版集团有限责任公司出版年: 2012-1-1ISBN: 9787546369785Notes:成功的路直接而明亮,失败的路却是各有不同。
1. 开源越来越受欢迎2019 年的 IDC 北美开源软件使用调查显示,71% 的企业正在使用开源软件,54% 的企业计划扩大使用范围。2020 年的 RedHat 企业开源现状调查显示,有 95% 的 IT 领导者认为企业开源对于企业基础架构软件战略至关重要。一方面企业越来越接受开源软件,另一方面
Kubernetes 依靠 kube-proxy 组件实现 Service 的通信与负载均衡。在这个过程中,由于使用了 SNAT 对源地址进行了转换,导致 Pod 中的服务拿不到真实的客户端 IP 地址信息。本篇主要解答了在 Kubernetes 集群中负载如何获取客户端真实 IP 地址这个问题。1
1. 典型适用场景在 CI 中,通常会有一个 CI Engine 负责解析流程,控制整个构建过程,而将真正的构建交给 Agent 去完成。例如,Jenkins 、GitLab 均是如此。如下图, 连接 CI Engine 的 Agent, 种类很多。这是为了满足不同项目对构建环境的要求。同时 Age
本文同样适用于接入 ARM、MIPS 架构,FreeBSD、Windows 系统的物理机,如果 Jenkins 能连上构建机,可以跳过 Frp 部分。1. 遇到的问题在以 Kubernetes 为基础设施的场景下,Jenkins 构建流水线时,将为每一条流水线单独创建一个 Pod 用于构建。Pod
揭秘《DevOps 能力成熟度模型》研发运营(DevOps)解决方案能力分级要求 - PDF 下载第1部分:总体架构 - PDF 下载第2部分:敏捷开发管理过程 - PDF 下载第3部分:持续交付过程 - PDF 下载第4部分:技术运营 - PDF 下载第5部分:应用设计 - PDF 下载第6部分:
1. 什么是布隆过滤布隆过滤(Bloom Filter)是布隆在 1970 年提出的一种数据结构。将元素(x、y、z)通过一系列函数,映射到一个二进制向量(0101 序列),用于快速判断元素 w 是否在一个集合当中。如下图(来自维基百科):相较于使用单个映射函数,在相同的地址空间下,多个映射函数能降
1. 什么是 GitHub Actions在前面的文档中,我对 GitLab 提供的 CI 功能进行了实践,点击查看 。使用 GitLab 的好处是可以私有化部署、无限的私有仓库数量、CI 配置简单、能接入自建的 Runner 。但随着 GitHub 越来越开放,GitLab 的这些优势在逐步丧失。
对于互联网行业的工程师,常思考的是系统的 Scalable,例如,流量、计算、存储增长时如何改进系统,有各种水平、垂直扩容的方案。除了服务,团队的 Scalable 也是十分关键的。本篇主要思考的是,如何组织团队,在一定规模下,通过加人能够提升团队的事务处理能力。1. 人事分离对于小公司,通常是少数
很多云原生的开源组件是先有服务,后有可视化。今天开了个脑洞,反其道而行,先有可视化交互,再设计底层。1. 一张画布搞定半壁云原生用户只需要一张画布,定义好 Workflow,就可以自由地游走在各种高大上的 Cloud Native 应用之上。2. 为什么会这种奇怪的想法2.1 看看 Istio这是
1. DockerHub 限制终究还是绕不过下面这个报错:1 Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authe
1. daemon-less 镜像构建工具1.1 什么是 daemon-less 镜像构建工具在 CICD 流程中,经常会涉及镜像构建,常规的做法是使用 Docker in Docker 或者 Docker out of Docker 进行构建。详情可以参考文档:如何在 Docker 中使用 Doc
1. 谈谈对 CICD 工具的审美我在文档 软件产品是团队能力的输出 中提到,软件产品是解决方案的交付承载物,其优劣取决于团队对核心问题的理解。对领域有深入理解,交付的产品才有好的可能。CICD 是一个应用很广泛的领域,在不同的场景下,总有人在琢磨重复造轮子,难以统一。虽然没有具体的数据,但是我相信
1. 测试是海上的航标项目越复杂、规模越大,越能体现测试的价值和重要性。测试保证了方向的正确性。就像航行时,海上出现的航标,可以用来检验、纠正路线。便于掌舵人,随时了解动态,做出调整。测试决定了迭代的速度。随着 Scrum 等敏捷开发方法的实践,交付的节奏在加快。测试是交付质量的保障,如果测试跟不上
更多的技巧,请持续关注本文的更新。1. 运营不再是拍脑袋的事万物互联,互联网对物理世界的建模越来越准确。我们的地理位置、行动轨迹、在电子设备上的操作都在被记录。如果能汇集各大厂商的用户画像,我们的数字版就出来了。你只能代表此刻的你,而数字人可以代表过去、现在,甚至将来的你。数据一旦产生,在互联网上是
1. 什么是 WorkshopWorkshop ( 工作坊 ) 是以领域富有经验的主讲人为核心,通过活动、讨论、演讲等方式,指导成员共同讨论某个话题的学习形式。相较于传统的方式,Workshop 具有如下特点:更具有针对性有点像研习班,可以针对某一类问题,集中、充分地进行讨论。组织更加灵活对于活动地