千家信息网

python 自动生成k8s 集群yaml 文件

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,yaml 模块用于处理 yaml 文件,yaml 是一种比xml和json更轻的文件格式,k8s 集群声明资源对象就是使用 yaml 文件,使用yaml 模块可以更方便的处理yaml 文件模块 常用方
千家信息网最后更新 2024年09月22日python 自动生成k8s 集群yaml 文件

yaml 模块用于处理 yaml 文件,yaml 是一种比xml和json更轻的文件格式,k8s 集群声明资源对象就是使用 yaml 文件,使用yaml 模块可以更方便的处理yaml 文件

模块 常用方法

dump: 将一个python对象生成为yaml文档


load: 返回一个对象


dump_all:


load_all:


简单示例演示


load

yaml_str1 = """name: jackage: 25job: IT """print(yaml_str1, type(yaml_str1))contnet = yaml.load(yaml_str1)print(contnet, type(contnet))

输出

name: jackage: 25job: IT  {'name': 'jack', 'age': 25, 'job': 'IT'} 


dump

import yamlyaml_str1 = """name: jackage: 25job: IT """print(yaml_str1, type(yaml_str1))contnet = yaml.load(yaml_str1)print(contnet, type(contnet))new_content = yaml.dump(contnet, open('t1.yaml', 'w', encoding='utf-8'))

查看生成的文件


# 生成nginx 的yaml 文件

import yamlwith open('nginx.yaml', 'r', encoding='utf-8') as f1:    content = yaml.load(f1)    print(f1)    with open('nginxv2.yaml', 'w', encoding='utf-8') as f2:        yaml.dump(content, f2)  # contnet 对象  f2生成后存放的文件

查看生成后的文件



生成后的文件可运行



yaml 文件里面可以声明多个资源对象,可使用 load_all

import yamlwith open('nginx_busy.yaml', 'r', encoding='utf-8') as f1:    content = yaml.load_all(f1)    new_content = yaml.dump_all(content)    print(new_content, type(new_content))    with open('ng_busy.yaml', 'w', encoding='utf-8') as f2:        f2.write(new_content)

查看生成后的文件




0