库布拉根建造者:普罗米修斯堆

kg-prometheusstack的Python项目详细描述


库布拉根建造者:普罗米修斯堆

PyPI versionSupported Python versions

kg\u prometheusstack是KubraGen的生成器,它部署 库伯内特斯的Prometheus堆栈。在

堆栈由Prometheus(必需)、Grafana、Kube状态度量和节点导出器组成。在

KubraGen是一个kubernetesyaml生成器库,它可以生成 配置使用Python编程语言的全部功能。在

示例

fromkg_prometheusimportPrometheusConfigFile,PrometheusConfigFileOptionsfromkubragenimportKubraGenfromkubragen.constsimportPROVIDER_GOOGLE,PROVIDERSVC_GOOGLE_GKEfromkubragen.objectimportObjectfromkubragen.optionimportOptionRootfromkubragen.optionsimportOptionsfromkubragen.outputimportOutputProject,OD_FileTemplate,OutputFile_ShellScript,OutputFile_Kubernetes, \
    OutputDriver_Printfromkubragen.providerimportProviderfromkg_prometheusstackimportPrometheusStackBuilder,PrometheusStackOptionskg=KubraGen(provider=Provider(PROVIDER_GOOGLE,PROVIDERSVC_GOOGLE_GKE),options=Options({'namespaces':{'mon':'app-monitoring',},}))out=OutputProject(kg)shell_script=OutputFile_ShellScript('create_gke.sh')out.append(shell_script)shell_script.append('set -e')## OUTPUTFILE: app-namespace.yaml#file=OutputFile_Kubernetes('app-namespace.yaml')file.append([Object({'apiVersion':'v1','kind':'Namespace','metadata':{'name':'app-monitoring',},},name='ns-monitoring',source='app',instance='app')])out.append(file)shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))shell_script.append(f'kubectl config set-context --current --namespace=app-monitoring')## SETUP: prometheusstack#pstack_config=PrometheusStackBuilder(kubragen=kg,options=PrometheusStackOptions({'namespace':OptionRoot('namespaces.mon'),'basename':'mypstack','config':{'prometheus_annotation':True,'prometheus_config':PrometheusConfigFile(options=PrometheusConfigFileOptions({'scrape':{'prometheus':{'enabled':True,}},}))},'kubernetes':{'volumes':{'prometheus-data':{'persistentVolumeClaim':{'claimName':'prometheusstack-storage-claim'}}},},}))pstack_config.ensure_build_names(pstack_config.BUILD_ACCESSCONTROL,pstack_config.BUILD_CONFIG,pstack_config.BUILD_SERVICE)## OUTPUTFILE: prometheusstack-config.yaml#file=OutputFile_Kubernetes('prometheusstack-config.yaml')out.append(file)file.append(pstack_config.build(pstack_config.BUILD_ACCESSCONTROL,pstack_config.BUILD_CONFIG))shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))## OUTPUTFILE: prometheusstack.yaml#file=OutputFile_Kubernetes('prometheusstack.yaml')out.append(file)file.append(pstack_config.build(pstack_config.BUILD_SERVICE))shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))## Write files#out.output(OutputDriver_Print())# out.output(OutputDriver_Directory('/tmp/build-gke'))

输出:

^{pr2}$

作者

范围实数(rangelreale@gmail.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用字符而不是字符串的意义   部分匹配长度字符串相似性的java正则表达式   java获取构造函数错误(错误:“(”或“[”)   java@Value注释无法正常工作SpringBoot   java hasKey在响应中没有看到字段   java JavaFX,没有JFXButtons和所有   在Log4j2中,是否可以根据键从记录器中筛选出某些键值对?   如何使用Java中Kafka的消息,从特定偏移量开始   java在单击后存储动态按钮的值   java Android编码:ViewRootImpl$CalledFromErrorThreadException。[Noob]   通过FileChooser保存pdf格式会提示在java中出现第二个对话框   用于空文件的java Spring集成文件标记   java我们应该如何编写get方法,以便私有字段不会超出其预期范围?   java Eclipse产品问题,Juno RequireHandle:org。日食e4。果心服务