我尝试patch
和service
(添加端口声明):
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: {}
使用kubectl
或oc
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
中找到相同的解决方案,但失败了。。。
怎么了?
尝试使用json
到patch
oc patch service/simple-server -p
'{ "spec": { "ports": [ { "name": "gw", "protocol": "TCP", "port": 1234,"targetPort": 1234 } ] } }'