openshift - OpenShift 补丁服务端口号
问题描述
在 OpenShift 中,我试图通过 OpenShift Client 可执行文件使用此命令修补服务端口号,但我收到此错误消息。
$ oc patch svc fabric-boot-sample -p '{"spec":{"ports":{"port":8090}}}'
Error from server: cannot restore slice from map
该补丁针对 yaml 服务描述符的这一部分。
$ oc get svc/fabric-boot-sample -o yaml
...
spec:
clusterIP: 172.30.48.46
ports:
- name: 8090-tcp
port: 8090
protocol: TCP
targetPort: 8090
...
patch 命令中是否有一些拼写错误/语法错误?
解决方案
问题是ports
您的目标是一个列表。因此,您需要指定要修补的列表元素。
如果您确定列表中只有一个元素,您可以运行:
oc patch svc fabric-boot-sample --type=json -p '[{"op": "replace", "path": "/spec/ports/0/port", "value":9999}]'
推荐阅读
- selenium - 抓取材料的单位
- ruby-on-rails - Rails如何将link_to用于外部网站并使用块?
- javascript - 是否可以通过 JavaScript 获取一种语言中所有单词的列表?
- node.js - 如何使用 Google 云功能从 Firebase 实时数据库中读取值?
- node.js - 本地运行的 Firebase 函数未使用 Firebase Admin SDK 进行身份验证
- design-patterns - 策略模式 Java
- three.js - 是否可以在threejs中命名旋转/关节以及如何设置它们?
- python - Tkinter 条目返回 ValueError: invalid literal for int() with base 10: ''
- filenames - Flutter:获取文件的文件名
- python - 如何在 ViewClass 中使用请求