diff --git a/docs/proposals/deployment.md b/docs/proposals/deployment.md index 991ea5e790..777d159764 100644 --- a/docs/proposals/deployment.md +++ b/docs/proposals/deployment.md @@ -71,7 +71,7 @@ type DeploymentSpec struct { // Label selector for pods. Existing ReplicationControllers whose pods are // selected by this will be scaled down. New ReplicationControllers will be - // created with this selector, with a unique label as defined by UniqueLabelKey. + // created with this selector, with a unique label `pod-template-hash`. // If Selector is empty, it is defaulted to the labels present on the Pod template. Selector map[string]string @@ -80,15 +80,6 @@ type DeploymentSpec struct { // The deployment strategy to use to replace existing pods with new ones. Strategy DeploymentStrategy - - // Key of the selector that is added to existing RCs (and label key that is - // added to its pods) to prevent the existing RCs to select new pods (and old - // pods being selected by new RC). - // Users can set this to an empty string to indicate that the system should - // not add any selector and label. If unspecified, system uses - // "deployment.kubernetes.io/podTemplateHash". - // Value of this key is hash of DeploymentSpec.PodTemplateSpec. - UniqueLabelKey *string } type DeploymentStrategy struct { @@ -170,7 +161,7 @@ For each pending deployment, it will: selector to all these RCs (and the corresponding label to their pods) to ensure that they do not select the newly created pods (or old pods get selected by new RC). - - The label key will be "deployment.kubernetes.io/podTemplateHash". + - The label key will be "pod-template-hash". - The label value will be hash of the podTemplateSpec for that RC without this label. This value will be unique for all RCs, since PodTemplateSpec should be unique. - If the RCs and pods dont already have this label and selector: @@ -178,10 +169,10 @@ For each pending deployment, it will: ensure that all new pods that they create will have this label. - Then we will add this label to their existing pods and then add this as a selector to that RC. -3. Find if there exists an RC for which value of "deployment.kubernetes.io/podTemplateHash" label +3. Find if there exists an RC for which value of "pod-template-hash" label is same as hash of DeploymentSpec.PodTemplateSpec. If it exists already, then this is the RC that will be ramped up. If there is no such RC, then we create - a new one using DeploymentSpec and then add a "deployment.kubernetes.io/podTemplateHash" label + a new one using DeploymentSpec and then add a "pod-template-hash" label to it. RCSpec.replicas = 0 for a newly created RC. 4. Scale up the new RC and scale down the olds ones as per the DeploymentStrategy. - Raise an event if we detect an error, like new pods failing to come up. diff --git a/docs/user-guide/deployments.md b/docs/user-guide/deployments.md index d3f4dbac22..be88fcb636 100644 --- a/docs/user-guide/deployments.md +++ b/docs/user-guide/deployments.md @@ -47,7 +47,6 @@ Documentation for other releases can be found at - [Pod Template](#pod-template) - [Replicas](#replicas) - [Selector](#selector) - - [Unique Label Key](#unique-label-key) - [Strategy](#strategy) - [Recreate Deployment](#recreate-deployment) - [Rolling Update Deployment](#rolling-update-deployment) @@ -153,7 +152,7 @@ Running ```kubectl get rc``` and ```kubectl get pods``` will show the replicatio $ kubectl get rc CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE REPLICAS AGE -deploymentrc-1975012602 nginx nginx:1.7.9 deployment.kubernetes.io/podTemplateHash=1975012602,app=nginx 3 2m +deploymentrc-1975012602 nginx nginx:1.7.9 pod-template-hash=1975012602,app=nginx 3 2m ``` ```console @@ -237,8 +236,8 @@ which it scaled up to 3 replicas, and has scaled down the old RC to 0 replicas. ```console kubectl get rc CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE -deploymentrc-1562004724 nginx nginx:1.9.1 deployment.kubernetes.io/podTemplateHash=1562004724,app=nginx 3 5m -deploymentrc-1975012602 nginx nginx:1.7.9 deployment.kubernetes.io/podTemplateHash=1975012602,app=nginx 0 7m +deploymentrc-1562004724 nginx nginx:1.9.1 pod-template-hash=1562004724,app=nginx 3 5m +deploymentrc-1975012602 nginx nginx:1.7.9 pod-template-hash=1975012602,app=nginx 0 7m ``` Running `get pods` should now show only the new pods: @@ -335,17 +334,6 @@ template is different than `.spec.template` or if the total number of such pods exceeds `.spec.replicas`. It will bring up new pods with `.spec.template` if number of pods are less than the desired number. -### Unique Label Key - -`.spec.uniqueLabelKey` is an optional field specifying key of the selector that -is added to existing RCs (and label key that is added to its pods) to prevent -the existing RCs to select new pods (and old pods being selected by new RC). -Users can set this to an empty string to indicate that the system should -not add any selector and label. If unspecified, the system uses -`deployment.kubernetes.io/podTemplateHash`. -The value of this key is the hash of `.spec.template`. -No label is added if this is set to the empty string. - ### Strategy `.spec.strategy` specifies the strategy used to replace old pods by new ones.