自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(272)
  • 收藏
  • 关注

原创 Kubernetes(k8s)-故障检查和故障自愈(NPD(Node Problem Detector))介绍和应用

Node Problem Detector(NPD)是Kubernetes社区维护的开源工具,旨在检测节点级别的异常状态(如硬件故障、内核问题、容器运行时错误等),并将问题上报至Kubernetes事件系统或Node Condition,为集群自愈提供依据。

2025-05-06 20:33:50 264

原创 Kubernetes(k8s)-自动扩缩工作负载(HPA)

我们前面通过手工配置Pod副本的增加或者减少,但是在实际环境我们关键业务可能存在意想不到突发流量,如果我们手工配置把每个业务都配置更多的副本数量,对我们的资源控制和调度可能会产生影响,kubernetes给我们提供了要给HorizontalPodAutoscaler (HPA) 实现工作负载的自动水平扩缩。

2025-05-05 15:42:49 220

原创 Kubernetes(k8s)-图形化监控(Grafana)

上一小节我们介绍了Prometheus的监控的图形界面,由于他没有密码,并且界面看起来也不怎么样,所以一般我们不会直接使用他,图形界面一般我们都使用Grafana。当我们的Grafana数据异常的时候,我们可以去通过Prometheus去查原始数据。

2025-04-30 21:21:18 678

原创 Kubernetes(k8s)-Prometheus(监控项目)

我们上一些小节介绍Pormetheus的安装,已经可以通过查看监控项目&报警等信息,但是这些监控信息是怎么来的,又有哪些监控指标,今天我们这小节就来介绍这些信息。

2025-04-29 22:29:28 909

原创 Kubernetes(k8s)-Prometheus安装

我们上一小节对Prometheus做了一个简单的介绍,本小节我们就来介绍下Prometheus的安装。Prometheus支持通过二进制包、Docker 容器、Kubernetes Operator(如 Prometheus Operator)来进行安装。

2025-04-28 20:40:15 579

原创 Kubernetes(k8s)-集群监控(Prometheus)

目前在Kubernetes集群的监控里面Prometheus已经是事实上的标准,所以我们的的监控也是基于他来讲解的。

2025-04-27 21:04:26 947

原创 Kubernetes(k8s)-ZooKeeper-Opterator部署与使用指南

上小节我们讲解使用Opterator搭建了单机版的Mariadb和mariadb galera cluster集群,今天这个小节我们来讲解另外一个Opterator。

2025-04-24 19:24:43 397

原创 Kubernetes(k8s)-Mariadb-Opterator部署与使用指南

我们上一小节,介绍了什么是Opterator,今天我们就来介绍一个可以用于生产环境的Opterator:Mariadb-Opterator。为什么说它支持生产环境使用呢?一是我有这个产品的生产维护经验,二是Mariadb支持多主模式,天生就支持分布式。

2025-04-23 21:01:57 425

原创 Kubernetes(k8s)-Opterator介绍

我们前面讲解了自定义资源CRD(Custom Resource Definition),实际上我们今天讲解的Operator就是基于CRD的具体实现。而且我们在前面讲ServiceCatalog的时候说过ServiceCatalog已经停止更新,但是对于外部资源的需求和管理我们并没有消失,而Operator就是其中一种思路。

2025-04-22 21:57:32 746

原创 Kubernetes(k8s)-自定义资源(CRD)

我们前面讲的各种工作负载,存储,安全配置类都是属于Kubernetes集群提供给我们的内置概念,一般的需求都是可以满足的,但是对于一些复杂的自定义需求就无法满足,所以Kubernetes给我们提供了一个接口,让我们可以自定义资源,并且统一纳入Kuberntes进行管理。实际上我们讲解的部分资源已经包含了CRD信息在里面。

2025-04-21 20:00:59 484

原创 Kubernetes(k8s)-Registry&Harobr配置COS存储

我们前面讲解过Docker的仓库Registry和Harobr,默认数据都是存储本地的,并不符合高可用的原则。今天我们来提供一个数据在对象存储的思路,可供参考。这个也是我以前在某云厂商时候的标准方案。

2025-04-20 20:57:58 733

原创 Kubernetes(k8s)-仪表板(Dashboard)部署和访问

到目前为止,我们所有的操作都是通过kubectl命令来操作我们的集群,我们是否可以通过网页来操作集群,这就是我们今天要讲解的Dashboard。

2025-04-19 17:35:20 882

原创 Kubernetes(k8s)-高可用集群部署v1.32.2(生产可用)

前面我们在讲解各种资源的时候部署过很多集群,但是都是单机版形式的,正在生产集群是需要高可用的,所以以下就来演示一个生产高可用集群当前最新版本Kubernetes v1.32.2,为了后续部分演示所以这里启用了3个Node节点,如果只验证高可用实际上不用Node也可以。

2025-04-18 21:23:16 996

原创 Kubernetes(k8s)-服务目录(ServiceCatalog)介绍(二)

上一小节我们介绍了ServiceCatalog的基本情况和架构,本小节就讲详细介绍里面涉及到的几个概念,这里有些概念离开了ServiceCatalog就失效,但是有些概念还会继续使用。

2025-04-16 20:05:05 611

原创 Kubernetes(k8s)-服务目录(ServiceCatalog)介绍(一)

ServiceCatalog 是一个 Kubernetes 的扩展机制,它提供了一种在集群中管理和使用外部服务的标准化方式。

2025-04-15 20:19:25 557

原创 Kubernetes(k8s)-externalTrafficPolicy介绍和应用

externalTrafficPolicy 是 Kubernetes 中 Service 资源的一个属性,它主要用于控制 Service 如何将流量路由到 Pod

2025-04-14 19:55:55 782

原创 Kubernetes(k8s)-网络插件(Calico)

我们上一小节介绍的Flannel插件是最简单的,也是最广泛的插件,和Flaanel插件使用同样的广泛的插件还有一个叫Calico,今天我们就来介绍Calico插件。

2025-04-13 19:43:42 907

原创 Kubernetes(k8s)-网络插件(Flannel)

在Kubernetes里面使用比较广泛的网络插件主要是Flannel和Calico,当然还有使用最新的eBPF技术的Cilium。本小节我们讲解Flannel。

2025-04-12 21:25:53 950

原创 Kubernetes(k8s)-容器网络接口(CNI)介绍

CNI(Container Network Interface)是一个容器网络接口标准,由CoreOS提出,旨在为容器平台提供一种标准的网络配置解决方案。CNI的主要目标是简化容器的网络连接,并使其可插拔,允许容器运行时(如Kubernetes、Docker等)通过插件与各种网络方案集成。

2025-04-11 21:46:51 441

原创 Kubernetes(k8s)-常用命令(kubectl命令)

我们到目前为止已经将了很多Kubernetes的资源,对于我们操作这些资源的命令也很多,今天就来给大家一个总结。

2025-04-10 21:13:42 841

原创 Kubernetes(k8s)-备份&Etcd介绍

讲解备份之前,我们需要先知道Kubernetes集群的数据存储在哪里,知道了数据存储在哪里,我们是不是只要备份数据库的内容即可。Kubernetes的的数据经过我们前面多个小节的介绍,我们已经知道他数据都存储在Etcd数据库里面,哪我们应该怎么备份数据库呢?

2025-04-09 20:33:05 878

原创 Kubenetes(k8s)-集群日志

我们在执行kubeclt命令也好,还是查看控制节点的日志也好,默认的日志级别较低,部分日志并不会显示出来,比如我们前面介绍的其他组件的时候就调整过组件的日志。

2025-04-08 20:18:38 287

原创 Kubernetes(k8s)-命名空间(Namespace)介绍

在Kubernetes中,命名空间(Namespace)是用于实现多租户环境的一种资源隔离机制。

2025-04-07 19:42:09 986

原创 Kubernetes(k8s)-Reloader介绍&使用

Reloader 是一个Kubernetes控制器,它可以监控配置文件(ConfigMap)或秘密(Secrets)的变化,并在这些资源发生变化时重新启动或重新加载相应的Pod。

2025-04-06 18:12:02 546

原创 Kubernetes(k8s)-注解(Annotations)介绍

Kubernetes 注解(Annotations)是 Kubernetes API 中的一个特性,用于添加任意非标识性的元数据到对象上。注解可以用来保存对象的附加信息,这些信息可以用来对对象进行说明、提供调试信息、配置指令或者其他你希望与对象关联的信息。

2025-04-05 23:39:34 236

原创 Kubernetes(k8s)-NodeStatus(PLEG)介绍

前面介绍了Pod的创建过程和Pod各个状态,今天我们来讲讲Node的状态。Pod的状态可以有很多,但是Node状态实际上只有2个,一个是正常的Ready,和一个非正常状态NotReady。

2025-04-04 20:38:07 468

原创 Kubernetes(k8s)-Pod状态(Status)

我们前面介绍了很多类型的工作负载,最后都会落实到具体的Pod上的。上一小节我们也介绍了Pod的创建流程,实际运维中Pod状态也会根据实际情况进行变化,所以了解Pod的各种状态,对于分析处理问题非常有帮助。

2025-04-03 19:56:26 920

原创 Kubernetes(k8s)-Pod创建流程

Pod是整个Kubernetes的最核心的资源,当我们完成部署集群部署以后,我们对集群的维护实际上主要的就是针对Pod维护,其他资源很少会修改调整,但是Pod却会因为版本发布而经常调整,所以我们用了单独一小节来介绍Pod的创建过程。该问题也是面试Kubernetes相关岗位最常问的问题之一。

2025-04-02 21:37:55 974

原创 Kubernetes(k8s)-日志(logs)和exec内部逻辑

在我们日常运维当中,经常需要看容器日志或者进入容器,Docker里面我们使用的参数是logs和exec。Kubernetes里面使用Kubectl命令也有2个同样的参数

2025-04-01 20:29:12 659

原创 Kubernetes(k8s)-服务质量(QoS)

当节点上的资源变得紧张时,Kubernetes 必须决定哪些 Pod 应该被驱逐以释放资源。QoS 类别决定了这些决策的优先级

2025-03-31 18:01:23 732

原创 Kubernetes(k8s)-隔离(Cordon)和驱逐(Drain)

某些机器因为软件或者硬件等其他原因需要进行维修,但是这些机器已经运行了不少Pod,这个时候我们应该怎么做呢?是直接暴力关机让Pod通过控制器自动飘逸到其他节点上,还是有更优雅一点的方案?针对这个问题,Kubernetes给我们提供了两个优雅的方案:隔离(Cordon)和驱逐(Eviction)。

2025-03-30 20:00:12 494

原创 Kubernetes(k8s)-RBAC用户账户(UserAccount)介绍&应用

我们上一小节介绍了使用RBAC给服务账户(ServiceAccount)添加权限,这个这个方式一般用于Pod内部,如果需要应用到Pod外部,比如我需要另外一个人来帮我维护我这个Kubernetes集群,但是我不能给他管理员权限,我需要给他创建一个相对较小的权限:比如我只允许他操作命名空间:user001;资源:pod,svc,权限:所有。

2025-03-29 15:54:59 455

原创 Kubernetes(k8s)-RBAC服务账户(ServiceAccount)介绍&应用

Kubernetes管理的ServiceAccount(服务账户,简称sa)和UserAccount(用户账户)。

2025-03-28 20:49:39 1031

原创 Kubernetes(k8s)-创建永久(100年)证书

kubeadm并没有给我们提供修改证书的功能,这个计算逻辑在Kubeadm的源代码里面,所以只能修改源代码来实现。

2025-03-27 20:51:02 286

原创 Kubernetes(k8s)-证书续期

上一小节我们介绍了Kubernetes里面涉及到的证书,有的有效期是10年,有的有效期是1年,而且除了根证书是10年,实际业务使用的证书都是1年。如果证书到期,我们应该怎么续期呢?

2025-03-26 19:56:44 884

原创 Kubernetes(k8s)-证书介绍

目前的版本默认走的都是6443的https协议,而且这个和我们常见的https协议不一样,普通的https协议是服务端配置证书,客户端不需要做任何配置。但是在Kubernetes里面这里的https走的是双向证书,简单来说就是客户端也必须带上自己证书,并且这个证书还是有权限控制的,然后才能请求服务端。

2025-03-25 20:10:36 656

原创 Kubernetes(k8s)-Pod亲和性(Affinity)和反亲和性(Anti-affinity)

我们上小节介绍了Node亲和性(Affinity)和反亲和性(Anti-affinity)本质上还是属于Node和Pod的之间的调度规则。如果我们有一个需求要求同一个Deployment下的Pod不能调度到同一个节点,避免将同一个应用全部调度到某台服务器。

2025-03-24 19:38:00 828

原创 Kubernetes(k8s)-Node亲和性(Affinity)和反亲和性(Anti-affinity)

我们前面介绍了2种调度算法:标签(label)和NodeSelectors;污点(Taints)和容忍(Tolerations)。虽然可以满足我们一般的调度需求,但是不够灵活,所以Kubernetes给我们提供了另外2个资源亲和性(Affinity)和反亲和性(Anti-affinity)

2025-03-23 19:59:54 808

原创 Kubernetes(k8s)-污点(Taints)和容忍(Tolerations)

在 Kubernetes 中,污点(Taints)是一种将节点标记为不适宜运行某些 Pod 的机制。污点可以用来确保 Pod 不会被调度到不合适的节点上。与节点亲和性(Node Affinity)相反,污点是一种排斥机制。

2025-03-22 21:11:38 1097

原创 Kubernetes(k8s)-标签(label)和nodeSelector介绍

我们前面介绍了Kubernetes的在调度过程中会进行预选,其中资源是一个很重要的因素,另外其他预选条件很大部分都是通过标签(label)来实现的。

2025-03-21 20:43:46 555

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除