KubernetesOpenShift?kubectloc-OpenShift CLI`patch`返回错误:无法将数组解组为map [string] interface类型的Go值

如何解决KubernetesOpenShift?kubectloc-OpenShift CLI`patch`返回错误:无法将数组解组为map [string] interface类型的Go值

我尝试patchservice(添加端口声明):

kind: Service
apiVersion: v1
metadata:
  name: istio-ingressgateway
  namespace: istio-system
  labels:
    app: istio-ingressgateway
    istio: ingressgateway
    release: istio
spec:
  ports:
    - name: status-port
      protocol: TCP
      port: 15021
      targetPort: 15021
      nodePort: 30805
    - name: http2
      protocol: TCP
      port: 80
      targetPort: 8080
      nodePort: 32130
    - name: https
      protocol: TCP
      port: 443
      targetPort: 8443
      nodePort: 30720
    - name: tls
      protocol: TCP
      port: 15443
      targetPort: 15443
      nodePort: 31202
  selector:
    app: istio-ingressgateway
    istio: ingressgateway
  clusterIP: 172.30.62.239
  type: LoadBalancer
  sessionAffinity: None
  externalTrafficPolicy: Cluster
status:
  loadBalancer: {}

使用kubectloc patch命令

kubectl patch service istio-ingressgateway -n istio-system --patch - <<EOF
spec:
  ports:
    - name: gw
      protocol: TCP
      port: 3080
      targetPort: 3080
      nodePort: 31230
EOF

,但出现错误

Error from server (BadRequest): json: cannot unmarshal array into Go value of type map[string]interface {}

??在后台,k8s/openshift使用GoLang来解析yaml?我试图在go中找到相同的解决方案-失败...

怎么了?

解决方法

尝试使用jsonpatch

oc patch service/simple-server -p \
'{ "spec": { "ports": [ { "name": "gw","protocol": "TCP","port": 1234,"targetPort": 1234 } ] } }'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?