节点
如何升级 Kubernetes 节点的 cgroup 版本
· ☕ 2 分钟
1. cgroup v1 与 v2 接口路径差别 v1 1 2 3 4 /sys/fs/cgroup/cpu/cpu.cfs_quota_us /sys/fs/cgroup/cpu/cpuacct.usage /sys/fs/cgroup/memory/memory.limit_in_bytes /sys/fs/cgroup/memory/memory.usage_in_bytes v2 1 2 3 4 /sys/fs/cgroup/cpu.max /sys/fs/cgroup/cpu.stat /sys/fs/cgroup/memory.max /sys/fs/cgroup/memory.current cgroup v2 是 v1 的升级版本,具有更统一的资层级管理、精准的资源隔离等优点。但也导致了,写代码时,读取相关接口文件时路径不一样,需要做兼容处理。另外,一个思路就是,统一到一个 cgroup 版本。 Kubernetes 默认支持

集群节点的弹性扩缩
· ☕ 3 分钟
弹性伸缩主要有三个维度: HPA,根据利用率,自动伸缩 Pod 数量 VPA,根据历史数据,自动设置 Pod 的 Request、Limit CA,根据使用率,自动伸缩 Node 数量 本篇主要讨论的是节点扩缩容部分。 1. 自动扩缩容组件 autoscaler autoscaler 是 Kubernetes 社区维护的项目。目前 autoscaler 组件已经提供

Kubernetes 集群规划之规模与节点大小
· ☕ 1 分钟
从调研数据来看,大家选择小集群的比较较高。下面是从节点数、节点配置角度提供的一份对比列表。 下面是选择少量大集群,还是多个小集群的对比列表: 特征 少量大集群 多个小集群 资源利用率 高 低 管理节点开销 低 高 资源伸缩范围 大 小 资源调度范围 大 小 应用间通信效率 高

如何修改 Kubelet 的启动参数
· ☕ 1 分钟
1. 编辑 Kubelet 配置文件 1 vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 修改 Kubelet 相关参数 ExecStart=/usr/local/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS 可以通过如下命令查看可选的参数: 1 kubelet --help 例如需要修改,KUBELET_KUBECONFIG_ARGS 的 --sync-frequency , 同步容器配置的时钟周期,默认值是 1 min。其含义是,更新了容器挂载的配置文件 1 min 之后,容器

Kubernetes 添加 Windows 节点
· ☕ 4 分钟
这里主要使用 Windows 节点作为 Worker,而 Master 控制平面依然在 Linux 。 1. 系统配置 1.1 Kubernetes 控制平面 Kubernetes 自 1.14 版本,增加了对 Windows 节点生产级的支持。由于微软官方文档主要提供的是 flannel 网络插件的安装方式,这里建议 Kubernetes 也采用 flannel 插件。 查看当前集群 Kubernetes 版本 1 2 3 4 kubectl version Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.6", GitCommit:"d32e40e20d167e103faf894261614c5b45c44198", GitTreeState:"clean", BuildDate:"2020-05-20T13:16:24Z",