python 自動生成k8s 集羣yaml 文件

 yaml 模塊用於處理 yaml 文件,yaml 是一種比xml和json更輕的文件格式,k8s 集羣聲明資源對象就是使用 yaml 文件,使用yaml 模塊能夠更方便的處理yaml 文件python

 模塊 經常使用方法nginx

dump:  將一個python對象生成爲yaml文檔json


load: 返回一個對象 app


dump_all:
ide


load_all:spa


 簡單示例演示xml


load 對象

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

輸出blog

name: jack
age: 25
job: IT 
 <class 'str'>
{'name': 'jack', 'age': 25, 'job': 'IT'} <class 'dict'>


dump utf-8

import yaml

yaml_str1 = """
name: jack
age: 25
job: 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'))

查看生成的文件

image.png


# 生成nginx 的yaml 文件 

import yaml

with 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生成後存放的文件

查看生成後的文件


image.png


生成後的文件可運行


image.png


yaml 文件裏面能夠聲明多個資源對象,可以使用 load_all

import yaml

with 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)

查看生成後的文件

image.png

image.png

image.png

相關文章
相關標籤/搜索