创建Kubernetes Service对象时遇Unmarshal异常,请求排查问题
问题排查:Kubernetes Service创建失败的原因及修复方案
错误根源
spec.ports字段在Kubernetes Service规范中被定义为数组类型(对应Go结构体中的[]v1.ServicePort),你提供的YAML里直接将单个端口配置写成了对象格式,没有用-标记为数组元素,导致API Server无法完成JSON反序列化。
修复后的YAML配置
apiVersion: v1 kind: Service metadata: name: srv1 spec: selector: name: srv1 ports: - protocol: TCP port: 80 targetPort: 9736
关键修正点
在ports下的第一个配置项(protocol: TCP)前添加-,将单个端口对象转为数组中的元素。即使只需要配置一个端口映射,也必须遵循数组的语法要求——因为Kubernetes允许在一个Service中定义多个端口映射,所以ports字段默认是数组类型。
内容的提问来源于stack exchange,提问作者user5592626
相关产品推荐
相关产品推荐

