Hello, World!

~ No Day But Today ~

容器网络可视化:Weave Scope
Scope 简介 scope 是 weavework 开源的一款容器集群网络可视化监控方案,可以提供整个集群的实时网络拓扑,能具体到容器内进程这一粒度,同时还能提供对容器进行简单的详情查看、销毁、远程登录等管理功能。 功能 Overview 下图是 scope 的管理后台,打开可以看到图中有很多个六边形,代表一个个容器,而容器之间的连线则代表它们之间当前存在网络连接,鼠标悬浮到线条之上还能看到连接发起的方向,这样我们就能直观地观察到整个集群的网络流量拓扑了,哪几个服务之......
Linux 内核调试小技巧
Kernel 内核承担了核心的操作系统工作,是当今软件生态的基石,因此了解内核是如何工作的能极大的帮助我们更好地构建用户态系统。 学习软件源代码最好的方式就是边看边 DEBUG,软件 = 代码 + 数据,看代码的同时了解其运行时数据能让我们更好的理解代码。 但内核毕竟不是普通的软件系统,并不是简单的在 IDE 里面一点就能断点调试的,本文分享两种调试内核的小技巧,帮助我们更好的观测其运行时状态。 内核模块 我们通常写的代码都是运行在用......
Cilium 容器数据路径
Cilium Cilium 提供了一套基于 eBPF 的容器网络方案,在网络可观测性和隔离策略方面提供了非常多强大的特性。 我们今天主要关注 Cilium 容器数据面路径这个话题,即一个使用 Cilium 做为 CNI 的 Pod 的数据是如何流动的。 这里我们以在 Pod 中向 1.1.1.1:80发起 TCP 连接(nc -v 1.1.1.1 80)的流量为例进行分析,演示的 Cilium 集群使用 veth pair 打通容器和宿主机网络命名空间,同时使用 vxlan 模式来进行跨主机间的 Pod 通信。 这里我们使用 Pod 10.1.128.86 进行演示,其所在 Node IP 为 10.11.224......
Cilium 配置详解
Cilium Cilium 可以说是当下最流行的基于 eBPF 的容器网络方案,基于eBPF 这种内核黑魔法 Cilium 极大地提升了容器网络的可玩性。 Cilium 的参数配置项都是通过 ConfigMapcilium-config配置的 中,,下面我们来一个个的分析一下这个 ConfigMap 里面的参数都有何意义。 本文基于cilium 1.11版本进行分析。 Cilium Config 配置项 意义 kvstore 当使用 KV 数据库存储元信息而不是CRD时,需要设置此项申明具体的KV存储,原来支持 etcd 和 consul 两种选择,不过 1.11 版......
镜像仓库Harbor Pull实现原理
Harbor简介 Harbor 是 VMWare 开源的一个镜像仓库平台,镜像分发和存储逻辑是基于 docker 开源的 registry (后更名为 distribution)实现的,Harbor 主要在其之上扩展了权限管理、镜像扫描、可视化管理后台等平台化功能,和大部分的云原生组件一样,Harbor 也是基于 Go 语言开发的。 Harbor 的系统架构如下图所示,箭头所指方向为数据流向: 一个镜像仓库最核心的功能就是推送和拉取,本文主要讨论 Harbor 镜像拉取具体的实现细节。 在开始之前 我......
CentOS Linux内核升级指南
内核 一个 Linux 操作系统,或者叫做 Linux 发行版,比如常见的:CentOS、Debian、Unbuntu 等等,都是由如下五部分构成的,如下图所示,Linux发行版在外层封装了了大量的库、包和工具供用户使用,而底层硬件设备控制相关的能力则仍是由内核提供: 为什么要升级版本 内核也是一个软件, 软件在不断的迭代的过程中会开发很多新的特性,当我们不论是主动还是被动的对内核的新特性有需求而当前版本不支持时,我们就需要升级版......
Fluent Bit介绍
Fluent Bit Fluent Bit 是一款开源的日志收集组件,资源开销非常小,小到甚至能在嵌入式系统上运行,支持日志解析&过滤&转发,同时作为云原生基金会下的一个子项目,天然支持容器和 k8s 场景。 基本概念 大部分日志收集组件都将系统大致分为输入、缓冲区、输出三大部分,输入部分负责采集日志,采集了之后放在缓冲区,然后输出部分将其再转发到其他系统。 Fluent Bit 将这三大部分细分成了:输入、解析、过滤、缓冲区、路由、输出六个部分:......