2024-09-30 16:24:19 发布
网友
我正在尝试创建一个简单的自动化程序,将OpenShift中的配置映射内容从当前内容替换为已编辑的yaml文件,我尝试了许多oc命令,但都失败了,我想知道是否有人知道如何做到这一点
让你明白: 我正在使用oc get congifmap <configmap name>从我的项目中获取当前的configmap, 然后,我使用python对configmap数据进行更改。 然后我想将当前配置映射更改为新编辑的配置映射。 我尝试过编辑、应用、更改,但都失败了
oc get congifmap <configmap name>
非常感谢您的帮助:)
您只需要处理“输入”和“输出”
想象一个lighttpd.conf:
lighttpd.conf
server.modules = ( "mod_scgi", "mod_compress", "mod_accesslog" )
oc create cm lighttpd from-file lighttpd.conf
因此,作为一个例子,让我们将mod_scgi更改为mod_fastcgi。所以我写了这个脚本:
import fileinput for line in fileinput.input(): if 'mod_scgi' in line: print(line.replace('scgi', 'fastcgi').rstrip()) else: print(line.rstrip())
因此,要更改configMap,请更新其值并再次应用:
configMap
oc get cm -o yaml | python modify.py | oc apply -f -
get -o yaml
modify.py
oc
oc apply -f -
对于这种用例有一个"oc"命令:oc patch
"oc"
oc patch
使用"oc patch"可以编辑、替换、添加、删除任何OCP对象的部分
"oc patch"
如果你用谷歌搜索“oc补丁”,你会在网上找到很多例子
Official OCP v4.7 oc patch docTons of examples hereOC patch "man" pageOther examples
您只需要处理“输入”和“输出”
想象一个
lighttpd.conf
:因此,作为一个例子,让我们将mod_scgi更改为mod_fastcgi。所以我写了这个脚本:
因此,要更改
configMap
,请更新其值并再次应用:get -o yaml
在屏幕上打印所有信息modify.py
modify.py
更改并打印从标准输入读取的行oc
oc apply -f -
读取标准输入并应用对于这种用例有一个
"oc"
命令:oc patch
使用
"oc patch"
可以编辑、替换、添加、删除任何OCP对象的部分如果你用谷歌搜索“oc补丁”,你会在网上找到很多例子
Official OCP v4.7 oc patch doc
Tons of examples here
OC patch "man" page
Other examples
相关问题 更多 >
编程相关推荐