查看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-07-14
Kubernetes中使用Prometheus对集群节点做监控
正常情况下使用 Prometheus 对机器做监控,比如监控 CPU、内存、磁盘等信息, 都是在机器上安装一个 node exporter, 然后将 metrics 接入到 Prometheus 中。在 k8s 环境下, 我们可以使用 k8s 来管理, 实现自动化监控。 node exporter 是针对主机节点的, 需要在每台 node 节点上安装, 那么 daemonset 控制器是最合理的选择。 网络使用 Host Network 模式, 在主机上直接暴露一个端口。 部署 node exporter使用 yaml 配置 prometheus关于 Prometheus 标签处理, 可以看 这篇文章 这里是利用了 Prometheus 的元数据,将 kubelet 的地址更换成了 node exporter 的地址, 端口换成了 9100 来实现自动化监控的。
2025-11-01
kubeadm 部署的集群 常见问题汇总
扩容节点扩容 Worker 节点 kubeadm init 后会输出在终端上, 有效期 2 小时, 超时后可以重新生成 生成添加命令: 扩容 Master 节点生成加入命令 修改负载均衡配置扩容完 master 节点不要忘了将新的节点增加到 Apiserver 的负载均衡上。 证书位置 移除节点移除 worker 节点 移除 etcd member如果要移除 master 节点,并且 master 节点上部署了 etcd ,那除了上一步操作,还需要从 etcd 集群中移除这个节点。 升级集群kubeadm 搭建的集群升级比较方便,总体步骤如下: 升级第一个 master 节点 升级其余的 master 节点 升级 worker 节点如果集群运行着服务,升级节点前需要先腾空节点 kubectl drain --ignore-daemonsets <节点名称> 升级完成后,再恢复调度 kubectl uncordon <节点名称> 官方文档:https://kubernetes.io/zh-cn/docs/tasks/administer-c...
2025-11-01
k8s解除NodePort端口限制
我自己写了一个 svc 的 yaml 文件,部署的时候报错,不在默认的范围内,默认范围是: 30000-32767 kubectl apply -f nginx-src.yaml 报错: 如果是 kubeadm 部署修改配置文件 vim /etc/kubernetes/manifests/kube-apiserver.yaml 在启动参数里面添加如下一行 重启 kube-apiserver
2025-12-21
单节点Kubernetes更换ip地址
如果是个多节点的集群,更换一台 master 节点的 ip 有个更简单的办法,那就是先扩容一台新的 master,再把旧的 master 节点下线,安全无副作用,如果是单节点更换 ip 地址(如果旧 ip 不用回收,那么可以直接在网卡上再绑定一个 ip 地址,不用对 k8s 进行修改) 和 kubeadm之单节点master升级高可用master 有点类似 首先更换操作系统 ip 地址略 准备 重新签发证书 更新配置文件里的 ip 地址 这个时候 kubectl 可用了,修改 configmap 然后删除 pod 重建
2026-07-14
Kubernetes 绑定Hosts的正确姿势
有的时候我们需要在容器里面绑定 hosts,比如我们用 logstash 需要消费 kafka 消息,但是 kafka 监听的地址是 hostname,这个时候就需要绑定 hosts(规范一点是做解析)在容器里面绑定 hosts 常见的方法一种是挂载主机的 hosts 文件,一种是修改容器的启动 CMD,每次启动修改 hosts,这两种方法都有个缺点,就是不受 kubelet 管理了,默认的 hosts 内容也会被覆盖掉在 k8s 环境下有更好的解决方案:那就是让 k8s 自己来管理 使用 hostAliases 来绑定 hosts 进入容器查看 hosts 文件 这个 hosts 包括两个部分,一部分是容器自带的 hosts,另一部分是我们自己添加的 在 docker 下绑定 hosts运行时候修改docker 可以通过 –add-host 参数来添加 hosts 信息到容器的/etc/hosts 文件中 构建时修改Dockerfile 中,可以在 CMD 命令下进行修改,在 RUN 里面修改会提示文件只读无法修改。 在 docker-c...
2026-07-14
Kubernetes同一个namespace共用镜像secret
配置一个全局的镜像拉取密钥, 后续拉镜像就不用每个 deployment 单独配置了。 在每个 namespace 下都有一个默认的 service account, 假设命名空间是 test 使用 kubectl get sa -n test 查看 查看 serviceaccount 信息 Image pull secrets 是此 namespace 下拉取镜像的秘钥 1.创建 secret 2.配置进 service account 至此在 test 下拉取镜像无需配置镜像拉取秘钥了
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加博主微信,进微信运维技术交流群:



