查看kubernetes节点的硬件配置
发表于|更新于|容器
|浏览量:
kubectl describe node 可以查看到信息, 这里使用 jq 进行一下数据处理格式化.
1 | kubectl get node -o json | jq '.items[] | "===========================================", "机器名: \(.metadata.labels."kubernetes.io/hostname") ", "CPU: \(.status.capacity.cpu) 核", "内存大小: \(.status.capacity.memory)"' |
输出结果类似于:
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-02-21
使用cronjob自动重启k8s的deployment
配置权限1234567891011121314151617181920212223242526272829303132---kind: ServiceAccountapiVersion: v1metadata: name: deployment-restart namespace: default---apiVersion: rbac.authorization.k8s.io/v1kind: Rolemetadata: name: deployment-restart namespace: defaultrules: - apiGroups: ["apps", "extensions"] resources: ["deployments"] resourceNames: [] verbs: ["get", "patch", "list", "watch"] # list 和 watch 就够用了,如果需要执行 ro...
2025-11-01
k8s解除NodePort端口限制
我自己写了一个 svc 的 yaml 文件,部署的时候报错,不在默认的范围内,默认范围是: 30000-32767 kubectl apply -f nginx-src.yaml 报错: 1The Service "nginx" is invalid: spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. The range of valid ports is 30000-32767 如果是 kubeadm 部署修改配置文件 vim /etc/kubernetes/manifests/kube-apiserver.yaml 在启动参数里面添加如下一行 1- --service-node-port-range=1-65535 重启 kube-apiserver 1kubectl delete pod -n kube-system kube-apiserver-xxx

2026-02-21
Java程序被停止前自动dump内存快照
线上业务偶尔会出现重启现象,为了排查这个问题,决定在 OOM 的时候自动进行 dump 内存快照用于分析 针对 JVM OOM 的情况OOM 全称 “Out Of Memory”,表示内存耗尽。当 JVM 因为没有足够的内存来为对象分配空间,并且垃圾回收器也已经没有空间可回收时,就会抛出这个错误,解决 OOM 问题的一个思路: 假设发生 OOM 了,必然说明系统中某个区域的对象太多了,塞满了那个区域,而且一定是无法回收掉那些对象,最终才会导致内存溢出的,首先就得知道到底是什么对象太多了导致 OOM ,就必须得有一份 JVM 发生 OOM 时的 dump 内存快照有了 dump 内存快照,就可以用 MAT 之类的工具,或者在线工具来分析:https://memory.console.heapdump.cn/JVM 在发生 OOM 的时候并不是直接挂掉的, 而是在 OOM 之前会尽量去 GC 腾出来一些内存空间,如果 GC 后还是没有空间,放不下对象, 才会触发内存溢出的。JVM 给我们提供了一些参数可以在发生 OOM 的时候进行自动 dump 内存快照。: -XX:+HeapDu...
2026-02-21
kubernetes删除节点
删除 worker 节点设置节点不可调度,即不会有新的 pod 在该节点上创建 12kubectl cordon 172.16.21.26kubectl drain 172.16.21.26 --delete-local-data --ignore-daemonsets --force –delete-local-data: 即使 pod 使用了 emptyDir 也删除–ignore-daemonsets: 忽略 deamonset 控制器的 pod,如果不忽略,deamonset 控制器控制的 pod 被删除后可能马上又在此节点上启动起来,会成为死循环;–force: 不加 force 参数只会删除该 NODE 上由 ReplicationController, ReplicaSet, DaemonSet,StatefulSet or Job 创建的 Pod,加了后还会删除’裸奔的 pod’(没有绑定到任何 replication controller) kubectl delete node 172.16.21.26 删除 master 节点未完待续

2026-02-21
通过docker容器查看run命令
公司有一台服务器上运行着一个服务,通过 docker start 启动,已经没有文档记录如何搭建的了。现在需要迁移,记录一下获取 docker run 命令的方法 通过模版处理 docker inspect 的数据来获取使用 runlike 来获取模版文件来自https://gist.githubusercontent.com/efrecon/8ce9c75d518b6eb863f667442d7bc679/raw/run.tpl 假设容器名是 mysql, 命令后面可以跟容器名或者容器 id。命令如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161...
2025-12-21
单节点Kubernetes更换ip地址
如果是个多节点的集群,更换一台 master 节点的 ip 有个更简单的办法,那就是先扩容一台新的 master,再把旧的 master 节点下线,安全无副作用,如果是单节点更换 ip 地址(如果旧 ip 不用回收,那么可以直接在网卡上再绑定一个 ip 地址,不用对 k8s 进行修改) 和 kubeadm之单节点master升级高可用master 有点类似 首先更换操作系统 ip 地址略 准备123456789# 备份配置文件cp -r /etc/kubernetes{,-bak}# 查看证书绑定的ip或域名for i in $(find /etc/kubernetes/pki -type f -name "*.crt");do echo ${i} && openssl x509 -in ${i} -text | grep 'DNS:';done# 删除需要重新生成的证书rm -rf /etc/kubernetes/pki/{apiserver*,fron...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:

