K8S 一月 19, 2024

正确管理kubernetes有状态应用之nacos

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

本文旨在分享 kubernetes 环境下如何管理 nacos,阅读本文需要一定 kubernetes 基础。

nacos 是阿里开源的一款注册中心、配置中心软件。更多信息移步:https://nacos...

查看全文

K8S 八月 06, 2023

kubelet 架构设计解析之 Memory Manager

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

作者:@weiliang-ms

Memory Manager(译为内存管理器)是 kubelet 内部的一个组件,旨在为 Guaranteed QoS 类型 pod 提供保证内存(和大页内存)分配功能,该特性提供了几种分配策略:

  1. 单 NUMA 策略:用于高性能和性能敏感的应用程序
  2. 多 NUMA 策略:补充完善单 NUMA 策略无法管理的情况

也就是说,只要 pod 所需的内存量超过单个 NUMA 节点的容量,就会使用多 NUMA 策略跨多个 NUMA 节点提供保证的内存。

在这两种场景中,内...

查看全文

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...

查看全文

K8S 十一月 21, 2021

【转】kubernetes中静态pod学习笔记

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

原文地址:https://www.jianshu.com/p/eac82da1a366

最近翻看kubelet源码,看到配置项的时候,发现了静态pod这一概念。

而本人也是使用kubespherek8s进行管理的,其中kubesphere启动k8s控制节点服务(控制器、调度器、apiserver)也是通过静态pod进行管理的。

由此,想学习学习静态pod的概念。

什么是静态pod

kubelet直接管理的pod被称为静态pod

我们通常通过以下方式创建pod:

  1. 调用api-server...
查看全文

K8S 十一月 07, 2021

【转】Linux CAP介绍与k8s下配置使用

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

原文地址:https://www.jianshu.com/p/a7f6c4f420fa

关于capability

发音

美[keɪpəˈbɪləti] 英[keɪpə'bɪləti]

译为能力功能,一般缩写CAP,以下我们简称CapabilitiesCAP

从内核2.2开始,Linux将传统上与超级用户root关联的特权划分为不同的单元,称为CAP

CAP作为线程(Linux并不真正区分进程和线程)的属性存在,每个单元可以独立启用和禁用。
如此一来,权限检查的过程就变成了:
在执行特...

查看全文

K8S 十月 10, 2021

【转】使用Finalizers控制k8s资源删除

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

原文地址:https://www.jianshu.com/p/c46f449d5bf2

文章引用

你有没有在使用k8s过程中遇到过这种情况: 通过kubectl delete指令删除一些资源时,一直处于Terminating状态。
这是为什么呢?

本文将介绍当你执行kubectl delete语句时,K8s内部都执行了哪些操作。
以及为何有些资源’删除不掉’(具体表现为一直Terminating,删除namespace...

查看全文

K8S 九月 25, 2021

【转】如何写一个operator

文章字数 14k 阅读约需 13 mins.

原文地址:https://www.jianshu.com/p/79476712575e

文章源地址请移步writing-a-controller-for-pod-labels

样例代码

operator旨在简化基于k8s部署有状态服务(例如:ceph集群、skywalking集群)

可以利用Operator SDK 构建一个operator
operator使扩展k8s及实现自定义调度变得更加简单。

尽管Operator SDK 适合构建功能齐全的operator
但也可以使用它来编写单个控制器...

查看全文

K8S 八月 01, 2021

Ingress 定制配置

文章字数 9.7k 阅读约需 9 mins.

K8s Ingress、Ingress Controller 和 Ingress Class 中介绍了 Ingress 相关的概念,接下来让我们看看如何对 Ingress 进行更加灵活的配置。

Ingress 的特性至 Kubernetes v1.19 进入了稳定状态,不论使用哪个具体的 Ingress Controller,这些配置都是生效的。

Path types

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal...
查看全文
加载更多
0%