Move beta OS/Arch labels back to the kubelet package

These labels are being deprecated
pull/564/head
Yu-Ju Hong 2019-02-11 17:01:39 -08:00
parent 04575f01b0
commit 5fd27c38da
5 changed files with 59 additions and 54 deletions

View File

@ -42,6 +42,7 @@ go_library(
"//pkg/capabilities:go_default_library",
"//pkg/features:go_default_library",
"//pkg/fieldpath:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis/config:go_default_library",
"//pkg/kubelet/apis/cri:go_default_library",
"//pkg/kubelet/apis/cri/runtime/v1alpha2:go_default_library",
@ -177,6 +178,7 @@ go_test(
"//pkg/apis/core/install:go_default_library",
"//pkg/capabilities:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/cadvisor/testing:go_default_library",
"//pkg/kubelet/cm:go_default_library",
"//pkg/kubelet/config:go_default_library",

View File

@ -24,6 +24,12 @@ import (
)
const (
// The OS/Arch labels are promoted to GA in 1.14. kubelet applies both beta
// and GA labels to ensure backward compatibility.
// TODO: stop applying the beta OS/Arch labels in Kubernetes 1.18.
LabelOS = "beta.kubernetes.io/os"
LabelArch = "beta.kubernetes.io/arch"
// GA versions of the legacy beta labels.
// TODO: update kubelet and controllers to set both beta and GA labels, then export these constants
labelZoneFailureDomainGA = "failure-domain.kubernetes.io/zone"
@ -39,8 +45,8 @@ var kubeletLabels = sets.NewString(
v1.LabelOSStable,
v1.LabelArchStable,
v1.LabelOS,
v1.LabelArch,
LabelOS,
LabelArch,
labelZoneFailureDomainGA,
labelZoneRegionGA,

View File

@ -37,6 +37,7 @@ import (
k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1"
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/features"
kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/kubelet/events"
"k8s.io/kubernetes/pkg/kubelet/nodestatus"
"k8s.io/kubernetes/pkg/kubelet/util"
@ -150,8 +151,8 @@ func (kl *Kubelet) updateDefaultLabels(initialNode, existingNode *v1.Node) bool
v1.LabelInstanceType,
v1.LabelOSStable,
v1.LabelArchStable,
v1.LabelOS,
v1.LabelArch,
kubeletapis.LabelOS,
kubeletapis.LabelArch,
}
needsUpdate := false
@ -214,11 +215,11 @@ func (kl *Kubelet) initialNode() (*v1.Node, error) {
ObjectMeta: metav1.ObjectMeta{
Name: string(kl.nodeName),
Labels: map[string]string{
v1.LabelHostname: kl.hostname,
v1.LabelOSStable: goruntime.GOOS,
v1.LabelArchStable: goruntime.GOARCH,
v1.LabelOS: goruntime.GOOS,
v1.LabelArch: goruntime.GOARCH,
v1.LabelHostname: kl.hostname,
v1.LabelOSStable: goruntime.GOOS,
v1.LabelArchStable: goruntime.GOARCH,
kubeletapis.LabelOS: goruntime.GOOS,
kubeletapis.LabelArch: goruntime.GOARCH,
},
},
Spec: v1.NodeSpec{

View File

@ -49,6 +49,7 @@ import (
"k8s.io/client-go/rest"
core "k8s.io/client-go/testing"
"k8s.io/kubernetes/pkg/features"
kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing"
"k8s.io/kubernetes/pkg/kubelet/cm"
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
@ -1045,11 +1046,11 @@ func TestRegisterWithApiServer(t *testing.T) {
ObjectMeta: metav1.ObjectMeta{
Name: testKubeletHostname,
Labels: map[string]string{
v1.LabelHostname: testKubeletHostname,
v1.LabelOSStable: goruntime.GOOS,
v1.LabelArchStable: goruntime.GOARCH,
v1.LabelOS: goruntime.GOOS,
v1.LabelArch: goruntime.GOARCH,
v1.LabelHostname: testKubeletHostname,
v1.LabelOSStable: goruntime.GOOS,
v1.LabelArchStable: goruntime.GOARCH,
kubeletapis.LabelOS: goruntime.GOOS,
kubeletapis.LabelArch: goruntime.GOARCH,
},
},
}, nil
@ -1092,11 +1093,11 @@ func TestTryRegisterWithApiServer(t *testing.T) {
node := &v1.Node{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
v1.LabelHostname: testKubeletHostname,
v1.LabelOSStable: goruntime.GOOS,
v1.LabelArchStable: goruntime.GOARCH,
v1.LabelOS: goruntime.GOOS,
v1.LabelArch: goruntime.GOARCH,
v1.LabelHostname: testKubeletHostname,
v1.LabelOSStable: goruntime.GOOS,
v1.LabelArchStable: goruntime.GOARCH,
kubeletapis.LabelOS: goruntime.GOOS,
kubeletapis.LabelArch: goruntime.GOARCH,
},
},
}
@ -1328,8 +1329,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
},
@ -1344,8 +1345,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
{
@ -1357,8 +1358,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
},
@ -1369,8 +1370,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "old-zone-failure-domain",
v1.LabelZoneRegion: "old-zone-region",
v1.LabelInstanceType: "old-instance-type",
v1.LabelOS: "old-os",
v1.LabelArch: "old-arch",
kubeletapis.LabelOS: "old-os",
kubeletapis.LabelArch: "old-arch",
},
},
},
@ -1380,8 +1381,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
{
@ -1393,8 +1394,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
},
@ -1405,8 +1406,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
"please-persist": "foo",
},
},
@ -1417,8 +1418,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
"please-persist": "foo",
},
},
@ -1436,8 +1437,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
"please-persist": "foo",
},
},
@ -1448,8 +1449,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
"please-persist": "foo",
},
},
@ -1462,8 +1463,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
},
@ -1474,8 +1475,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
},
@ -1485,8 +1486,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
{
@ -1498,8 +1499,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
},
@ -1512,8 +1513,8 @@ func TestUpdateDefaultLabels(t *testing.T) {
v1.LabelZoneFailureDomain: "new-zone-failure-domain",
v1.LabelZoneRegion: "new-zone-region",
v1.LabelInstanceType: "new-instance-type",
v1.LabelOS: "new-os",
v1.LabelArch: "new-arch",
kubeletapis.LabelOS: "new-os",
kubeletapis.LabelArch: "new-arch",
},
},
}

View File

@ -23,14 +23,9 @@ const (
LabelInstanceType = "beta.kubernetes.io/instance-type"
// The OS/Arch labels are promoted to GA in 1.14. kubelet applies both beta
// and GA labels to ensure backward compatibility.
// TODO: stop applying the beta OS/Arch labels in Kubernetes 1.18.
LabelOSStable = "kubernetes.io/os"
LabelArchStable = "kubernetes.io/arch"
LabelOS = "beta.kubernetes.io/os"
LabelArch = "beta.kubernetes.io/arch"
// LabelNamespaceSuffixKubelet is an allowed label namespace suffix kubelets can self-set ([*.]kubelet.kubernetes.io/*)
LabelNamespaceSuffixKubelet = "kubelet.kubernetes.io"
// LabelNamespaceSuffixNode is an allowed label namespace suffix kubelets can self-set ([*.]node.kubernetes.io/*)