Kubernetes
为什么 top node、free、Grafana 的数据对不上
· ☕ 3 分钟
1. top 节点资源使用率超过 100% 1 2 3 4 5 6 kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% master-1 995m 16% 13760Mi 118% master-2 827m 13% 10672Mi 92% master-3 889m 14% 10244Mi 88% 这是由于在计算使用率时,默认使用的是可分配的资源,排除了 Kubelet 保留的部分。在 kubectl 源码中可以看到: 1 2 3 4 5 6 7 for _, n := range nodes { if !o.ShowCapacity { availableResources[n.Name] = n.Status.Allocatable } else { availableResources[n.Name] = n.Status.Capacity } } 如果需要查看

使用 JuiceFS 存储 Elasticsearch 数据
· ☕ 4 分钟
1. 存储方案 三种存储方案: 基于目录隔离公用一个 JuiceFS Elasticsearch 的节点共用一个 JuiceFS,通过子目录挂载不同的 Elasticsearch 节点。 /0/ 对应节点 Node-0 /1/ 对应节点 Node-1 /2/ 对应节点 Node-2 这种方式的好处主要是,易于扩展、配置方便。 基于 JuiceFS 隔离节点数据 Elasticsearch 每个节点都对接一个独立的 JuiceF

Volcano 使用基础
· ☕ 5 分钟
1. Volcano 简介 Volcano 是华为开源的一个基于 Kubernetes 的资源调度系统,相较于原生的调度器,具有的显著特点有: 支持 gang scheduling 对于批量作业的调度,容易碰到死锁的问题,比如两个作业都需要同时运行 10 个 Pod 才能启动,当两个作业同时提交时,可能都只有部分 Pod 被调度,两个作业都无法正常

Ops 新增 Server 及 UI 服务
· ☕ 2 分钟
1. 什么是 Ops 项目 我在之前的文章中介绍过一个常用的 Ops 工具。 Ops 的设计理念在于,运维工具的核心在于文本分发和脚本执行,实现了这两种能力就能够满足运维的功能诉求。 目前我主要的运维对象是 Host 主机、Kubernetes 集群,因此在 OpsObject 层实现了 Host 和 Cluster 对象,分别

kind 实用指南
· ☕ 2 分钟
1. 项目简介 kind 是使用容器管理 Kubernetes 集群的工具。项目地址 https://github.com/kubernetes-sigs/kind 。 主要用在: 本地开发环境 学习时的临时环境 自动化测试 2. 安装 kind macOS 1 brew install kind Linux 1 2 curl -Lo /usr/local/bin/kind https://kind.sigs.k8s.io/dl/v0.21.0/kind-linux-amd64 chmod +x /usr/local/bin/kind 3. 创建 kind 集群 如果你本地配置有 PROXY,在创建之间建议重新设置一下环境变量: 1 2 export https_proxy=http://x.x.x.x:7890 export http_proxy=http://x.x.x.x:7890 本地代理通常设