Kubeadm查看Token列表及过期时间实操
技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Containerd 1.7.x + Calico v3.27.x
操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案
Kubeadm查看Token列表及过期时间实操
操作环境
K8s 集群版本 v1.32.13,操作系统 Rocky Linux 8.6,内核 4.18.0-372.el8
容器运行时 Containerd 1.7.13,runc 1.1.12,CNI 插件 1.4.0
网络插件 Calico v3.27.4,Pod CIDR 10.244.0.0/16,Service CIDR 10.96.0.0/12
节点间网络互通,关闭 firewalld 或放行所需端口,关闭 Swap 分区
时间同步通过 chronyd 实现,时区 Asia/Shanghai
SEinux 设置为 disabled,内核参数 net.bridge.bridge-nf-call-iptables=1
对接原理
Kubeadm 是 K8s 官方集群引导工具,负责初始化控制平面(APIServer、ControllerManager、Scheduler、etcd)并以静态 Pod 形式运行于 /etc/kubernetes/manifests 目录。kubelet 以 systemd 服务运行,管理节点 Pod 生命周期。Containerd 作为 CRI 运行时通过 unix socket 与 kubelet 对接。Calico 以 DaemonSet 部署,通过 BGP 实现 Pod 跨节点互通,通过 iptables/IPVS 实现 Service 负载均衡。
详细步骤
1. 查看集群状态与组件版本
kubectl get nodes -o wide kubectl cluster-info kubectl version --short kubeadm version kubeadm certs check-expiration
2. 检查控制平面静态 Pod
ls -la /etc/kubernetes/manifests/ crictl pods --name kube-apiserver crictl pods --name etcd kubectl get pods -n kube-system | grep -E 'etcd|kube-apiserver|kube-controller|kube-scheduler'
3. 查看 kubelet 服务状态与日志
systemctl status kubelet journalctl -u kubelet -f --since "10 minutes ago" | tail -50 cat /var/lib/kubelet/config.yaml | head -20
验证流程
# 1. 节点状态验证 kubectl get nodes -o wide # 所有节点 STATUS 应为 Ready # 2. 控制平面 Pod 验证 kubectl get pods -n kube-system # etcd、kube-apiserver、kube-controller-manager、kube-scheduler 均为 Running # 3. 集群信息验证 kubectl cluster-info # Kubernetes control plane is running at https://<apiserver>:6443 # 4. 组件版本验证 kubectl version --short # Server Version: v1.32.13 # 5. Pod 网络连通性验证 kubectl run net-test --image=busybox:1.36 --restart=Never -- sleep 3600 kubectl exec net-test -- ping -c 3 10.96.0.10 # 6. DNS 解析验证 kubectl exec net-test -- nslookup kubernetes.default.svc.cluster.local
排错方案
节点 NotReady:查看 kubectl describe node,确认 CNI 插件是否就绪,检查 calico-node Pod 日志,确认 Pod CIDR 与初始化参数一致
kubelet 启动失败:执行 journalctl -u kubelet -f 查看日志,常见原因是 containerd socket 路径不匹配或 cgroup 驱动不一致(containerd 需设 SystemdCgroup=true)
镜像拉取失败:确认 --image-repository 是否指定国内源,或手动执行 kubeadm config images pull 预拉取
CoreDNS CrashLoopBackOff:通常为网络插件未就绪,等待 Calico 部署完成后自动恢复;检查 iptables 规则
APIServer 连接超时:检查 6443 端口是否监听,防火墙是否放行,etcd 是否健康(etcdctl endpoint health)
etcd 成员异常:执行 etcdctl member list 确认成员状态,检查数据目录 /var/lib/etcd 空间是否充足
证书过期报错:执行 kubeadm certs check-expiration 查看到期时间,使用 kubeadm certs renew all 轮换后重启控制平面 Pod