KubraGen建筑商:Promtail

kg-promtail的Python项目详细描述


库布拉根建筑商:Promtail

PyPI versionSupported Python versions

kg\u promtail是KubraGen的生成器,它部署 库伯内特斯的Promtail服务。在

Promtail通常与Loki连用。在

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

示例

fromkubragenimportKubraGenfromkubragen.constsimportPROVIDER_GOOGLE,PROVIDERSVC_GOOGLE_GKEfromkubragen.objectimportObjectfromkubragen.optionimportOptionRootfromkubragen.optionsimportOptionsfromkubragen.outputimportOutputProject,OD_FileTemplate,OutputFile_ShellScript,OutputFile_Kubernetes, \
    OutputDriver_Printfromkubragen.providerimportProviderfromkg_promtailimportPromtailBuilder,PromtailOptions,PromtailConfigFile,PromtailConfigFileOptions, \
    PromtailConfigFileExt_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: promtail#promtailconfigfile=PromtailConfigFile(options=PromtailConfigFileOptions({}),extensions=[PromtailConfigFileExt_Kubernetes()])promtail_config=PromtailBuilder(kubragen=kg,options=PromtailOptions({'namespace':OptionRoot('namespaces.mon'),'basename':'mypromtail','config':{'promtail_config':promtailconfigfile,'loki_url':'http://loki:3100',},'kubernetes':{'resources':{'daemonset':{'requests':{'cpu':'150m','memory':'300Mi'},'limits':{'cpu':'300m','memory':'450Mi'},},},}}))promtail_config.ensure_build_names(promtail_config.BUILD_ACCESSCONTROL,promtail_config.BUILD_CONFIG,promtail_config.BUILD_SERVICE)## OUTPUTFILE: promtail-config.yaml#file=OutputFile_Kubernetes('promtail-config.yaml')out.append(file)file.append(promtail_config.build(promtail_config.BUILD_ACCESSCONTROL,promtail_config.BUILD_CONFIG))shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))## OUTPUTFILE: promtail.yaml#file=OutputFile_Kubernetes('promtail.yaml')out.append(file)file.append(promtail_config.build(promtail_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}$

学分

基于

Install Loki with Helm

作者

范围实数(rangelreale@gmail.com

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

推荐PyPI第三方库


热门话题
java Jgit对于给定的存储库,我们如何确定新提交的列表,以及每个提交来自哪个分支?   从MS Access数据库添加java ComboBoxItem   如何禁止Java列表中不同类的实例?   java在没有Web的JAXR上使用Shiro过滤器。xml   由于java原因,无法在Ubuntu上安装Netbeans 8.2。awt。未找到恐怖和辅助技术   java JUnit对RuntimeException的处理(特别是)   java空集合在Apache CXF服务(JAXWS)中被转换为null   java CannotAcquireLockException问题   sql如何在数据库中对(Java)枚举建模(使用SQL92)   安卓在Java中获取友好url后面的文件名   java如何访问数组名以获取列表?   javascript Java Nashorn longBitsToDouble   java控制台<init>错误   java将一个LinkedList追加/连接到另一个LinkedList的最有效方式是什么?   Java for正在跳过的循环   java帮助创建带有动画的复杂Swing GUI   java Android编辑文本。setHint在片段中不工作