k8s 中对 Pod 进行抓包


以 nginx 为例,找到待抓包的 pod 及分布在哪个节点上: # kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE

debug 调试运行中的 Pod


在 pod 运行的时候,除了可以通过kubectl describe pod查看 pod 的事件信息,或者通过kubectl exec外,还可以通过临时容器来进行调试。 使用临时容器来调试 可以使用 kubectl debug 命令来给正在运行中的 Pod 增加一个临时容器。 首先,像示例一样创建一

kubeadm单机版部署


基本环境配置 配置信息 备注 系统版本 rocky linux 8.7 Pod网段 10.0.0.0/8 Service网段 172.16.0.0/12 Runtime配置 先卸载已经安装的docker dnf remove docker \ docker-cli

使用 root 安装 minikube


安装 minikube 可以去官网 https://minikube.sigs.k8s.io/docs/start/ 下载对应的版本。 比如通过可以选择二进制的安装方式: curl -LO https://storage.googleapis.com/minikube/releases/latest

Kubernetes组件介绍


Kubernetes组件介绍 控制节点组件 APIServer:APIServer是整个集群的控制中枢(无状态,数据保存在etcd中,看LB调度到哪个节点中的APIServer),提供集群中各个模块之间的数据交换(比如Scheduler和Controller Manager需要进行数据交换,都需要通

kubernetes 和 docker 中 Cgroup 限制 CPU 的工作原理

System 

CPU CgroupCgroups 是对指定进程做计算机资源限制的,CPU Cgroup 是 Cgroups 其中的一个 Cgroups 子系统,它是用来限制进程的 CPU 使用的。对于进程的 CPU 使用,我们知道它只包含两部分:一个是用户态(top命令中的 us 和 ni);还有一部分是内核态(top 命令中的 sy)。至于其他状态(top 命令中的 wa、hi、si),这些 I/O 或者中

更新 deployment 解决 field is immutable 问题


现象在执行./deploy.sh -s | kubectl apply -f -升级CoreDNS过程中,如果遇到以下提示:The Deployment "coredns" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kube

Prometheus-Operator监控kube-controller-manager失败


问题描述: k8s版本1.25.3,kube-controller-manager使用https监听端口10257。监控Target页面显示DOWN,错误提示server returned HTTP status 403 Forbidden,点击metrics url 提示: { "kind": "

kubeadm部署kubernetes备份etcd


kubeadm部署kubernetes备份etcd 由于kubeadm部署的kubernetes是以容器形式运行etcd,所以在系统中没有etcdctl的命令,如果需要在系统中备份,则可以下载etcd二进制包来使用etcdctl命令。 查看版本下载工具 通过kubectl在容器中执行etcdctl

Kubernetes 的默认 Ingress 类


参考:默认 Ingress 类 你可以将一个特定的 IngressClass 标记为集群默认 Ingress 类。 将一个 IngressClass 资源的ingressclass.kubernetes.io/is-default-class注解设置为true将确保新的未指定ingressClass