K8S 八月 06, 2023

kubelet 架构设计解析之 Memory Manager

文章字数 11k 阅读约需 10 mins.

作者:@weiliang-ms

Memory Manager(译为内存管理器)是 kubelet 内部的一个组件,旨在为 Guaranteed QoS 类型 pod 提供保证内存(和大页内存)分配功能...

查看全文

K8S 七月 30, 2023

kubelet 架构设计解析之 CPU Manager

文章字数 20k 阅读约需 18 mins.

作者:@weiliang-ms

CPU Manager 是 kubelet 的一个组件,能够让用户给容器分配独占 CPU。CPU Manager 从 Kubernetes v1.10 进入 Beta 阶段, 在 Kubernetes v1.26 中,它进阶至正式发布(GA)状态。

注:本文涉及源码基于 kubernetes v1.23

为 pod 固定 CPU(核心),减少 CPU 上下文切换,提高缓存亲和性,从而降低应用程序延迟和提高的 CPU 吞吐量。

大多数 linux 平台基于以下三种...

查看全文

K8S 十二月 18, 2022

基于 KubeSphere 的运管系统落地实践

文章字数 12k 阅读约需 11 mins.

作者:任建伟 @weiliang-ms

首发于:https://mp.weixin.qq.com/s/d5a9uGpdM4sAdCQ461FbYg

接触容器化之前,我们应用一直基于虚拟机运管,由开发人员自行维护。

由于面向多开发部门服务,而开发人员运维能力参差不齐,导致了每次部署新的环境时往往耗费大量时间。

针对部署难的问题,我们将部分组件、服务容器化,采用 Docker 发布管理解决了部分问题,但仍未降低对开发人员的运维技能要求。

下面是我们基于虚拟机管理开发环境的流程:

从上图我们也能发现...

查看全文

K8S 十一月 20, 2022

K8s 中的 MySQL 频繁重启问题调查

文章字数 5.7k 阅读约需 5 mins.

K8s 集群中部署了一个 MySQL 实例,使用过程中发现,由于配置了健康检查,健康检查频繁失败,导致容器被频繁重启,无法提供稳定的 MySQL 服务。

MySQL 日志中的相关报错信息如下:

[ERROR] Can't create thread to handle new connection(errno= 11)

在重新启动后,能够正常使用一小段时间,之后就会报出这个错误,并陆续关闭客户端连接,直至关闭服务,重启容器。如此反复,每天能重启近百次。

通过 kubectl describe...

查看全文

BOOK 十月 30, 2022

《Istio in Action》书摘

文章字数 38k 阅读约需 34 mins.

1.4.3 Meet Envoy proxy

  • Envoy gives us networking capabilities like retries, timeouts, circuit breaking, client-side load balancing, service discovery, security, and metrics-collection without any explicit language or framework dependencies.
  • The power...
查看全文

BOOK 十月 23, 2022

《Kubernetes Patterns》书摘

文章字数 25k 阅读约需 23 mins.

  • Local and distributed primitives

Annotations

  • Another primitive very similar to labels is called annotations. Like labels, annotations are organized as a map, but they are intended for specifying nonsearchable metadata and for machine usage rather than...
查看全文
0%