How do you update a node/minion's label in Kubernetes?

1/29/2015

Anyone out there who succesfully updated a node/minion's label in Kubernetes? I can't seem to find any documentation for it.

I tried:

kubectl update -f minion.yaml with a template gotten from kubectl get minion 192.168.0.102 -o yaml. I get the following error:

minion "192.168.0.102" is invalid: status: invalid value '{HostIP:192.168.0.102 Phase: Conditions:[{Kind:Ready Status:Full LastTransitionTime:0001-01-01 00:00:00 +0000 UTC Reason: Message:}]}': status must be empty

I tried removing the status from the minion.yaml file - to no avail. The API version of the minion is v1beta1.

I see there is a github issue regarding documentation for this capability. I assume you use nodeSelector and minion labels to "pin a pod to a specific machine".

Thanks.

Stefan

-- ISJ
kubernetes

2 Answers

1/29/2015

As mentioned in the Containers at Google Group we are working on adding an edit-label command to kubectl. https://groups.google.com/forum/#!topic/google-containers/VFYl5HJFM2s

Cheers,

Satnam

-- Satnam Singh
Source: StackOverflow

1/30/2015

You'll also need to remove HostIP field for your commands to work (apart from just status). Internally, kubernetes treats HostIP as a status field.

This is a conversion problem in v1beta1/2. The problem will be temporarily fixed in next release, and we are looking into a long term solution.

-- ddysher
Source: StackOverflow