mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #79305 from paivagustavo/clean-up-self-set-node-labels
Clean up self-set node labels
This commit is contained in:
commit
ed9f340add
@ -46,8 +46,7 @@ spec:
|
|||||||
- name: config
|
- name: config
|
||||||
mountPath: /etc/config
|
mountPath: /etc/config
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
# TODO(liggitt): switch to node.kubernetes.io/masq-agent-ds-ready in 1.16
|
node.kubernetes.io/masq-agent-ds-ready: "true"
|
||||||
beta.kubernetes.io/masq-agent-ds-ready: "true"
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: config
|
- name: config
|
||||||
configMap:
|
configMap:
|
||||||
|
@ -27,8 +27,7 @@ spec:
|
|||||||
priorityClassName: system-node-critical
|
priorityClassName: system-node-critical
|
||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
# TODO(liggitt): switch to node.kubernetes.io/kube-proxy-ds-ready in 1.16
|
node.kubernetes.io/kube-proxy-ds-ready: "true"
|
||||||
beta.kubernetes.io/kube-proxy-ds-ready: "true"
|
|
||||||
tolerations:
|
tolerations:
|
||||||
- operator: "Exists"
|
- operator: "Exists"
|
||||||
effect: "NoExecute"
|
effect: "NoExecute"
|
||||||
|
@ -88,7 +88,6 @@ spec:
|
|||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
# END_PROMETHEUS_TO_SD
|
# END_PROMETHEUS_TO_SD
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
# TODO(liggitt): switch to cloud.google.com/metadata-proxy-ready=true in v1.16
|
cloud.google.com/metadata-proxy-ready: "true"
|
||||||
beta.kubernetes.io/metadata-proxy-ready: "true"
|
|
||||||
beta.kubernetes.io/os: linux
|
beta.kubernetes.io/os: linux
|
||||||
terminationGracePeriodSeconds: 30
|
terminationGracePeriodSeconds: 30
|
||||||
|
@ -220,8 +220,6 @@ METADATA_CONCEALMENT_NO_FIREWALL="${METADATA_CONCEALMENT_NO_FIREWALL:-false}" #
|
|||||||
if [[ ${ENABLE_METADATA_CONCEALMENT:-} == "true" ]]; then
|
if [[ ${ENABLE_METADATA_CONCEALMENT:-} == "true" ]]; then
|
||||||
# Put the necessary label on the node so the daemonset gets scheduled.
|
# Put the necessary label on the node so the daemonset gets scheduled.
|
||||||
NODE_LABELS="${NODE_LABELS},cloud.google.com/metadata-proxy-ready=true"
|
NODE_LABELS="${NODE_LABELS},cloud.google.com/metadata-proxy-ready=true"
|
||||||
# TODO(liggitt): remove this in v1.16
|
|
||||||
NODE_LABELS="${NODE_LABELS},beta.kubernetes.io/metadata-proxy-ready=true"
|
|
||||||
# Add to the provider custom variables.
|
# Add to the provider custom variables.
|
||||||
PROVIDER_VARS="${PROVIDER_VARS:-} ENABLE_METADATA_CONCEALMENT METADATA_CONCEALMENT_NO_FIREWALL"
|
PROVIDER_VARS="${PROVIDER_VARS:-} ENABLE_METADATA_CONCEALMENT METADATA_CONCEALMENT_NO_FIREWALL"
|
||||||
fi
|
fi
|
||||||
|
@ -260,8 +260,6 @@ METADATA_CONCEALMENT_NO_FIREWALL="${METADATA_CONCEALMENT_NO_FIREWALL:-false}" #
|
|||||||
if [[ ${ENABLE_METADATA_CONCEALMENT:-} == "true" ]]; then
|
if [[ ${ENABLE_METADATA_CONCEALMENT:-} == "true" ]]; then
|
||||||
# Put the necessary label on the node so the daemonset gets scheduled.
|
# Put the necessary label on the node so the daemonset gets scheduled.
|
||||||
NODE_LABELS="${NODE_LABELS},cloud.google.com/metadata-proxy-ready=true"
|
NODE_LABELS="${NODE_LABELS},cloud.google.com/metadata-proxy-ready=true"
|
||||||
# TODO(liggitt): remove this in v1.16
|
|
||||||
NODE_LABELS="${NODE_LABELS},beta.kubernetes.io/metadata-proxy-ready=true"
|
|
||||||
# Add to the provider custom variables.
|
# Add to the provider custom variables.
|
||||||
PROVIDER_VARS="${PROVIDER_VARS:-} ENABLE_METADATA_CONCEALMENT METADATA_CONCEALMENT_NO_FIREWALL"
|
PROVIDER_VARS="${PROVIDER_VARS:-} ENABLE_METADATA_CONCEALMENT METADATA_CONCEALMENT_NO_FIREWALL"
|
||||||
fi
|
fi
|
||||||
|
@ -611,8 +611,7 @@ function build-linux-node-labels {
|
|||||||
if [[ "${KUBE_PROXY_DAEMONSET:-}" == "true" && "${master}" != "true" ]]; then
|
if [[ "${KUBE_PROXY_DAEMONSET:-}" == "true" && "${master}" != "true" ]]; then
|
||||||
# Add kube-proxy daemonset label to node to avoid situation during cluster
|
# Add kube-proxy daemonset label to node to avoid situation during cluster
|
||||||
# upgrade/downgrade when there are two instances of kube-proxy running on a node.
|
# upgrade/downgrade when there are two instances of kube-proxy running on a node.
|
||||||
# TODO(liggitt): drop beta.kubernetes.io/kube-proxy-ds-ready in 1.16
|
node_labels="node.kubernetes.io/kube-proxy-ds-ready=true"
|
||||||
node_labels="node.kubernetes.io/kube-proxy-ds-ready=true,beta.kubernetes.io/kube-proxy-ds-ready=true"
|
|
||||||
fi
|
fi
|
||||||
if [[ -n "${NODE_LABELS:-}" ]]; then
|
if [[ -n "${NODE_LABELS:-}" ]]; then
|
||||||
node_labels="${node_labels:+${node_labels},}${NODE_LABELS}"
|
node_labels="${node_labels:+${node_labels},}${NODE_LABELS}"
|
||||||
|
@ -30,7 +30,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
cliflag "k8s.io/component-base/cli/flag"
|
cliflag "k8s.io/component-base/cli/flag"
|
||||||
"k8s.io/klog"
|
|
||||||
"k8s.io/kubelet/config/v1beta1"
|
"k8s.io/kubelet/config/v1beta1"
|
||||||
"k8s.io/kubernetes/pkg/apis/core"
|
"k8s.io/kubernetes/pkg/apis/core"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
"k8s.io/kubernetes/pkg/features"
|
||||||
@ -247,9 +246,7 @@ func ValidateKubeletFlags(f *KubeletFlags) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(unknownLabels) > 0 {
|
if len(unknownLabels) > 0 {
|
||||||
// TODO(liggitt): in 1.16, return an error
|
return fmt.Errorf("unknown 'kubernetes.io' or 'k8s.io' labels specified with --node-labels: %v\n--node-labels in the 'kubernetes.io' namespace must begin with an allowed prefix (%s) or be in the specifically allowed set (%s)", unknownLabels.List(), strings.Join(kubeletapis.KubeletLabelNamespaces(), ", "), strings.Join(kubeletapis.KubeletLabels(), ", "))
|
||||||
klog.Warningf("unknown 'kubernetes.io' or 'k8s.io' labels specified with --node-labels: %v", unknownLabels.List())
|
|
||||||
klog.Warningf("in 1.16, --node-labels in the 'kubernetes.io' namespace must begin with an allowed prefix (%s) or be in the specifically allowed set (%s)", strings.Join(kubeletapis.KubeletLabelNamespaces(), ", "), strings.Join(kubeletapis.KubeletLabels(), ", "))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -145,3 +145,48 @@ func asArgs(fn, defaultFn func(*pflag.FlagSet)) []string {
|
|||||||
})
|
})
|
||||||
return args
|
return args
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestValidateKubeletFlags(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
error bool
|
||||||
|
labels map[string]string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Invalid kubernetes.io label",
|
||||||
|
error: true,
|
||||||
|
labels: map[string]string{
|
||||||
|
"beta.kubernetes.io/metadata-proxy-ready": "true",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Valid label outside of kubernetes.io and k8s.io",
|
||||||
|
error: false,
|
||||||
|
labels: map[string]string{
|
||||||
|
"cloud.google.com/metadata-proxy-ready": "true",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Empty label list",
|
||||||
|
error: false,
|
||||||
|
labels: map[string]string{},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
err := ValidateKubeletFlags(&KubeletFlags{
|
||||||
|
NodeLabels: tt.labels,
|
||||||
|
})
|
||||||
|
|
||||||
|
if tt.error && err == nil {
|
||||||
|
t.Errorf("ValidateKubeletFlags should have failed with labels: %+v", tt.labels)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !tt.error && err != nil {
|
||||||
|
t.Errorf("ValidateKubeletFlags should not have failed with labels: %+v", tt.labels)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user