kubectl logs previous参数详解
以下是关于 kubectl logs --previous 命令的核心要点、使用场景及注意事项的完整解析,结合 Kubernetes 日志管理机制和故障排查实践:
🧠 核心作用与原理
穿透容器重启迷雾
当容器因崩溃(如 CrashLoopBackOff)反复重启时,普通 kubectl logs 仅显示当前(可能未启动成功)容器的日志,而 --previous 可捕获上一个终止 ...
k8s 1.24.8使用kubectl patch关闭deployment的所有探针且不重启现有 Pod
要在 Kubernetes 1.24.8 中使用 kubectl patch 关闭 Deployment 的所有探针(Liveness、Readiness、Startup)且不重启现有 Pod,需通过 JSON Patch 移除探针配置,并避免触发滚动更新。以下是完整操作指南:
📝 操作步骤
确认目标 Deployment 名称和命名空间
kubectl get deployments -n <namespace> # 替换为实际命名空 ...
使用 Arthas 在 Pod PreStop Hook 中收集诊断数据
Arthas 是 Java 诊断的神器,非常适合在 Kubernetes PreStop Hook 中收集关键诊断数据。相比基础 JDK 工具,Arthas 提供了更强大的实时诊断能力,且能以异步非阻塞方式执行。
最佳实践:Arthas PreStop Hook 配置
apiVersion: apps/v1
kind: Deployment
metadata:
name: java-app
spec:
template:
spec:
cont ...
K8s中的RBAC认证授权之基于HTTPS证书给User授权认证
概述
本文主要介绍在K8s中如何使用证书给User进行授权认证。
在生产环境中,当你想给对应的人员分配不同的权限,则可以阅读这篇文章
阅读这篇文章之前,你应该有一些前置知识,应该知道K8s的授权认证
可以阅读这篇文章:一文搞懂K8s中的RBAC认证授权
实操
使用cfssl生成User的CA证书
cfssl可以阅读这篇文章:https://www ...
K8s新手系列之CronJob
概述
官方文档:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/cron-jobs/
CronJob控制器以 Job控制器资源为其管控对象,并借助它管理pod资源对象,Job控制器定义的作业任务在其控制器资源创建之后便会立即执行,但CronJob可以以类似于Linux操作系统的周期性任务作业计划的方式控制其运行时间点及重复 ...
一文搞懂K8s中的RBAC认证授权
概述
官方文档:
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/authorization/
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/
Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴 ...
Helm仓库管理
概述
官方文档:https://helm.sh/zh/docs/topics/chart_repository/
官方仓库:https://artifacthub.io/
Helm 仓库(Repository)是存储 Helm 图表(Chart)的地方,类似于软件包管理器的仓库(如 apt、yum 仓库)。
Helm 仓库是一个 HTTP 服务器,用于存储和共享 Helm Chart 的压缩包(.tgz 文件)及相关索引文件(index.y ...
wso2~部署~v4.2.0-alpha本地构建
让我先查看一下v4.2.0-alpha分支的构建相关信息:
Search files...
让我继续查看构建说明文档:
Search files...
让我查看一下项目根目录下的文件:
Ran tool
让我查看一下 INSTALL.txt 文件:
Read file: INSTALL.txt
让我查看一下 README.md 文件:
Read file: README.md
基于以上信息,我可以为您提供在v4.2.0-alpha分支 ...
Prometheus介绍及二进制安装
概述
官网:https://prometheus.io/
GitHub地址:https://github.com/prometheus/prometheus
Prometheus 是由 Cloud Native Computing Foundation(CNCF) 孵化的开源监控与告警系统,专注于实时数据采集、存储和查询,广泛应用于云原生、容器化(如 Kubernetes)和微服务架构中。它以灵活的数据模型、强大的查询语言和生态 ...
K8s新手系列之指定Pod调度到指定节点上
概述
在 Kubernetes 中,Pod的调度是通过kube-schedule来实现的,Pod的调度会经过一系列算法来进行完成。
在实际生产过程中,我们想让Pod调度到我们想要的节点上,往往通过kube-schedule默认的调度策略无法实现,这个时候我们需要指定一些策略来帮助我们实现。
将Pod调度到指定的节点上有三种方式:
nodeName:通过节点名 ...
Pod调度之亲和性
概述
官方文档:
https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity
在 Kubernetes(K8s)中,Pod 调度亲和性(Affinity) 是一种高级调度策略,用于 ...
Helm介绍及安装
概述
官方文档:https://helm.sh/zh/docs/
GitHub地址:https://github.com/helm/helm/releases
Helm 是一个用于管理 Kubernetes 应用程序的 包管理工具,由 CNCF(云原生计算基金会)孵化,旨在简化 Kubernetes 应用的部署、升级、回滚和管理。它通过定义、安装和更新复杂的 Kubernetes 应用程序,帮助开发人员和运维团队 ...
K8s新手系列之探针
概述
官方文档:
https://kubernetes.io/zh-cn/docs/concepts/configuration/liveness-readiness-startup-probes/
https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制。如果 ...
K8s集群中的DNS服务(CoreDNS)详解
概述
官网文档:https://kubernetes.io/zh-cn/docs/concepts/services-networking/dns-pod-service/
在 Kubernetes(K8s)中,DNS 服务是实现服务发现和 Pod 通信的核心组件之一,用于解决集群内资源通过域名而非 IP 地址进行访问的需求。本文将详细解析 K8s DNS 服务的原理、组件、配置及应用场景。
K8s DNS的作用
服务发 ...
K8s新手系列之Job资源
概述
官方文档:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/
Job 表示一次性任务,运行完成后就会停止。
Job 会创建一个或者多个 Pod,并将继续重试 Pod 的执行,直到指定数量的 Pod 成功终止。 随着 Pod 成功结束,Job 跟踪记录成功完成的 Pod 个数。 当数量达到指定的成功个数阈值时,任务( ...
K8s进阶之多租户场景下的资源配额(ResourceQuota)
概述
ResourceQuota官方文档:https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/
在 Kubernetes(K8s)中,ResourceQuota(资源配额)是一种用于管理命名空间(Namespace)资源使用的核心机制。它通过限制命名空间内可消耗的资源总量,实现资源的精细化分配和隔离,避免单个命名空间过度占用集群资源,保 ...
K8s进阶之LimitRange
概述
官方文档:https://kubernetes.io/zh-cn/docs/concepts/policy/limit-range/
在 Kubernetes(K8s)中,LimitRange 是一种用于约束命名空间(Namespace)内资源配额的资源对象,主要作用是为 Pod 和容器设置资源使用的限制范围(如 CPU、内存等)。它可以定义资源的最小值、最大值、默认值以及比例限制,确保容器在合理 ...
K8s新手系列之为Pod中的容器分配内存和CPU资源
概述
官方文档:
为容器和 Pod 分配内存资源
为容器和 Pods 分配 CPU 资源
分配 Pod 级别 CPU 和内存资源
在生产环境中,我们创建Pod时需要限制其相关的资源,核心目的是实现资源的合理管理、隔离和保障,具体原因如下:
资源隔离与稳定性保障
防止资源竞争:多个容器或 Pod 共享节点资源时,若不限制资源使用,可能 ...
K8s新手系列之DaemonSet资源
概述
官网文档:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/daemonset/
DaemonSet简称ds
DaemonSet 在不考虑污点的情况下会确保全部(或者某些)节点上运行一个 Pod 的副本。 当有节点加入集群时, 也会为他们新增一个 Pod 。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除 ...
K8s中的污点和容忍
概述
官方文档:https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/
污点是作用在k8s集群节点上的(包括worker和master),Node被设置上污点之后就和Pod之间存在了一种相斥的关系,进而拒绝Pod调度进来,甚至可以将已经存在的Pod驱逐出去。
污点类似于Label标签,但是污点是在节点上的。 ...