mirror of https://github.com/k3s-io/k3s
Merge pull request #23684 from luxas/auto_label_arch
Automatic merge from submit-queue Automatically add node labels beta.kubernetes.io/{os,arch} Proposal: #17981 As discussed in #22623: > @davidopp: #9044 says cloud provider but can also cover platform stuff. Adds a label `beta.kubernetes.io/platform` to `kubelet` that informs about the os/arch it's running on. Makes it easy to specify `nodeSelectors` for different arches in multi-arch clusters. ```console $ kubectl get no --show-labels NAME STATUS AGE LABELS 127.0.0.1 Ready 1m beta.kubernetes.io/platform=linux-amd64,kubernetes.io/hostname=127.0.0.1 $ kubectl describe no Name: 127.0.0.1 Labels: beta.kubernetes.io/platform=linux-amd64,kubernetes.io/hostname=127.0.0.1 CreationTimestamp: Thu, 31 Mar 2016 20:39:15 +0300 ``` @davidopp @vishh @fgrzadkowski @thockin @wojtek-t @ixdy @bgrant0607 @dchen1107 @preillymepull/6/head
commit
399b086620
|
@ -16063,7 +16063,9 @@
|
|||
"osImage",
|
||||
"containerRuntimeVersion",
|
||||
"kubeletVersion",
|
||||
"kubeProxyVersion"
|
||||
"kubeProxyVersion",
|
||||
"operatingSystem",
|
||||
"architecture"
|
||||
],
|
||||
"properties": {
|
||||
"machineID": {
|
||||
|
@ -16097,6 +16099,14 @@
|
|||
"kubeProxyVersion": {
|
||||
"type": "string",
|
||||
"description": "KubeProxy Version reported by the node."
|
||||
},
|
||||
"operatingSystem": {
|
||||
"type": "string",
|
||||
"description": "The Operating System reported by the node"
|
||||
},
|
||||
"architecture": {
|
||||
"type": "string",
|
||||
"description": "The Architecture reported by the node"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -7549,6 +7549,20 @@ The resulting set of endpoints can be viewed as:<br>
|
|||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||
<td class="tableblock halign-left valign-top"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">operatingSystem</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">The Operating System reported by the node</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||
<td class="tableblock halign-left valign-top"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">architecture</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">The Architecture reported by the node</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||
<td class="tableblock halign-left valign-top"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@ -7846,7 +7860,7 @@ The resulting set of endpoints can be viewed as:<br>
|
|||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2016-05-06 04:28:14 UTC
|
||||
Last updated 2016-05-10 14:28:49 UTC
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -1585,6 +1585,8 @@ func DeepCopy_api_NodeSystemInfo(in NodeSystemInfo, out *NodeSystemInfo, c *conv
|
|||
out.ContainerRuntimeVersion = in.ContainerRuntimeVersion
|
||||
out.KubeletVersion = in.KubeletVersion
|
||||
out.KubeProxyVersion = in.KubeProxyVersion
|
||||
out.OperatingSystem = in.OperatingSystem
|
||||
out.Architecture = in.Architecture
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -34275,14 +34275,14 @@ func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
|
|||
} else {
|
||||
yysep2 := !z.EncBinary()
|
||||
yy2arr2 := z.EncBasicHandle().StructToArray
|
||||
var yyq2 [8]bool
|
||||
var yyq2 [10]bool
|
||||
_, _, _ = yysep2, yyq2, yy2arr2
|
||||
const yyr2 bool = false
|
||||
var yynn2 int
|
||||
if yyr2 || yy2arr2 {
|
||||
r.EncodeArrayStart(8)
|
||||
r.EncodeArrayStart(10)
|
||||
} else {
|
||||
yynn2 = 8
|
||||
yynn2 = 10
|
||||
for _, b := range yyq2 {
|
||||
if b {
|
||||
yynn2++
|
||||
|
@ -34443,6 +34443,44 @@ func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
|
|||
r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym28 := z.EncBinary()
|
||||
_ = yym28
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("operatingSystem"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym29 := z.EncBinary()
|
||||
_ = yym29
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym31 := z.EncBinary()
|
||||
_ = yym31
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("architecture"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym32 := z.EncBinary()
|
||||
_ = yym32
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
} else {
|
||||
|
@ -34552,6 +34590,18 @@ func (x *NodeSystemInfo) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KubeProxyVersion = string(r.DecodeString())
|
||||
}
|
||||
case "operatingSystem":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.OperatingSystem = ""
|
||||
} else {
|
||||
x.OperatingSystem = string(r.DecodeString())
|
||||
}
|
||||
case "architecture":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Architecture = ""
|
||||
} else {
|
||||
x.Architecture = string(r.DecodeString())
|
||||
}
|
||||
default:
|
||||
z.DecStructFieldNotFound(-1, yys3)
|
||||
} // end switch yys3
|
||||
|
@ -34563,16 +34613,16 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
var h codecSelfer1234
|
||||
z, r := codec1978.GenHelperDecoder(d)
|
||||
_, _, _ = h, z, r
|
||||
var yyj12 int
|
||||
var yyb12 bool
|
||||
var yyhl12 bool = l >= 0
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
var yyj14 int
|
||||
var yyb14 bool
|
||||
var yyhl14 bool = l >= 0
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34582,13 +34632,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.MachineID = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34598,13 +34648,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.SystemUUID = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34614,13 +34664,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.BootID = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34630,13 +34680,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KernelVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34646,13 +34696,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.OSImage = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34662,13 +34712,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.ContainerRuntimeVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34678,13 +34728,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KubeletVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34694,18 +34744,50 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KubeProxyVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.OperatingSystem = ""
|
||||
} else {
|
||||
x.OperatingSystem = string(r.DecodeString())
|
||||
}
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Architecture = ""
|
||||
} else {
|
||||
x.Architecture = string(r.DecodeString())
|
||||
}
|
||||
for {
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
break
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
z.DecStructFieldNotFound(yyj12-1, "")
|
||||
z.DecStructFieldNotFound(yyj14-1, "")
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
}
|
||||
|
@ -55547,7 +55629,7 @@ func (x codecSelfer1234) decSliceNode(v *[]Node, d *codec1978.Decoder) {
|
|||
|
||||
yyrg1 := len(yyv1) > 0
|
||||
yyv21 := yyv1
|
||||
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 536)
|
||||
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 568)
|
||||
if yyrt1 {
|
||||
if yyrl1 <= cap(yyv1) {
|
||||
yyv1 = yyv1[:yyrl1]
|
||||
|
|
|
@ -1832,6 +1832,10 @@ type NodeSystemInfo struct {
|
|||
KubeletVersion string `json:"kubeletVersion"`
|
||||
// KubeProxy Version reported by the node.
|
||||
KubeProxyVersion string `json:"kubeProxyVersion"`
|
||||
// The Operating System reported by the node
|
||||
OperatingSystem string `json:"operatingSystem"`
|
||||
// The Architecture reported by the node
|
||||
Architecture string `json:"architecture"`
|
||||
}
|
||||
|
||||
// NodeStatus is information about the current status of a node.
|
||||
|
|
|
@ -24,4 +24,7 @@ const (
|
|||
LabelZoneRegion = "failure-domain.beta.kubernetes.io/region"
|
||||
|
||||
LabelInstanceType = "beta.kubernetes.io/instance-type"
|
||||
|
||||
LabelOS = "beta.kubernetes.io/os"
|
||||
LabelArch = "beta.kubernetes.io/arch"
|
||||
)
|
||||
|
|
|
@ -3588,6 +3588,8 @@ func autoConvert_v1_NodeSystemInfo_To_api_NodeSystemInfo(in *NodeSystemInfo, out
|
|||
out.ContainerRuntimeVersion = in.ContainerRuntimeVersion
|
||||
out.KubeletVersion = in.KubeletVersion
|
||||
out.KubeProxyVersion = in.KubeProxyVersion
|
||||
out.OperatingSystem = in.OperatingSystem
|
||||
out.Architecture = in.Architecture
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -3604,6 +3606,8 @@ func autoConvert_api_NodeSystemInfo_To_v1_NodeSystemInfo(in *api.NodeSystemInfo,
|
|||
out.ContainerRuntimeVersion = in.ContainerRuntimeVersion
|
||||
out.KubeletVersion = in.KubeletVersion
|
||||
out.KubeProxyVersion = in.KubeProxyVersion
|
||||
out.OperatingSystem = in.OperatingSystem
|
||||
out.Architecture = in.Architecture
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -1532,6 +1532,8 @@ func DeepCopy_v1_NodeSystemInfo(in NodeSystemInfo, out *NodeSystemInfo, c *conve
|
|||
out.ContainerRuntimeVersion = in.ContainerRuntimeVersion
|
||||
out.KubeletVersion = in.KubeletVersion
|
||||
out.KubeProxyVersion = in.KubeProxyVersion
|
||||
out.OperatingSystem = in.OperatingSystem
|
||||
out.Architecture = in.Architecture
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -4163,6 +4163,14 @@ func (m *NodeSystemInfo) MarshalTo(data []byte) (int, error) {
|
|||
i++
|
||||
i = encodeVarintGenerated(data, i, uint64(len(m.KubeProxyVersion)))
|
||||
i += copy(data[i:], m.KubeProxyVersion)
|
||||
data[i] = 0x4a
|
||||
i++
|
||||
i = encodeVarintGenerated(data, i, uint64(len(m.OperatingSystem)))
|
||||
i += copy(data[i:], m.OperatingSystem)
|
||||
data[i] = 0x52
|
||||
i++
|
||||
i = encodeVarintGenerated(data, i, uint64(len(m.Architecture)))
|
||||
i += copy(data[i:], m.Architecture)
|
||||
return i, nil
|
||||
}
|
||||
|
||||
|
@ -8631,6 +8639,10 @@ func (m *NodeSystemInfo) Size() (n int) {
|
|||
n += 1 + l + sovGenerated(uint64(l))
|
||||
l = len(m.KubeProxyVersion)
|
||||
n += 1 + l + sovGenerated(uint64(l))
|
||||
l = len(m.OperatingSystem)
|
||||
n += 1 + l + sovGenerated(uint64(l))
|
||||
l = len(m.Architecture)
|
||||
n += 1 + l + sovGenerated(uint64(l))
|
||||
return n
|
||||
}
|
||||
|
||||
|
@ -21462,6 +21474,64 @@ func (m *NodeSystemInfo) Unmarshal(data []byte) error {
|
|||
}
|
||||
m.KubeProxyVersion = string(data[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 9:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field OperatingSystem", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowGenerated
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= (uint64(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthGenerated
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.OperatingSystem = string(data[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 10:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Architecture", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowGenerated
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= (uint64(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthGenerated
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Architecture = string(data[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipGenerated(data[iNdEx:])
|
||||
|
|
|
@ -1322,6 +1322,12 @@ message NodeSystemInfo {
|
|||
|
||||
// KubeProxy Version reported by the node.
|
||||
optional string kubeProxyVersion = 8;
|
||||
|
||||
// The Operating System reported by the node
|
||||
optional string operatingSystem = 9;
|
||||
|
||||
// The Architecture reported by the node
|
||||
optional string architecture = 10;
|
||||
}
|
||||
|
||||
// ObjectFieldSelector selects an APIVersioned field of an object.
|
||||
|
|
|
@ -34157,14 +34157,14 @@ func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
|
|||
} else {
|
||||
yysep2 := !z.EncBinary()
|
||||
yy2arr2 := z.EncBasicHandle().StructToArray
|
||||
var yyq2 [8]bool
|
||||
var yyq2 [10]bool
|
||||
_, _, _ = yysep2, yyq2, yy2arr2
|
||||
const yyr2 bool = false
|
||||
var yynn2 int
|
||||
if yyr2 || yy2arr2 {
|
||||
r.EncodeArrayStart(8)
|
||||
r.EncodeArrayStart(10)
|
||||
} else {
|
||||
yynn2 = 8
|
||||
yynn2 = 10
|
||||
for _, b := range yyq2 {
|
||||
if b {
|
||||
yynn2++
|
||||
|
@ -34325,6 +34325,44 @@ func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
|
|||
r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym28 := z.EncBinary()
|
||||
_ = yym28
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("operatingSystem"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym29 := z.EncBinary()
|
||||
_ = yym29
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
yym31 := z.EncBinary()
|
||||
_ = yym31
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
|
||||
}
|
||||
} else {
|
||||
z.EncSendContainerState(codecSelfer_containerMapKey1234)
|
||||
r.EncodeString(codecSelferC_UTF81234, string("architecture"))
|
||||
z.EncSendContainerState(codecSelfer_containerMapValue1234)
|
||||
yym32 := z.EncBinary()
|
||||
_ = yym32
|
||||
if false {
|
||||
} else {
|
||||
r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
|
||||
}
|
||||
}
|
||||
if yyr2 || yy2arr2 {
|
||||
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
} else {
|
||||
|
@ -34434,6 +34472,18 @@ func (x *NodeSystemInfo) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KubeProxyVersion = string(r.DecodeString())
|
||||
}
|
||||
case "operatingSystem":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.OperatingSystem = ""
|
||||
} else {
|
||||
x.OperatingSystem = string(r.DecodeString())
|
||||
}
|
||||
case "architecture":
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Architecture = ""
|
||||
} else {
|
||||
x.Architecture = string(r.DecodeString())
|
||||
}
|
||||
default:
|
||||
z.DecStructFieldNotFound(-1, yys3)
|
||||
} // end switch yys3
|
||||
|
@ -34445,16 +34495,16 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
var h codecSelfer1234
|
||||
z, r := codec1978.GenHelperDecoder(d)
|
||||
_, _, _ = h, z, r
|
||||
var yyj12 int
|
||||
var yyb12 bool
|
||||
var yyhl12 bool = l >= 0
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
var yyj14 int
|
||||
var yyb14 bool
|
||||
var yyhl14 bool = l >= 0
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34464,13 +34514,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.MachineID = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34480,13 +34530,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.SystemUUID = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34496,13 +34546,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.BootID = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34512,13 +34562,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KernelVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34528,13 +34578,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.OSImage = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34544,13 +34594,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.ContainerRuntimeVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34560,13 +34610,13 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KubeletVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
|
@ -34576,18 +34626,50 @@ func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
|
|||
} else {
|
||||
x.KubeProxyVersion = string(r.DecodeString())
|
||||
}
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.OperatingSystem = ""
|
||||
} else {
|
||||
x.OperatingSystem = string(r.DecodeString())
|
||||
}
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb14 {
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
return
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
if r.TryDecodeAsNil() {
|
||||
x.Architecture = ""
|
||||
} else {
|
||||
x.Architecture = string(r.DecodeString())
|
||||
}
|
||||
for {
|
||||
yyj12++
|
||||
if yyhl12 {
|
||||
yyb12 = yyj12 > l
|
||||
yyj14++
|
||||
if yyhl14 {
|
||||
yyb14 = yyj14 > l
|
||||
} else {
|
||||
yyb12 = r.CheckBreak()
|
||||
yyb14 = r.CheckBreak()
|
||||
}
|
||||
if yyb12 {
|
||||
if yyb14 {
|
||||
break
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
|
||||
z.DecStructFieldNotFound(yyj12-1, "")
|
||||
z.DecStructFieldNotFound(yyj14-1, "")
|
||||
}
|
||||
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
|
||||
}
|
||||
|
@ -55600,7 +55682,7 @@ func (x codecSelfer1234) decSliceNode(v *[]Node, d *codec1978.Decoder) {
|
|||
|
||||
yyrg1 := len(yyv1) > 0
|
||||
yyv21 := yyv1
|
||||
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 536)
|
||||
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 568)
|
||||
if yyrt1 {
|
||||
if yyrl1 <= cap(yyv1) {
|
||||
yyv1 = yyv1[:yyrl1]
|
||||
|
|
|
@ -2208,6 +2208,10 @@ type NodeSystemInfo struct {
|
|||
KubeletVersion string `json:"kubeletVersion" protobuf:"bytes,7,opt,name=kubeletVersion"`
|
||||
// KubeProxy Version reported by the node.
|
||||
KubeProxyVersion string `json:"kubeProxyVersion" protobuf:"bytes,8,opt,name=kubeProxyVersion"`
|
||||
// The Operating System reported by the node
|
||||
OperatingSystem string `json:"operatingSystem" protobuf:"bytes,9,opt,name=operatingSystem"`
|
||||
// The Architecture reported by the node
|
||||
Architecture string `json:"architecture" protobuf:"bytes,10,opt,name=architecture"`
|
||||
}
|
||||
|
||||
// NodeStatus is information about the current status of a node.
|
||||
|
|
|
@ -894,6 +894,8 @@ var map_NodeSystemInfo = map[string]string{
|
|||
"containerRuntimeVersion": "ContainerRuntime Version reported by the node through runtime remote API (e.g. docker://1.5.0).",
|
||||
"kubeletVersion": "Kubelet Version reported by the node.",
|
||||
"kubeProxyVersion": "KubeProxy Version reported by the node.",
|
||||
"operatingSystem": "The Operating System reported by the node",
|
||||
"architecture": "The Architecture reported by the node",
|
||||
}
|
||||
|
||||
func (NodeSystemInfo) SwaggerDoc() map[string]string {
|
||||
|
|
|
@ -1638,6 +1638,8 @@ func describeNode(node *api.Node, nodeNonTerminatedPodsList *api.PodList, events
|
|||
fmt.Fprintf(out, " Boot ID:\t%s\n", node.Status.NodeInfo.BootID)
|
||||
fmt.Fprintf(out, " Kernel Version:\t%s\n", node.Status.NodeInfo.KernelVersion)
|
||||
fmt.Fprintf(out, " OS Image:\t%s\n", node.Status.NodeInfo.OSImage)
|
||||
fmt.Fprintf(out, " Operating System:\t%s\n", node.Status.NodeInfo.OperatingSystem)
|
||||
fmt.Fprintf(out, " Architecture:\t%s\n", node.Status.NodeInfo.Architecture)
|
||||
fmt.Fprintf(out, " Container Runtime Version:\t%s\n", node.Status.NodeInfo.ContainerRuntimeVersion)
|
||||
fmt.Fprintf(out, " Kubelet Version:\t%s\n", node.Status.NodeInfo.KubeletVersion)
|
||||
fmt.Fprintf(out, " Kube-Proxy Version:\t%s\n", node.Status.NodeInfo.KubeProxyVersion)
|
||||
|
|
|
@ -26,6 +26,7 @@ import (
|
|||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
goRuntime "runtime"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
|
@ -969,8 +970,12 @@ func (kl *Kubelet) Run(updates <-chan kubetypes.PodUpdate) {
|
|||
func (kl *Kubelet) initialNodeStatus() (*api.Node, error) {
|
||||
node := &api.Node{
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
Name: kl.nodeName,
|
||||
Labels: map[string]string{unversioned.LabelHostname: kl.hostname},
|
||||
Name: kl.nodeName,
|
||||
Labels: map[string]string{
|
||||
unversioned.LabelHostname: kl.hostname,
|
||||
unversioned.LabelOS: goRuntime.GOOS,
|
||||
unversioned.LabelArch: goRuntime.GOARCH,
|
||||
},
|
||||
},
|
||||
Spec: api.NodeSpec{
|
||||
Unschedulable: !kl.registerSchedulable,
|
||||
|
@ -3049,7 +3054,7 @@ func (kl *Kubelet) setNodeStatusDaemonEndpoints(node *api.Node) {
|
|||
node.Status.DaemonEndpoints = *kl.daemonEndpoints
|
||||
}
|
||||
|
||||
// Set images list fot this node
|
||||
// Set images list for the node
|
||||
func (kl *Kubelet) setNodeStatusImages(node *api.Node) {
|
||||
// Update image list of this node
|
||||
var imagesOnNode []api.ContainerImage
|
||||
|
@ -3067,12 +3072,19 @@ func (kl *Kubelet) setNodeStatusImages(node *api.Node) {
|
|||
node.Status.Images = imagesOnNode
|
||||
}
|
||||
|
||||
// Set the GOOS and GOARCH for this node
|
||||
func (kl *Kubelet) setNodeStatusGoRuntime(node *api.Node) {
|
||||
node.Status.NodeInfo.OperatingSystem = goRuntime.GOOS
|
||||
node.Status.NodeInfo.Architecture = goRuntime.GOARCH
|
||||
}
|
||||
|
||||
// Set status for the node.
|
||||
func (kl *Kubelet) setNodeStatusInfo(node *api.Node) {
|
||||
kl.setNodeStatusMachineInfo(node)
|
||||
kl.setNodeStatusVersionInfo(node)
|
||||
kl.setNodeStatusDaemonEndpoints(node)
|
||||
kl.setNodeStatusImages(node)
|
||||
kl.setNodeStatusGoRuntime(node)
|
||||
}
|
||||
|
||||
// Set Readycondition for the node.
|
||||
|
|
|
@ -2390,6 +2390,8 @@ func TestUpdateNewNodeStatus(t *testing.T) {
|
|||
BootID: "1b3",
|
||||
KernelVersion: "3.16.0-0.bpo.4-amd64",
|
||||
OSImage: "Debian GNU/Linux 7 (wheezy)",
|
||||
OperatingSystem: "linux",
|
||||
Architecture: "amd64",
|
||||
ContainerRuntimeVersion: "test://1.5.0",
|
||||
KubeletVersion: version.Get().String(),
|
||||
KubeProxyVersion: version.Get().String(),
|
||||
|
@ -2623,6 +2625,8 @@ func TestUpdateExistingNodeStatus(t *testing.T) {
|
|||
BootID: "1b3",
|
||||
KernelVersion: "3.16.0-0.bpo.4-amd64",
|
||||
OSImage: "Debian GNU/Linux 7 (wheezy)",
|
||||
OperatingSystem: "linux",
|
||||
Architecture: "amd64",
|
||||
ContainerRuntimeVersion: "test://1.5.0",
|
||||
KubeletVersion: version.Get().String(),
|
||||
KubeProxyVersion: version.Get().String(),
|
||||
|
@ -2896,6 +2900,8 @@ func TestUpdateNodeStatusWithRuntimeStateError(t *testing.T) {
|
|||
BootID: "1b3",
|
||||
KernelVersion: "3.16.0-0.bpo.4-amd64",
|
||||
OSImage: "Debian GNU/Linux 7 (wheezy)",
|
||||
OperatingSystem: "linux",
|
||||
Architecture: "amd64",
|
||||
ContainerRuntimeVersion: "test://1.5.0",
|
||||
KubeletVersion: version.Get().String(),
|
||||
KubeProxyVersion: version.Get().String(),
|
||||
|
|
Loading…
Reference in New Issue