网络
Kubernetes 网络流量转发详解
· ☕ 16 分钟
本文翻译自 https://learnk8s.io/kubernetes-network-packets,并没有逐字翻译,带入了些自己的理解。 阅读本文,你可以了解在 Kubernetes 内外,数据包是如何转发的,从原始的 Web 请求开始,到托管应用程序的容器。 Kubernetes 网络要

使用 Kindling 观测 Kubernetes 的网络连接
· ☕ 3 分钟
最近有一个需求,收集 Kubernetes 的外网访问情况。因此对相关项目进行了调用和试用,本篇主要是介绍如何安装 Kindling,配置 Grafana 查看 Kubernetes 网络连接数据。 1. 什么是 Kindling Kindling 解决的是,在不入侵应用的前提下,如何观测网络的问题,其功能主要是通过暴露内核事件来实现观测。

面向全球的镜像分发网络
· ☕ 5 分钟
1. 全球的网络规划 很多面向全球的多区域基础设施,在设计之初并没有在网络规划上花费太多心思。当业务复杂到一定程度时,又被逼着进行网络调整和优化。而任何网络上的大调整,都将对业务产生巨大影响。最终会陷入进退两难之地,只能投入更多人力,背上历史包袱

使用 Cilium 替换 Calico
· ☕ 1 分钟
1. 系统要求 Kubernetes, >= 1.16.0-0 Helm, >= 3.0 Linux 内核 >= 4.9.17 CentOS 7 升级内核过程,可以参考 Calico 下如何切换数据面到 eBPF 。 2. 卸载 Calico 删除集群资源 1 2 3 4 5 6 kubectl -n kube-system delete ds calico-node kubectl -n kube-system delete deploy calico-kube-controllers kubectl -n kube-system delete sa calico-node kubectl -n kube-system delete sa calico-kube-controllers kubectl -n kube-system delete cm calico-config kubectl -n kube-system delete secret calico-config 1 kubectl get crd | grep calico | awk '{print $1}' | xargs

Calico 下如何切换数据面到 eBPF
· ☕ 1 分钟
1. 环境准备 1.1 Calico eBPF 要求 系统要求 Ubuntu 18.04.4+ Red Hat v8.2 Linux kernel v5.3+ 如果 Calico 没有检测到兼容的内核,将会回退到标准模式。 每个节点的 /sys/fs/bpf 都需要挂载有 BPF 文件系统 Calico 版本不低于 3.13 1.2 升级内核 这里使用的是 CentOS 7 操作系统: 1 2 3 uname -rv 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 内核版本不满足要求,因此需要升级内核