kubernetes(k8s)之资源监控(代码片段)

Tuki_a Tuki_a     2022-12-17     475

关键词:

Metrics-Server

Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。
容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据
Metrics API 只可以查询当前的度量数据,并不保存历史数据
Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。
必须部署 Metrics-server 才能使用该 API,Metrics-server 通过调用 Kubelet Summary API 获取数据。

Metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成。

演示环境

server1:172.25.38.1	harbor仓库端
server2:172.25.38.2	k8s master端
server3:172.25.38.3	k8s node端
server4:172.25.38.4	k8s node端

Metrics-Server部署

先在仓库端获取镜像并上传到仓库
资源下载:https://github.com/kubernetes-incubator/metrics-server

新建一个目录,获取配置文件,执行如下命令:

wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml

修改配置文件,将镜像地址写为自己的

应用文件

监控的pod创建出来了,但有错

查看日志看是怎么回事kubectl logs metrics-server-6454465dcc-s55q4 -n kube-system,如下图是因为监听443端口被拒绝,没有权限

删掉pod等

修改端口为4443(因为要映射到真机端口,所以要大于1000,1000以下的端口在真机需要root权限才可以,而k8s操作是用的k8s账户)

重新应用又出现了如下错误,是因为没有证书
#Metric Server 支持一个参数 --kubelet-insecure-tls,可以跳过这一检查,然而官方也明说了,这种方式不推荐生产使用。

启用TLS Bootstrap 证书签发:在每一个节点(包括master)都做这个操作

编辑文件vim /var/lib/kubelet/config.yaml,在最后加入如图内容后重启

证书签名请求文件未通过的都通过了

这时再看pod,监控已经可以正常运行了

监控服务正常被调度,运行正常

使用kubectl top node命令监控节点状态

切换一个namespaces监控

下图命令可以查看节点详细信息

kubernetes(k8s)之编写资源清单(代码片段)

资源清单一级目录什么叫资源清单如何创建资源编写资源清单模板(格式)资源清单参数说明自主式Pod资源清单一级目录什么叫资源清单k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。在k8s中,... 查看详情

k8s容器资源限制,资源监控(代码片段)

...置资源限制4.namespace设置资源配额5.Namespace配置Pod配额二.kubernetes资源监控Metrics-Server部署三种报错及解决方法一.k8s容器资源限制Kubernetes采用request和limit两种限制类型来 查看详情

k8s容器资源限制,资源监控(代码片段)

...置资源限制4.namespace设置资源配额5.Namespace配置Pod配额二.kubernetes资源监控Metrics-Server部署三种报错及解决方法一.k8s容器资源限制Kubernetes采用request和limit两种限制类型来 查看详情

kubernetes(k8s)之部署让k8s图形化的dashboard(代码片段)

...可视化的Web界面来查看当前集群的各种信息。用户可以用KubernetesDashboard部署容器化的应用、监控应用的状态、执行故障排查任务以及管理Kubernetes各种资源。网址:https://github.com/kubernetes/dashboard部 查看详情

k8s资源监控metrics-server(代码片段)

...,对资源的监控使用的是heapster的资源监控工具。但是从Kubernetes1.8开始,Kubernetes通过MetricsAPI获取资源使用指标,例如容器CPU和内存使用情况。这些度量指标可以由用户直接访问,例如通过使用kubectltop命令,或者使用集群中的控... 查看详情

kubernetes(k8s)之hpa(代码片段)

HorizontalPodAutoscalerHPA简介HPA伸缩过程HPA进行伸缩算法演示环境单条资源限制多条资源限制HPA简介HorizontalPodAutoscaler可以根据CPU利用率自动扩缩ReplicationController、Deployment、ReplicaSet或StatefulSet中的Pod数量(也可以基于其他应用程... 查看详情

k8s之监控利器weavescope详解(代码片段)

前言创建kubernetes集群并部署容器化应用只是第一步,一旦集群运行起来,我们需要确保运行正常,所有必要组件就位并各司其职,有足够的资源满足应用的要求。kubernetes是一个复杂的系统,运维团队需要有一套工具帮助他们获... 查看详情

云原生之kubernetes实战在k8s集群下部署weavescope监控平台(代码片段)

【云原生之kubernetes实战】在k8s集群下部署WeaveScope监控平台一、WeaveScope介绍1.WeaveScope简介2.WeaveScope的特点3.WeaveScope的组成二、检查本地kubernetes集群状态1.检查工作节点状态2.检查系统pod状态三、安装nfs共享存储1.安装nfs2.创建共享... 查看详情

linux学习-kubernetes之资源清单定义(代码片段)

资源:对象workload:Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、Cronjob,…服务发现及均衡:Service、Ingress配置及存储:Volume、CSIConfigMap、SecretDownwardAPI集群级资源NameSpace、Node、Role、ClusterRole、RoleBinding、ClusterRol... 查看详情

kubernetes之k8s核心原理--第一篇(代码片段)

...,好吧,只能通过两篇文章向大家介绍K8s核心原理。一、KubernetesAPIServer原理分析1.kubernetesAPIServer介绍  kubernetesAPIserver的和核心功能是提供了kubernetes各类资源对象(pod、RC、service等)的增、删、改、查以及watch等HTTP 查看详情

k8s可视化监控之-weavescope(代码片段)

...景下,Weaveworks的项目WeaveScope应运而生,其是一款Docker和Kubernetes可视化监控工具。Scope提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控 查看详情

运维实战kubernetes(k8s)之pod的建立(代码片段)

运维实战kubernetes(k8s)之pod的建立1.Pod管理2.资源清单3.Pod生命周期4.控制器1.Pod管理Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。一个pod类似一个... 查看详情

k8s资源管理之deployment(代码片段)

...ollbackToRevision修订历史限制paused(暂停的)导读在kubernetes中,Pod 查看详情

k8s资源管理之deployment(代码片段)

...ollbackToRevision修订历史限制paused(暂停的)导读在kubernetes中,Pod 查看详情

08—k8s之deployment资源(代码片段)

...)。比如:Pod出现故障,对应的服务也会挂掉,目的是让Kubernetes去管理一组Pod的副本,也就是副本集,这样就能够保证一定数量的副本一直可用,不会因为某一个Pod挂掉导致整个服务挂掉。Deployment还负责在Pod定义发生变化时,... 查看详情

08—k8s之deployment资源(代码片段)

...)。比如:Pod出现故障,对应的服务也会挂掉,目的是让Kubernetes去管理一组Pod的副本,也就是副本集,这样就能够保证一定数量的副本一直可用,不会因为某一个Pod挂掉导致整个服务挂掉。Deployment还负责在Pod定义发生变化时,... 查看详情

k8s资源管理之pod(代码片段)

...见的StaticPod配置文件方式HTTP方式导读:k8s的资源管理Kubernetes的本质就是一个集群系统,用户可以在集群中部署各种服务 查看详情

k8s调度之标签选择器(代码片段)

Kubernetes调度简介除了让kubernetes集群调度器自动为pod资源选择某个节点(默认调度考虑的是资源足够,并且load尽量平均),有些情况我们希望能更多地控制pod应该如何调度。比如,集群中有些机器的配置更好(SSD,更好的内存等... 查看详情