容器
容器下的两地三中心建设
· ☕ 4 分钟
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

/var/lib/docker 能不能挂载远端存储
· ☕ 3 分钟
不能 1. 问题背景 基于 Kubernetes 构建可靠、稳定的运维系统时,虚拟机 (VM) 的销毁和新建是一种常态。VM 提供的是计算和内存资源,而使用外部存储,通过 StorageClass 提供给集群中的 PVC 消费。 在这样的背景下,如何快速初始化 VM 成为新的挑战。常见的思路是制作 Node 节点的 VM 镜像,提前将依赖

如何搭建一个私有的镜像仓库 mirror
· ☕ 1 分钟
1. 为什么需要一个私有的镜像仓库 mirror 公网限速 dockerhub 拉取限制频率 减少拉取镜像时间 2. 创建一个 Registry 镜像加速服务 生成一个配置文件 version: 0.1 log: fields: service: registry storage: cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options: [nosniff] health: storagedriver: enabled: true interval: 10s threshold: 3 但这样启动的服务只能作为 Registry 而不是 Mirror。Registry 是用来存储镜像

老树开新花 - Cloud Native Buildpacks
· ☕ 4 分钟
1. Buildpack 老树开新花 Buildpacks 项目最早是由 Heroku 在 2011 年发起, 被以 Cloud Foundry 为代表的 PaaS 平台广泛采用。在之前的文档 《PaaS 部署之 buildpack》 中, 我演示了如何将一个 Django 应用部署到 Heroku 上。 Buildpacks 不足的是产出包是 Droplet 格式, 不能直接适配容器平台。 在 2018 年 1 月, Pivotal 和 Heroku 发起了一个项