库布拉根建筑商:普罗米修斯

kg-prometheus的Python项目详细描述


库布拉根建筑商:普罗米修斯

PyPI versionSupported Python versions

普罗米修斯是KubraGen的建造者,它部署 Kubernetes的Prometheus服务器。在

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

示例

fromkubragenimportKubraGenfromkubragen.constsimportPROVIDER_GOOGLE,PROVIDERSVC_GOOGLE_GKEfromkubragen.objectimportObjectfromkubragen.optionimportOptionRootfromkubragen.optionsimportOptionsfromkubragen.outputimportOutputProject,OD_FileTemplate,OutputFile_Kubernetes,OutputFile_ShellScript, \
    OutputDriver_Printfromkubragen.providerimportProviderfromkg_prometheusimportPrometheusBuilder,PrometheusOptions,PrometheusConfigFile,PrometheusConfigFileOptions, \
    PrometheusConfigFileExt_Kuberneteskg=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: prometheus#prometheus_config_file=PrometheusConfigFile(options=PrometheusConfigFileOptions({'config':{'merge_config':{'global':{'scrape_interval':'1m',}},},'scrape':{'prometheus':{'enabled':True,'merge_config':{'scrape_interval':'15s',},}}}),extensions=[PrometheusConfigFileExt_Kubernetes(),])prometheus_config=PrometheusBuilder(kubragen=kg,options=PrometheusOptions({'namespace':OptionRoot('namespaces.mon'),'basename':'myprometheus','config':{'prometheus_config':prometheus_config_file,},'kubernetes':{'volumes':{'data':{'persistentVolumeClaim':{'claimName':'prometheus-storage-claim'}}},'resources':{'statefulset':{'requests':{'cpu':'150m','memory':'300Mi'},'limits':{'cpu':'300m','memory':'450Mi'},},},}}))prometheus_config.ensure_build_names(prometheus_config.BUILD_ACCESSCONTROL,prometheus_config.BUILD_CONFIG,prometheus_config.BUILD_SERVICE)## OUTPUTFILE: prometheus-config.yaml#file=OutputFile_Kubernetes('prometheus-config.yaml')out.append(file)file.append(prometheus_config.build(prometheus_config.BUILD_ACCESSCONTROL,prometheus_config.BUILD_CONFIG))shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))## OUTPUTFILE: prometheus.yaml#file=OutputFile_Kubernetes('prometheus.yaml')out.append(file)file.append(prometheus_config.build(prometheus_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}$

学分

基于

prometheus-community/helm-charts

作者

范围实数(rangelreale@gmail.com

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

推荐PyPI第三方库


热门话题
java错误:无法解析方法   如何用相同的父标记和子标记在Java中解析XML?   日期使用Java中的时区偏移将本地时间转换为UTC   java如何在多进程、多线程环境中读取文件   WebView中的java弹出式对话框不在当前显示范围内,但在chrome浏览器中运行良好   只有2个参数的java递归二进制搜索方法   无法在java中调用函数   java JavaMail在Tomcat服务器上运行时停止工作   反射通过java程序生成、编译和运行java类   java Android:如何使ListView即使在应用程序关闭后仍保持禁用状态   在JAVA中识别匿名类实例   java渲染一个由三角形组成的立方体,在旋转时会产生奇怪的角度   函数式编程如何基于比较连续的列表元素将Java流减少为布尔值   java如何替换列表中的多个项目?   java Android如何获取随机sqlite数据?   java我已经将useSSL设置为false,但仍然收到警告   java使用动态变量生成jlabel   apachespark:java。lang.NoClassDefFoundError v2TableWithV1回退