有没有办法使用 oc 命令编辑我的 openshift configmap
Is there a way to edit my openshift configmap using oc command
我正在尝试创建一个简单的自动化来将我在 OpenShift 中的配置映射内容从当前内容替换为编辑后的 yaml 文件,我尝试了很多 oc 命令但都失败了,我想知道是否有人知道怎么做。
只是为了让你明白:
我正在使用 oc get congifmap <configmap name>
从我的项目中获取当前配置图,
然后我使用 python 对 configmap 数据进行更改。
然后我想将当前配置映射更改为新编辑的配置映射。
我试过编辑、应用、更改,但都失败了。
非常感谢您的帮助:)
您只需要处理“输入”和“输出”即可。
想象一个 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
,更新它的值并再次应用:
oc get cm -o yaml | python modify.py | oc apply -f -
get -o yaml
在屏幕上打印所有信息
- 输出到脚本
modify.py
modify.py
更改并打印从标准输入读取的行
- 输出到
oc
oc apply -f -
从标准输入读取并应用
对于这样的用例有一个"oc"
命令:oc patch
使用"oc patch"
您可以编辑、替换、添加、删除任何 OCP 对象的部分
如果你google“oc补丁”你会在网上找到很多例子
Official OCP v4.7 oc patch doc
Tons of examples here
OC patch "man" page
Other examples
我正在尝试创建一个简单的自动化来将我在 OpenShift 中的配置映射内容从当前内容替换为编辑后的 yaml 文件,我尝试了很多 oc 命令但都失败了,我想知道是否有人知道怎么做。
只是为了让你明白:
我正在使用 oc get congifmap <configmap name>
从我的项目中获取当前配置图,
然后我使用 python 对 configmap 数据进行更改。
然后我想将当前配置映射更改为新编辑的配置映射。
我试过编辑、应用、更改,但都失败了。
非常感谢您的帮助:)
您只需要处理“输入”和“输出”即可。
想象一个 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
,更新它的值并再次应用:
oc get cm -o yaml | python modify.py | oc apply -f -
get -o yaml
在屏幕上打印所有信息- 输出到脚本
modify.py
modify.py
更改并打印从标准输入读取的行- 输出到
oc
oc apply -f -
从标准输入读取并应用
对于这样的用例有一个"oc"
命令:oc patch
使用"oc patch"
您可以编辑、替换、添加、删除任何 OCP 对象的部分
如果你google“oc补丁”你会在网上找到很多例子
Official OCP v4.7 oc patch doc
Tons of examples here
OC patch "man" page
Other examples