第一步:获取k8s的api地址
查看K8S的api地址的命令如下(最好在K8s集群的master上执行这条命令,因为如果在node节点上执行该命令有可能会获取旧的api地址)
第二步:创建具备get、list权限的服务账号并生成tokon
注意:此过程k8s1.24版本之前和k8s1.24版本之后的命会不同。!! 查看k8s版本命令
k8s-1.24前的版本(可在公司环境192.168.2.40测试,root/91LWp@sssw0rd)
登录k8s的master节点创建执行下面命令
1.创建只读服务用户monitor的并获取token
创建一个服务账号monitor,指定Kube-system命名空间
创建一个可以调用所有资源get,list操作的的集群角色monitor-role
给服务账号monitor绑定一个monitor-role的角色
获取服务账号monitor的token。获取的token只能执行get和list,无法调用接口使用post或者其他请求,会比较安全
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到服务器目录,且执行下面命令
获取服务账号monitor的token。获取的token只能执行get和list,无法调用接口使用post或者其他请求,会比较安全
第三步:监控k8s
导入k8s模版到监控平台。 填写token,zabbix_api的地址,和server的ip三个宏变量
上传get_k8s_new.py脚本到外部采集目录。修改sender路径即可。
四、调试说明
脚本上传到外部检查目录后。python3 get_k8s_new.py可查看调用方法
如要查看脚本的执行详情,可执行最后面加debug
加debug参数,可查看接口地址,接口数据,和sender命令 
