Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.8 #5659

Merged
merged 137 commits into from
Sep 29, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
bf530ca
GC now supports non-core resources
Jul 27, 2017
c377b46
Add two examples about how to analysis audits of kube-apiserver (#4264)
CaoShuFeng Jul 28, 2017
9979f1d
Merge pull request #4531 from caesarxuchao/update-gc-crd
chenopis Aug 1, 2017
e475da8
Deprecate system:nodes binding
liggitt Aug 1, 2017
dfbc33b
Merge remote-tracking branch 'upstream/master' into release-1.8
steveperry-53 Aug 1, 2017
3a01832
Merge branch 'master' into release-1.8
steveperry-53 Aug 3, 2017
e8b4d65
Merge pull request #4572 from liggitt/node-role
chenopis Aug 3, 2017
d601263
Merge branch 'master' into release-1.8
steveperry-53 Aug 4, 2017
6eac0e8
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Aug 4, 2017
1855953
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Aug 4, 2017
3641330
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Aug 4, 2017
08e6c4c
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Aug 4, 2017
0f1d4ce
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Aug 5, 2017
4032cd0
Merge branch 'master' into release-1.8
steveperry-53 Aug 7, 2017
b2eebbb
Merge branch 'master' into release-1.8
steveperry-53 Aug 8, 2017
1025476
Merge branch 'master' into release-1.8
steveperry-53 Aug 9, 2017
da40cc8
[1.8] StatefulSet `initialized` annotation is now ignored.
enisoc Jul 20, 2017
aeb25d0
Merge pull request #4426 from enisoc/initialized-annotation
chenopis Aug 10, 2017
8ade9bf
inits the kubeadm upgrade docs
mhausenblas Aug 11, 2017
c29168c
adds kubeadm upgrade cmd to ToC
mhausenblas Aug 11, 2017
b6ed75c
Merge branch 'master' into release-1.8
steveperry-53 Aug 11, 2017
db17111
Merge branch 'master' into release-1.8
steveperry-53 Aug 14, 2017
1798434
Merge branch 'master' into release-1.8
steveperry-53 Aug 16, 2017
35dc007
Merge branch 'master' into release-1.8
steveperry-53 Aug 17, 2017
5b4ef96
add workload placement docs
sjenning Aug 15, 2017
f5cddc7
Merge branch 'master' into release-1.8
steveperry-53 Aug 22, 2017
6c68762
Merge branch 'master' into release-1.8
steveperry-53 Aug 22, 2017
9403dc3
Merge branch 'master' into release-1.8
steveperry-53 Aug 23, 2017
895a607
Merge branch 'master' into release-1.8
steveperry-53 Aug 25, 2017
32de7d7
ScaleIO - document udpate for 1.8
vladimirvivien Sep 1, 2017
5edcbfd
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Sep 1, 2017
62f4bc8
Add documentation on storageClass.mountOptions and PV.mountOptions (#…
wongma7 Sep 1, 2017
0fba3ae
Merge pull request #5269 from vladimirvivien/scaleio-doc-1.8
chenopis Sep 1, 2017
7b692cd
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Sep 2, 2017
fc7c06c
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Sep 5, 2017
7c999e3
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Sep 5, 2017
dbfc28a
Merge branch 'master' into release-1.8
steveperry-53 Sep 6, 2017
a26f481
Add docs for CustomResource validation
nikhita Sep 4, 2017
4807ff0
advanced audit beta features (#5300)
CaoShuFeng Sep 6, 2017
9412bef
Update job workload doc with backoff failure policy (#5319)
clamoriniere1A Sep 7, 2017
cf863b3
Documented additional AWS Service annotations (#4864)
micahhausler Sep 7, 2017
f42118a
Add device plugin doc under concepts/cluster-administration. (#5261)
jiayingz Sep 7, 2017
2090fa2
Update page.version. (#5341)
steveperry-53 Sep 7, 2017
2d96ffb
Add documentation on storageClass.reclaimPolicy (#5171)
wongma7 Sep 7, 2017
a601ca7
Merge branch 'master' into release-1.8
steveperry-53 Sep 7, 2017
7c19f53
[Advanced audit] use new herf for audit-api (#5349)
CaoShuFeng Sep 8, 2017
733de0e
Added documentation around creating the InitializerConfiguration for …
Sep 8, 2017
2cf12d2
Documentation for kubectl plugins (#5294)
fabianofranz Sep 11, 2017
a1dfece
Updated CPU manager docs to match implementation. (#5332)
ConnorDoyle Sep 12, 2017
7751e73
init containers annotation removed in 1.8 (#5390)
sjenning Sep 12, 2017
83509af
Add documentation for TaintNodesByCondition (#5352)
Sep 12, 2017
053c794
Fix deployments (#5421)
foxish Sep 13, 2017
6dcb9d4
Document extended resources and OIR deprecation. (#5399)
ConnorDoyle Sep 13, 2017
9c0a1b7
reverts extra spacing in _data/tasks.yml
mhausenblas Sep 13, 2017
91fc3b9
addresses `kubeadm upgrade` review comments
mhausenblas Sep 13, 2017
c330471
HugePages documentation (#5419)
derekwaynecarr Sep 13, 2017
178a2d0
Update cpu-management-policies.md (#5407)
lcfang Sep 13, 2017
2a7a878
Update RBAC docs for v1 (#5445)
liggitt Sep 13, 2017
a30edd4
Add user docs for pod priority and preemption (#5328)
bsalamat Sep 13, 2017
3810cb2
Update docs/admin/kubeadm.md for 1.8 (#5440)
mattmoyer Sep 13, 2017
90d95e7
Update StatefulSet Basics for 1.8 release (#5398)
kow3ns Sep 13, 2017
27c000f
addresses `kubeadm upgrade` review comments
mhausenblas Sep 14, 2017
b173596
adds kubelet upgrade section to kubeadm upgrade
mhausenblas Sep 14, 2017
ed363f7
Merge branch 'master' into release-1.8
steveperry-53 Sep 14, 2017
5b9b634
Fix a bulleted list on docs/admin/kubeadm.md. (#5458)
mattmoyer Sep 14, 2017
afc78e5
Merge branch 'release-1.8' into mh9-release-1.8
chenopis Sep 15, 2017
a60b2d3
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Sep 16, 2017
5c331b7
Clarify the API to check for device plugins
tengqm Sep 15, 2017
d3019fb
Moving Flexvolume to separate out-of-tree section
verult Sep 15, 2017
f4ce844
addresses `kubeadm upgrade` review comments
mhausenblas Sep 16, 2017
be8d67a
fixes kubeadm upgrade index
mhausenblas Sep 16, 2017
286f2cb
Merge pull request #4770 from mhausenblas/mh9-release-1.8
luxas Sep 16, 2017
6bceca5
Merge branch 'master' into release-1.8
steveperry-53 Sep 18, 2017
b147fb0
Merge branch 'master' into release-1.8
steveperry-53 Sep 18, 2017
711c56c
Update Stackdriver Logging documentation (#5495)
Sep 19, 2017
91fc94f
Re-update WordPress and MySQL PV doc to use apps/v1beta2 APIs (#5526)
crimsonfaith91 Sep 19, 2017
9f590be
Update statefulset concepts doc to use apps/v1beta2 APIs (#5420)
crimsonfaith91 Sep 19, 2017
675765f
add document on kubectl's behavior regarding initializers (#5505)
dixudx Sep 19, 2017
b3cf89c
Update docs/admin/kubeadm.md to cover self-hosting in 1.8. (#5497)
mattmoyer Sep 19, 2017
d32bf97
Update kubectl patch doc to use apps/v1beta2 APIs (#5422)
crimsonfaith91 Sep 19, 2017
40e1229
[1.8] Update "Run Applications" tasks to apps/v1beta2. (#5525)
enisoc Sep 19, 2017
66cba99
fix the link of persistent storage (#5515)
jianglingxia Sep 19, 2017
366cc81
Add quota support for local ephemeral storage (#5493)
jingxu97 Sep 19, 2017
af7c064
Updated Deployments concepts doc (#5491)
liyinan926 Sep 19, 2017
f93a513
Modify allocatable storage to ephemeral-storage (#5490)
jingxu97 Sep 19, 2017
bda3250
Revamped concepts doc for ReplicaSet (#5463)
liyinan926 Sep 19, 2017
bccd651
Remove petset documentations (#5395)
crimsonfaith91 Sep 19, 2017
8ec205f
Update docs to use batch/v1beta1 cronjobs (#5475)
soltysh Sep 19, 2017
a10da9c
add federation job doc (#5485)
Sep 19, 2017
9f37676
update DaemonSet concept for 1.8 release (#5397)
kow3ns Sep 20, 2017
755b521
Update bootstrap tokens doc for 1.8. (#5479)
mattmoyer Sep 20, 2017
c3947d5
Updated the Cassandra tutorial to use apps/v1beta2 (#5548)
liyinan926 Sep 20, 2017
2bd62e6
add docs for AllowPrivilegeEscalation (#5448)
jessfraz Sep 20, 2017
b052e4e
Merge branch 'master' into release-1.8
steveperry-53 Sep 20, 2017
cc41d37
Add local ephemeral storage alpha feature in managing compute resourc…
jingxu97 Sep 21, 2017
5325153
Merge branch 'master' into release-1.8
steveperry-53 Sep 21, 2017
96a4aa7
Added documentation for Metrics Server (#5560)
piosz Sep 22, 2017
29a7b6d
Merge branch 'master' into release-1.8
steveperry-53 Sep 22, 2017
b3b62eb
authorization: improve authorization debugging docs (#5549)
ericchiang Sep 22, 2017
250522a
Document mount propagation (#5544)
jsafrane Sep 22, 2017
25cc5f9
Update /docs/setup/independent/create-cluster-kubeadm.md for 1.8. (#5…
mattmoyer Sep 22, 2017
e396274
Add task doc for alpha dynamic kubelet configuration (#5523)
mtaufen Sep 22, 2017
f379efa
Fix input/output of selfsubjectaccess review (#5593)
tengqm Sep 25, 2017
6ff373e
Add docs for implementing resize (#5528)
gnufied Sep 25, 2017
daac519
Update NetworkPolicy concept guide with egress and CIDR changes (#5529)
caseydavenport Sep 25, 2017
532c60d
update zookeeper tutorial for 1.8 release
Sep 15, 2017
170c0e7
add doc for hostpath type (#5503)
dixudx Sep 26, 2017
ff6d284
Federated Hpa feature doc (#5487)
irfanurrehman Sep 26, 2017
6b70c56
update cloud controller manager docs for v1.8
Sep 10, 2017
7fa809c
Merge pull request #5400 from andrewsykim/ccm
luxas Sep 26, 2017
271bd0f
Update cronjob with defaults information (#5556)
soltysh Sep 26, 2017
147f04c
Kubernetes 1.8 reference docs (#5632)
Sep 26, 2017
4ad495b
Merge branch 'master' of https://github.com/kubernetes/kubernetes.git…
chenopis Sep 27, 2017
6c5ce5b
remove petset.md
chenopis Sep 27, 2017
bc805bd
update on state of HostAlias in 1.8 with hostNetwork Pod support (#5644)
evie404 Sep 27, 2017
3e32a94
Fix cron job deletion section (#5655)
soltysh Sep 27, 2017
9e6d670
update imported docs (#5656)
Sep 27, 2017
4d407c1
Merge branch 'master' into release-1.8
steveperry-53 Sep 27, 2017
1ff7648
Add documentation for certificate rotation. (#5639)
jcbsmpsn Sep 27, 2017
975685a
Create TOC entry for cloud controller manager. (#5662)
steveperry-53 Sep 27, 2017
ac78c99
Updates for new versions of API types
pwittrock Sep 27, 2017
1474b94
Followup 5655: fix link to garbage collection (#5666)
tengqm Sep 28, 2017
79a1173
Temporarily redirect resources-reference to api-reference. (#5668)
steveperry-53 Sep 28, 2017
128a779
Update config for 1.8 release. (#5661)
steveperry-53 Sep 28, 2017
3ce57d9
Switch references in HPA docs from alpha to beta (#5671)
DirectXMan12 Sep 28, 2017
4ba6e9b
Deprecate openstack heat (#5670)
xsgordon Sep 28, 2017
b8d00ae
Temporarily fix broken links by redirecting. (#5672)
steveperry-53 Sep 28, 2017
c83fdb6
Fix broken links. (#5675)
steveperry-53 Sep 28, 2017
7a81d39
Fix render of code block (#5674)
tonglil Sep 28, 2017
1b06ec8
Fix broken links. (#5677)
steveperry-53 Sep 28, 2017
53bd058
Add a small note about auto-bootstrapped CSR ClusterRoles (#5660)
luxas Sep 28, 2017
561f07e
Update kubeadm install doc for v1.8 (#5676)
luxas Sep 28, 2017
2f56f12
add draft workloads api content for 1.8 (#5650)
Bradamant3 Sep 28, 2017
7aa4883
Merge branch 'master' into release-1.8
steveperry-53 Sep 28, 2017
0ab8fd0
Minor fixes to kubeadm 1.8 upgrade guide. (#5678)
pipejakob Sep 28, 2017
6da76a3
Release 1.8 (#5680)
Sep 28, 2017
53f460a
Kubeadm /docs/admin/kubeadm.md cleanup, editing. (#5681)
mattmoyer Sep 29, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add documentation for TaintNodesByCondition (#5352)
* Add documentation for TaintNodesByCondition

* Update nodes.md

* Update taint-and-toleration.md

* Update daemonset.md

* Update nodes.md

* Update taint-and-toleration.md

* Update daemonset.md
  • Loading branch information
Marek Grabowski authored and steveperry-53 committed Sep 12, 2017
commit 83509afbd25308b172a8f1bec2b9a22fcb01479b
25 changes: 24 additions & 1 deletion docs/concepts/architecture/nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,27 @@ The node condition is represented as a JSON object. For example, the following r

If the Status of the Ready condition is "Unknown" or "False" for longer than the `pod-eviction-timeout`, an argument is passed to the [kube-controller-manager](/docs/admin/kube-controller-manager) and all of the Pods on the node are scheduled for deletion by the Node Controller. The default eviction timeout duration is **five minutes**. In some cases when the node is unreachable, the apiserver is unable to communicate with the kubelet on it. The decision to delete the pods cannot be communicated to the kubelet until it re-establishes communication with the apiserver. In the meantime, the pods which are scheduled for deletion may continue to run on the partitioned node.

In versions of Kubernetes prior to 1.5, the node controller would [force delete](/docs/concepts/workloads/pods/pod/#force-deletion-of-pods) these unreachable pods from the apiserver. However, in 1.5 and higher, the node controller does not force delete pods until it is confirmed that they have stopped running in the cluster. One can see these pods which may be running on an unreachable node as being in the "Terminating" or "Unknown" states. In cases where Kubernetes cannot deduce from the underlying infrastructure if a node has permanently left a cluster, the cluster administrator may need to delete the node object by hand. Deleting the node object from Kubernetes causes all the Pod objects running on it to be deleted from the apiserver, freeing up their names.
In versions of Kubernetes prior to 1.5, the node controller would [force delete](/docs/concepts/workloads/pods/pod/#force-deletion-of-pods)
these unreachable pods from the apiserver. However, in 1.5 and higher, the node controller does not force delete pods until it is
confirmed that they have stopped running in the cluster. One can see these pods which may be running on an unreachable node as being in
the "Terminating" or "Unknown" states. In cases where Kubernetes cannot deduce from the underlying infrastructure if a node has
permanently left a cluster, the cluster administrator may need to delete the node object by hand. Deleting the node object from
Kubernetes causes all the Pod objects running on it to be deleted from the apiserver, freeing up their names.

Version 1.8 introduces an alpha feature that automatically creates
[taints](/docs/concepts/configuration/taint-and-toleration) that represent conditions.
To enable this behavior, pass an additional feature gate flag `--feature-gates=...,TaintNodesByCondition=true`
to the API server, controller manager, and scheduler.
When `TaintNodesByCondition` is enabled, the scheduler ignores conditions when considering a Node; instead
it looks at the Node's taints and a Pod's tolerations.

Now users can choose between the old scheduling model and a new, more flexible scheduling model.
A Pod that does not have any tolerations gets scheduled according to the old model. But a Pod that
tolerates the taints of a particular Node can be scheduled on that Node.

Note that because of small delay, usually less than one second, between time when condition is observed and a taint
is created, it's possible that enabling this feature will slightly increase number of Pods that are successfully
scheduled but rejected by the kubelet.

### Capacity

Expand Down Expand Up @@ -174,6 +194,9 @@ NodeController is responsible for adding taints corresponding to node problems l
node unreachable or not ready. See [this documentation](/docs/concepts/configuration/taint-and-toleration)
for details about `NoExecute` taints and the alpha feature.

Starting in version 1.8, the node controller can be made responsible for creating taints that represent
Node conditions. This is an alpha feature of version 1.8.

### Self-Registration of Nodes

When the kubelet flag `--register-node` is true (the default), the kubelet will attempt to
Expand Down
19 changes: 15 additions & 4 deletions docs/concepts/configuration/taint-and-toleration.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ running on the node as follows

The above behavior is a beta feature. In addition, Kubernetes 1.6 has alpha
support for representing node problems. In other words, the node controller
automatically taints a node when certain condition is true. The builtin taints
automatically taints a node when certain condition is true. The built-in taints
currently include:

* `node.alpha.kubernetes.io/notReady`: Node is not ready. This corresponds to
Expand Down Expand Up @@ -249,9 +249,20 @@ admission controller](https://git.k8s.io/kubernetes/plugin/pkg/admission/default

* `node.alpha.kubernetes.io/unreachable`
* `node.alpha.kubernetes.io/notReady`
* `node.kubernetes.io/memoryPressure`
* `node.kubernetes.io/diskPressure`
* `node.kubernetes.io/outOfDisk` (*only for critical pods*)

This ensures that DaemonSet pods are never evicted due to these problems,
which matches the behavior when this feature is disabled.

## Taint Nodes by Condition

Version 1.8 introduces an alpha feature that causes the node controller to create taints corresponding to
Node conditions. When this feature is enabled, the scheduler does not check conditions; instead the scheduler checks taints. This assures that conditions don't affect what's scheduled onto the Node. The user can choose to ignore some of the Node's problems (represented as conditions) by adding appropriate Pod tolerations.

To make sure that turning on this feature doesn't break DaemonSets, starting in version 1.8, the DaemonSet controller automatically adds the following `NoSchedule` tolerations to all daemons:

* `node.kubernetes.io/memory-pressure`
* `node.kubernetes.io/disk-pressure`
* `node.kubernetes.io/out-of-disk` (*only for critical pods*)

The above settings ensure backward compatibility, but we understand they may not fit all user's needs, which is why
cluster admin may choose to add arbitrary tolerations to DaemonSets.
17 changes: 10 additions & 7 deletions docs/concepts/workloads/controllers/daemonset.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,19 +103,22 @@ but they are created with `NoExecute` tolerations for the following taints with

- `node.alpha.kubernetes.io/notReady`
- `node.alpha.kubernetes.io/unreachable`
- `node.alpha.kubernetes.io/memoryPressure`
- `node.alpha.kubernetes.io/diskPressure`

When the support to critical pods is enabled and the pods in a DaemonSet are
labelled as critical, the Daemon pods are created with an additional
`NoExecute` toleration for the `node.alpha.kubernetes.io/outOfDisk` taint with
no `tolerationSeconds`.

This ensures that when the `TaintBasedEvictions` alpha feature is enabled,
they will not be evicted when there are node problems such as a network partition. (When the
`TaintBasedEvictions` feature is not enabled, they are also not evicted in these scenarios, but
due to hard-coded behavior of the NodeController rather than due to tolerations).

They also tolerate following `NoSchedule` taints:

- `node.kubernetes.io/memory-pressure`
- `node.kubernetes.io/disk-pressure`

When the support to critical pods is enabled and the pods in a DaemonSet are
labelled as critical, the Daemon pods are created with an additional
`NoSchedule` toleration for the `node.kubernetes.io/out-of-disk` taint.

Note that all above `NoSchedule` taints above are created only in version 1.8 or later if the alpha feature `TaintNodesByCondition` is enabled.

## Communicating with Daemon Pods

Expand Down