diff --git a/roles/kube-master/tasks/patch_netconf.py b/roles/kube-master/tasks/patch_netconf.py new file mode 100644 index 0000000..4250bb9 --- /dev/null +++ b/roles/kube-master/tasks/patch_netconf.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +from ruamel.yaml import YAML + +yaml = YAML() +yaml.preserve_quotes = True + +with open("/tmp/kube-flannel.yml", "r") as f: + docs = list(yaml.load_all(f)) + +for doc in docs: + if doc.get("kind") == "ConfigMap" and doc.get("metadata", {}).get("name") == "kube-flannel-cfg": + doc["data"]["net-conf.json"] = '''{ + "Network": "192.168.3.0/16", + "Backend": { + "Type": "vxlan" + }, + "Interface": "eth1" +}''' + +with open("/tmp/kube-flannel.yml", "w") as f: + yaml.dump_all(docs, f) \ No newline at end of file