- 博客(82)
- 收藏
- 关注
原创 01.kubernetes 中 containerd安装与配置
Kubernetes中Containerd安装与配置指南 本文介绍了在Kubernetes集群中安装和配置Containerd容器运行时的详细步骤。主要内容包括: 二进制安装:提供了两种安装方式,一种是基础安装包(containerd+ctr),另一种是优选安装包(包含containerd、CNI插件和runc) 依赖组件安装: runc安装与版本验证 CNI网络插件安装(为K8S网络解决方案准备) 服务配置: 创建systemd服务文件 生成默认配置文件 修改Cgroup管理为systemd 配置paus
2025-08-12 13:26:21
1421
原创 kubernetes 中 docker安装与配置
Kubernetes 1.24版本前使用Docker作为容器运行时,依赖containerd管理容器。本文介绍离线安装Docker运行时的步骤:1)下载Docker-CE二进制包并解压到/usr/bin;2)配置containerd服务,包括systemd单元文件设置和启动服务;3)配置Docker服务,创建docker.socket和docker.service的systemd配置文件,详细说明了启动顺序和依赖关系(如网络、containerd等),最后启动并启用Docker服务。关键点包含systemd
2025-08-12 11:31:09
940
原创 kubernetes 生产环境docker 切换 Containerd容器运行时
1 查看 /var/lib/kubelet/kubeadm-flags.env 内容2 修改 --container-runtime-endpoint 为 unix:///run/containerd/containerd.sock3 重启 kubelet:systemctl restart kubelet4 验证:kubectl get nodes -o wide。
2025-08-11 22:39:18
514
原创 ubuntu25.04-kubeadm-v1.33.0
本文介绍了在Ubuntu25.04系统上部署Kubernetes v1.33.3集群的详细步骤,适用于100节点以下的中小企业环境。主要内容包括:1)集群规划,采用3个master和1个worker节点架构;2)系统初始化配置,包括SSH权限、工具安装、时间同步、swap关闭等;3)网络优化,包括桥接流量设置和IPv4转发配置;4)内核参数调优。文档提供了完整的命令和配置文件,确保读者能够快速完成生产级Kubernetes集群的部署。
2025-08-11 22:16:38
1038
原创 14.Kubernetes 生产级 Kubernetes Deployment 配置示例
就绪探针 /health/readiness 检查业务就绪状态(如数据库连接、线程池状态、缓存预热)版本兼容:Spring Boot Actuator 等框架需启用 /shutdown 端点(默认关闭)启动探针 /health/startup 检测应用初始化完成(如 JVM 启动、配置文件加载)存活探针 /health/liveness 仅检查进程存活状态(避免依赖外部服务)日志追踪:记录健康检查失败详情(如 kubectl logs --previous)
2025-04-13 20:52:04
515
原创 14.Kubernetes 就绪性探针(Readiness Probe)详解
就绪性探针(Readiness Probe)用于检测容器是否已准备好接收外部流量。其核心机制包括:流量控制:探针成功时,Pod IP 被加入 Service 的 Endpoints 列表,允许流量转发;失败时则从列表中移除,暂停流量分发至该 Pod。业务就绪保障:确保 Pod 完成初始化(如加载配置、预热程序)后才开放服务请求,避免未就绪实例处理请求导致失败。
2025-04-13 20:51:31
1961
原创 14.Kubernetes 存活性探针(Liveness Probe)详解
区分存活性与就绪性探针 存活探针关注容器是否正常运行(失败触发重启),就绪探针关注容器是否准备好接收流量(失败则从 Service 中移除)。对启动耗时的应用(如加载大数据文件),需配置 startupProbe 延迟 livenessProbe 检测,防止启动阶段被误重启。避免与启动探针冲突 若容器启动较慢,需配合 启动探针(Startup Probe) 使用,确保存活探针不会在启动阶段误判。依赖外部资源的服务 若服务因依赖项故障(如数据库连接失败)无法运行,探针可重启容器尝试恢复。
2025-04-13 20:49:46
1284
原创 13.Kubernetes kube-proxy 转发规则配置机制
kube-proxy 通过 监听 API Server 动态生成转发规则,核心流程为:Service/Endpoints 变更 → kube-proxy 接收事件 → 生成 iptables/IPVS 规则 → 流量按规则分发到 Pod选择 iptables 或 IPVS 模式需根据集群规模与性能需求权衡kubelet 探针 检测 Pod 健康状态;Endpoints Controller 维护可用 Pod IP 列表;kube-proxy 动态规则更新 剔除异常 Pod。
2025-04-13 19:35:23
1024
原创 13.Kubernetes kube-proxy部署方式
在传统二进制部署方案中,kube-proxy 通过手动或脚本安装到每个 Node 节点的 /opt/kubernetes/server/bin/ 等路径下,并配置为系统服务运行。在容器化集群中,执行 kubectl get pods -n kube-system | grep kube-proxy,确认每个 Node 对应一个运行中的 Pod。作为 Kubernetes 核心组件,kube-proxy 需直接管理节点上的网络规则(如 iptables/IPVS),因此需运行在承载 Pod 的节点上。
2025-04-13 19:31:49
542
原创 13.Kubernetes kube-proxy 与 Endpoints Controller 的联动机制
Endpoints Controller 监听 Pod/Service → 生成/更新 Endpoints → kube-proxy 监听 Endpoints → 生成/更新网络规则 → 流量按新规则转发。持续监听 Service 和 Pod 资源的变化(如标签变更、Pod 状态变化),动态维护与 Service 关联的 Endpoints 对象,记录当前匹配的 Pod IP 和端口列表。Endpoints 变更(如 Pod IP 列表变化):仅更新受影响 Service 的转发规则。
2025-04-13 19:31:13
626
原创 13.Kubernetes kube-proxy 工作原理
规则维护:通过监听 API Server 的 Service 和 Endpoints 资源变更,动态生成并维护节点上的网络转发规则(如 iptables/IPVS 规则),确保流量按需路由。kube-proxy 通过 事件驱动 和 动态规则生成 机制,保障 Service 的稳定访问与高可用性,其性能与实现细节因模式(iptables/IPVS)而异。事件处理:当 Service 的端口、ClusterIP 或关联 Pod(Endpoints)变化时,触发规则更新。1.iptables 模式(默认模式)
2025-04-13 19:30:42
589
原创 13.Kubernetes Endpoints 工作原理
Endpoints Controller 是 Kubernetes 中的一个核心组件,它负责维护 Kubernetes Service 的 endpoints 资源,以确保服务能够正确地将流量路由到其背后的 Pod。Endpoints Controller 以响应式的方式工作,这意味着它会实时地响应 Service 和 Pod 的变化,并立即更新 Endpoints 或 EndpointSlices 资源。Endpoints 资源包含了能够被 Service 路由到的 Pod 的 IP 地址和端口号信息。
2025-04-13 19:30:09
977
原创 13.Kubernetes Service 创建
通过上述机制,Service 实现了对动态 Pod 的稳定代理,而 Deployment 保障了 Pod 的可用性,二者协同支撑 Kubernetes 应用的弹性与可观测性。Deployment 通过模板 (spec.template) 定义 Pod 的配置(如镜像、标签等),并确保指定数量的 Pod 副本运行。当 Deployment 更新 Pod(如滚动升级)时,Service 会自动感知新 Pod 的 IP,实现无缝流量切换。Pod 运行应用实例 通过标签被 Service 发现,成为流量后端。
2025-04-13 19:29:38
1016
原创 13.Kubernetes Service 服务类型03
类型 访问范围 适用场景 依赖组件ClusterIP 集群内部 微服务间通信、内部中间件 kube-proxy/DNSNodePort 外部通过节点IP 开发测试、非云环境临时暴露 NodePort + ClusterIPLoadBalancer 外部公网 生产环境高可用服务暴露 云平台负载均衡器。
2025-04-13 19:28:55
554
原创 13.Kubernetes Service 工作流程02
1.用户定义 Service通过 YAML 文件或 kubectl 命令创建 Service,指定 标签选择器(selector)、端口映射(port 与 targetPort)及类型(如 ClusterIP、NodePort)。metadata:spec:selector:ports:- port: 80API Server 记录元数据Service 定义提交至 Kubernetes API Server,生成 Service 对象并存储于 etcd。
2025-04-13 19:28:05
651
原创 13.Kubernetes Service 工作原理01
用户通过 YAML 文件或 kubectl create service 命令定义 Service,指定标签选择器(Selector) 和端口映射规则(如 port、targetPort)并将其保存到 ETCD。Service Controller 监听 API Server 中的 Service 对象变更,触发后续流程。1.Service 的工作流程主要包括以下步骤:客户端发送请求:用户或应用程序通过 Service 的虚拟 IP 地址(Cluster IP)或域名发送请求。
2025-04-13 19:27:01
697
原创 10.kubectl configmap 官方指南03
kubectl create configmap game-config-3 --from-file=<我的键名>=<文件路径><我的键名> 是你要在 ConfigMap 中使用的键名,<文件路径> 是你想要键所表示的数据源文件的位置。# 创建# 查看data:lives=3metadata:使用单个 ConfigMap 中的数据定义容器环境变量2.将 ConfigMap 中定义的 special.how 赋值给 Pod 规约中的 SPECIAL_LEVEL_KEY 环境变量。
2025-04-11 22:13:15
841
原创 数据中心机房运行分析报告
本服务报告作为一种有效的沟通方式、其目的是对数据中心机房运行情况进行总结,对出现的问题给予说明,以方便客户、用户、公司领导等相关人员对系统状态和机房运行情况的了解,并为领导决策提供依据。整体来看,WAF 应用防火墙的设备状态稳定,主要包括CPU、内存、硬盘的使用情况,以及系统的安全状态和网络运营情况。【本报告用于记录该月数据中心机房运行维护情况及人员情况,运行情况趋势分析与总结回顾】,包括对该月系统的可用性、性能、改进措施建议等内容。起止时间: 2025年x月x日 - 2025年x月 x日。
2025-04-11 21:51:58
2156
原创 2025第1季度总结
总结:本季度在运维稳定性、项目交付效率及客户服务能力上实现多维突破,为后续季度目标达成奠定坚实基础。运维体系:推进运维体系标准化建设,实现文档与流程的规范化管理。客户服务:推进精细化服务标准,建立快速响应与深度支持机制。零重大故障、99.95%可用率。完成5+运维合同拟定及答疑。1个重点项目按期上线。资源利用率提升50%。客户满意度100%。CNH项目全周期交付。输出55+篇技术文档。部署效率提升30%。
2025-04-11 20:56:01
514
原创 10.kubectl configmap 使用指南02
ConfigMap 中的数据可以用于设置 Pod 中的环境变量、命令行参数或者挂载为卷。为了更新容器中使用 ConfigMap 挂载的配置,可以通过滚动更新 Pod 的方式来强制重新挂载 ConfigMap,也可以在更新了 ConfigMap 后,先将副本数设置为 0,然后再扩容。你可以事先写好一个标准的 ConfigMap YAML 文件,然后使用 kubectl create -f 命令来创建 ConfigMap。你可以在 Pod 的启动命令中引用 ConfigMap 中的数据。注意:子目录将被忽略。
2025-04-08 21:59:03
592
原创 10.kubectl configmap 使用指南01
这将创建一个名为 api-token-config 的 ConfigMap,其中包含一个键 APITOKEN,其值为 api-token.txt 文件的内容。这将创建一个名为 my-config 的 ConfigMap,其中包含 foo.env 和 bar.env 文件中的键值对。这将创建一个名为 my-config 的 ConfigMap,其中包含 path/to/bar 目录下所有有效文件的内容。创建一个包含令牌的文件创建一个文件,例如 api-token.txt,内容为您的 API 令牌。
2025-04-08 21:58:31
1133
原创 10.kubectl secret 应用示例-04
Secret用于在Kubernetes中存储和管理敏感信息,如密码、OAuth令牌和SSH密钥等。将这些信息存储在Secret中,可以更方便地控制如何使用数据,并减少暴露的风险。
2025-04-07 18:08:57
456
原创 10.kubectl secret 应用示例-03
本文档详细介绍了如何在 Kubernetes 中创建 TLS Secret,包括生成自签名证书、创建 Secret 以及在 Kubernetes 中使用该 Secret 的完整流程。
2025-04-07 18:08:11
440
原创 10.kubectl secret 应用示例-02
镜像地址匹配:docker-server 必须与镜像地址完全一致(例如 registry.example.com vs example.com 视为不同地址)。您已经提供了Deployment的YAML定义,其中imagePullSecrets部分已经正确引用了my-registry-secret。确保Deployment的命名空间与ImagePullSecret的命名空间相同,否则Deployment将无法引用Secret。这条命令会显示my-registry-secret的详细信息。
2025-04-07 18:07:09
881
原创 10.kubectl secret 应用示例-01
在这个定义中,Pod中的容器my-container将环境变量MY_SECRET_KEY设置为Secret my-secret中的key1的值。这条命令会创建一个名为my-secret的Opaque类型Secret,其中包含一个键值对:key1: value1。Secret中的数据在etcd中是base64编码存储的,但在Pod中引用时会被自动解码。确保Pod的命名空间与Secret的命名空间相同,否则Pod将无法引用Secret。这条命令会列出所有Secret,您应该能看到my-secret在列表中。
2025-04-07 18:06:14
407
原创 10.kubectl secret 使用指南-02
在Kubernetes中,Secret用于存储和管理敏感信息,如密码、OAuth令牌和SSH密钥等。将这些信息存储在Secret中可以更好地保护它们,而不是直接将其嵌入到Pod定义或容器镜像中。
2025-04-07 18:05:35
938
原创 10.kubectl secret 使用指南-01
例如:–from-file=ssh-privatekey=path/to/id_rsa 会将 id_rsa 文件的内容作为键 ssh-privatekey 的值。例如:–from-literal=password=supersecret 会创建一个键为 password、值为 supersecret 的 Secret。通过这种方式,您可以将现有的 .docker/config.json 文件内容作为 Kubernetes Secret,用于 Docker 注册中心的认证。没有指定键名则key的值为文件名。
2025-04-07 18:03:53
1136
原创 07.kubeadm 集群初始化使用指南00
kubeadm 是 Kubernetes 官方提供的集群管理工具,通过 kubeadm init 和 kubeadm join 快速搭建高可用集群。--apiserver-advertise-address 指定 API Server 监听的 IP 地址(默认使用主节点默认网卡地址) 多网卡环境下显式指定对外提供服务的 IP(如 192.168.1.100)--apiserver-bind-port 设置 API Server 监听的端口(默认 6443) 避免端口冲突时调整(如 6444)
2025-04-04 16:32:01
1145
原创 07.kubeadm 集群初始化命令指南10-upgrade
使用 kubeadm upgrade plan 检查哪些版本可以升级到,并验证当前集群是否可升级。kubeadm upgrade 是用于将 Kubernetes 集群平滑升级到新版本的工具。驱逐节点上的 Pod(kubectl drain <节点名>),升级后恢复调度(kubectl uncordon <节点名>)。组件一致性:确保所有节点的 kubeadm、kubelet、kubectl 版本一致。用于节点级别的升级操作,包括:升级单个工作节点或控制平面节点。示例输出会显示可用的升级路径及预检结果。
2025-04-04 15:27:33
588
原创 07.kubeadm 集群初始化命令指南09-token
受限用途令牌 --usages=signing --groups=system:bootstrappers:auditroups=system:bootstrappers:autoscaler。格式要求:令牌必须遵循 “a-z0-9]{6}.a-z0-9]{16}” 的格式。多控制平面部署 --print-join-command --certificate-key=多控制平面部署 --print-join-command --certificate-key=
2025-04-04 13:43:49
792
原创 07.kubeadm 集群初始化命令指南08-reset
该命令用于 安全清理 Kubernetes 节点,撤销 kubeadm init 或 kubeadm join 操作产生的所有配置,适用于集群节点维护、故障恢复和测试环境重置场景。
2025-04-04 09:17:20
833
原创 12.kubernetes集群维护 权限配置指南02
在使用 kubectl 管理 Kubernetes 集群时,上下文(context)用于指定当前操作的目标集群、用户和命名空间。请注意,所有这些命令都使用了 --kubeconfig=“jenkins.kubeconfig” 参数来指定 kubeconfig 文件的位置。创建新的上下文通常涉及到指定集群、用户和命名空间。替换 <上下文名称>、<新的集群名称> 和 <新的用户名称> 为实际的值。替换 <上下文名称> 为你要切换到的上下文的名称。替换 <上下文名称> 为你要删除的上下文的名称。
2025-04-03 17:53:00
853
原创 07.kubernetes集群维护 权限配置指南01
在使用 kubectl 管理 Kubernetes 集群时,上下文(context)用于指定当前操作的目标集群、用户和命名空间。请注意,所有这些命令都使用了 --kubeconfig=“jenkins.kubeconfig” 参数来指定 kubeconfig 文件的位置。创建新的上下文通常涉及到指定集群、用户和命名空间。替换 <上下文名称>、<新的集群名称> 和 <新的用户名称> 为实际的值。替换 <上下文名称> 为你要切换到的上下文的名称。替换 <上下文名称> 为你要删除的上下文的名称。
2025-04-03 17:52:29
1065
原创 07.kubernetes 集群维护-节点重置与重新加入
需硬件维护/系统升级的节点发生不可恢复故障的节点(如内核崩溃、磁盘损坏)Kubernetes 组件异常且无法修复的节点。
2025-04-03 17:50:39
585
原创 06.kubeadm 命令使用指南07-kubeconfig
本指南介绍如何使用 kubeadm kubeconfig user 命令为 Kubernetes 集群新增用户生成独立的 kubeconfig 文件。该命令支持自定义用户证书和访问权限配置,适用于为特定用户(如 CI/CD 工具 Jenkins)创建受限访问的 kubeconfig 文件。确保生成的 kubeconfig 文件和 RBAC 配置文件符合安全最佳实践。在生产环境中,建议将证书有效期设置为 ≤ 1 年,并定期轮换证书和密钥。定期审查和更新权限配置,以适应变化的需求和安全性要求。
2025-04-03 17:49:20
623
原创 07.kubectl 上下文配置指南-01
定期备份配置文件:避免意外丢失,定期备份 ~/.kube/config 文件。文档更新:随着 Kubernetes 版本更新,定期审查和更新此指南。权限管理:确保配置文件权限正确设置,避免未授权访问。集群信息(API Server地址、CA证书)上下文(将用户、集群和命名空间绑定)用户凭证(证书、Token等)场景1:同时管理开发和生产集群。场景2:多团队协作隔离。
2025-04-03 17:48:13
338
原创 02.生产环境-02-Minio集群部署
本文档详细介绍了如何在六节点集群中部署Minio分布式存储系统。Minio是一种高性能、可扩展的对象存储服务,支持S3兼容接口,适用于私有云和混合云环境。
2025-04-02 21:36:10
1493
原创 02.生产环境-01-Minio集群部署
本文档详细介绍了如何在六节点集群中部署Minio分布式存储系统。Minio是一种高性能、可扩展的对象存储服务,支持S3兼容接口,适用于私有云和混合云环境。
2025-04-02 21:35:34
581
原创 01.生产环境-03-kafka4.0集群部署
controller.quorum.voters:这个配置用于指定controller主控选举的投票节点,所有process.roles包含controller角色的规划节点都要参与,即:zimug1、zimug2、zimug3。格式化操作完成之后,log.dirs目录下多出一个Meta.properties文件,存储了当前的kafka节点的id(node.id),当前节点属于哪个集群(cluster.id)日志检查:监控启动日志 logs/server.log,排查配置错误或网络问题。
2025-04-02 17:05:50
2390
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅