kubelet: apply both beta and stable instance-type label

Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
This commit is contained in:
Andrew Sy Kim 2019-11-08 10:29:45 -05:00
parent d42130fdcd
commit 7ddedf5034
3 changed files with 19 additions and 5 deletions

View File

@ -34,9 +34,6 @@ const (
// and GA labels to ensure backward compatibility.
// TODO: stop applying the beta Arch labels in Kubernetes 1.18.
LabelArch = "beta.kubernetes.io/arch"
// TODO: update kubelet and controllers to set both beta and GA labels, then export these constants
labelInstanceTypeGA = "kubernetes.io/instance-type"
)
var kubeletLabels = sets.NewString(
@ -46,13 +43,12 @@ var kubeletLabels = sets.NewString(
v1.LabelZoneFailureDomain,
v1.LabelZoneRegion,
v1.LabelInstanceType,
v1.LabelInstanceTypeStable,
v1.LabelOSStable,
v1.LabelArchStable,
LabelOS,
LabelArch,
labelInstanceTypeGA,
)
var kubeletLabelNamespaces = sets.NewString(

View File

@ -154,6 +154,7 @@ func (kl *Kubelet) updateDefaultLabels(initialNode, existingNode *v1.Node) bool
v1.LabelZoneRegionStable,
v1.LabelZoneFailureDomain,
v1.LabelZoneRegion,
v1.LabelInstanceTypeStable,
v1.LabelInstanceType,
v1.LabelOSStable,
v1.LabelArchStable,
@ -333,6 +334,8 @@ func (kl *Kubelet) initialNode(ctx context.Context) (*v1.Node, error) {
if instanceType != "" {
klog.Infof("Adding node label from cloud provider: %s=%s", v1.LabelInstanceType, instanceType)
node.ObjectMeta.Labels[v1.LabelInstanceType] = instanceType
klog.Infof("Adding node label from cloud provider: %s=%s", v1.LabelInstanceTypeStable, instanceType)
node.ObjectMeta.Labels[v1.LabelInstanceTypeStable] = instanceType
}
// If the cloud has zone information, label the node with the zone information
zones, ok := kl.cloud.Zones()

View File

@ -1528,6 +1528,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1546,6 +1547,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1561,6 +1563,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1575,6 +1578,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "old-zone-region",
v1.LabelZoneFailureDomain: "old-zone-failure-domain",
v1.LabelZoneRegion: "old-zone-region",
v1.LabelInstanceTypeStable: "old-instance-type",
v1.LabelInstanceType: "old-instance-type",
kubeletapis.LabelOS: "old-os",
kubeletapis.LabelArch: "old-arch",
@ -1588,6 +1592,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1603,6 +1608,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1617,6 +1623,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1631,6 +1638,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1652,6 +1660,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1666,6 +1675,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1682,6 +1692,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1696,6 +1707,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1709,6 +1721,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1724,6 +1737,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
@ -1740,6 +1754,7 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneRegionStable: "new-zone-region",
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceTypeStable: "new-instance-type",
v1.LabelInstanceType: "new-instance-type",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",