库布拉根建筑商:格拉法纳

kg-grafana的Python项目详细描述


库布拉根建筑商:格拉法纳

PyPI versionSupported Python versions

kg_grafana是部署KubraGen的生成器 Kubernetes的Grafana服务器。在

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

示例

fromkubragenimportKubraGenfromkubragen.constsimportPROVIDER_GOOGLE,PROVIDERSVC_GOOGLE_GKEfromkubragen.objectimportObjectfromkubragen.optionimportOptionRootfromkubragen.optionsimportOptionsfromkubragen.outputimportOutputProject,OD_FileTemplate,OutputFile_ShellScript,OutputFile_Kubernetes, \
    OutputDriver_Printfromkubragen.providerimportProviderfromkg_grafanaimportGrafanaBuilder,GrafanaOptions,GrafanaDashboardSource_GNet,GrafanaDashboardSource_Urlkg=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: grafana#grafana_config=GrafanaBuilder(kubragen=kg,options=GrafanaOptions({'namespace':OptionRoot('namespaces.mon'),'basename':'mygrafana','config':{'service_port':80,'admin':{'user':'myuser','password':'mypassword',},'provisioning':{'datasources':[{'name':'Prometheus','type':'prometheus','access':'proxy','url':'http://prometheus:9090',},{'name':'Loki','type':'loki','access':'proxy','url':'http://loki:3100',},],'dashboards':[{'name':'default','type':'file',},{'name':'second','type':'file',},],},'dashboards':[GrafanaDashboardSource_GNet(provider='default',name='prometheus',gnetId=2,revision=2,datasource='Prometheus'),GrafanaDashboardSource_Url(provider='default',name='kubernetes',url='https://raw.githubusercontent.com/zaneclaes/grafana-dashboards/master/kubernetes.json'),# GrafanaDashboardSource_KData(provider='second', kdata=KData_ConfigMapManual(#     configmapName='grafana-default-config-map')),],},'kubernetes':{'volumes':{'data':{'persistentVolumeClaim':{'claimName':'grafana-storage-claim'}}},'resources':{'deployment':{'requests':{'cpu':'150m','memory':'300Mi'},'limits':{'cpu':'300m','memory':'450Mi'},},},}}))grafana_config.ensure_build_names(grafana_config.BUILD_CONFIG,grafana_config.BUILD_SERVICE)ifgrafana_config.BUILD_CONFIGingrafana_config.build_names_required():## OUTPUTFILE: grafana-config.yaml#file=OutputFile_Kubernetes('grafana-config.yaml')out.append(file)file.append(grafana_config.build(grafana_config.BUILD_CONFIG))shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))## OUTPUTFILE: grafana.yaml#file=OutputFile_Kubernetes('grafana.yaml')out.append(file)file.append(grafana_config.build(grafana_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聊天socket不显示消息   java显示存储在MySQL中的BLOB图像,无需写入磁盘   连接到SQLite数据库时发生java GAE受限类错误   如何在Java中自动从外部源(如文件)读取对象属性?   java使用google应用程序引擎发送电子邮件   java找不到应用程序。属性文件从War文件的外面   关于GridLayout和paintComponent方法的用户界面Java Swing问题   java6项目中的JavaOneLogin javasaml 2.0   数组Java GUI将文本文件数据导入JTable   游戏引擎从另一个类或文件中设置java数组的元素   构建如何将java类修补/复制到本地WebSphere服务器?   添加拦截器并使用Dagger2注入拦截器后,java翻新服务始终为空   java Guava LoadingCache如何处理备份存储中不存在的密钥   组织。openqa。硒。NoSuchSessionException:会话ID为空。在自动化中获取此错误(使用testng、selenium、java)   java是从4GB文件创建trie(JSON)的最快方法,只需1GB的ram?