- 博客(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关注的人