Skip to main content
平台通过api监控k8s 原理:python的request库,请求k8s的api地址,对数据处理。

第一步:获取k8s的api地址

查看K8S的api地址的命令如下(最好在K8s集群的master上执行这条命令,因为如果在node节点上执行该命令有可能会获取旧的api地址) 
Image

第二步:创建具备get、list权限的服务账号并生成tokon

注意:此过程k8s1.24版本之前和k8s1.24版本之后的命会不同。!! 查看k8s版本命令
Image
k8s-1.24前的版本(可在公司环境192.168.2.40测试,root/91LWp@sssw0rd) 登录k8s的master节点创建执行下面命令

1.创建只读服务用户monitor的并获取token

创建一个服务账号monitor,指定Kube-system命名空间
Image
创建一个可以调用所有资源get,list操作的的集群角色monitor-role
Image
给服务账号monitor绑定一个monitor-role的角色
Image
获取服务账号monitor的token。获取的token只能执行get和list,无法调用接口使用post或者其他请求,会比较安全
Image
k8s-1.24后的版本(客户环境测试过1.24之后版本,1.24版本默认先用1.24版本之前的授权的命令) 登录k8s的master节点创建执行下面命令

1.创建只读服务用户monitor的并获取token

创建一个服务账号monitor,指定Kube-system命名空间
创建一个可以调用所有资源get,list操作的的集群角色monitor-role
给服务账号monitor绑定一个monitor-role的角色
k8s的1.24版本以后无法自动生成token,需要用户指定用户创建!!(k8s1.24之前和之后的版本就是额外多了这步操作,否则下面的命令,无法查看授权 登录k8s的master服务器上传附件中的create_monitor_token.yaml到服务器目录,且执行下面命令
注意:create_monitor_token.yaml里面的命名空间和账号必须与上面创建的服务账号一致,无法会执行报错!!
Image
Image
获取服务账号monitor的token。获取的token只能执行get和list,无法调用接口使用post或者其他请求,会比较安全
Image
第三步:监控k8s 填写server_ip,K8S_API_URL,token,persuesZ_server信息
Image
Last modified on August 17, 2026