You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/concepts/scheduling-eviction/node-pressure-eviction.md
+4-3Lines changed: 4 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -66,8 +66,8 @@ the signal.
66
66
67
67
The value for `memory.available` is derived from the cgroupfs instead of tools
68
68
like `free -m`. This is important because `free -m` does not work in a
69
-
container, and if users use the [node
70
-
allocatable](/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable)feature, out of resource decisions
69
+
container, and if users use the [node allocatable](/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable)
70
+
feature, out of resource decisions
71
71
are made local to the end user Pod part of the cgroup hierarchy as well as the
72
72
root node. This [script](/examples/admin/resource/memory-available.sh)
73
73
reproduces the same set of steps that the kubelet performs to calculate
@@ -87,7 +87,8 @@ does not support other configurations.
87
87
88
88
{{<note>}}
89
89
Some kubelet garbage collection features are deprecated in favor of eviction.
90
-
For a list of the deprecated features, see [kubelet garbage collection deprecation](/docs/concepts/cluster-administration/kubelet-garbage-collection/#deprecation).
Copy file name to clipboardExpand all lines: content/en/docs/concepts/scheduling-eviction/taint-and-toleration.md
+8-6Lines changed: 8 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -15,14 +15,15 @@ is a property of {{< glossary_tooltip text="Pods" term_id="pod" >}} that *attrac
15
15
a set of {{< glossary_tooltip text="nodes" term_id="node" >}} (either as a preference or a
16
16
hard requirement). _Taints_ are the opposite -- they allow a node to repel a set of pods.
17
17
18
-
_Tolerations_ are applied to pods. Tolerations allow the scheduler to schedule pods with matching taints. Tolerations allow scheduling but don't guarantee scheduling: the scheduler also [evaluates other parameters](/docs/concepts/scheduling-eviction/pod-priority-preemption/) as part of its function.
18
+
_Tolerations_ are applied to pods. Tolerations allow the scheduler to schedule pods with matching
19
+
taints. Tolerations allow scheduling but don't guarantee scheduling: the scheduler also
20
+
[evaluates other parameters](/docs/concepts/scheduling-eviction/pod-priority-preemption/)
21
+
as part of its function.
19
22
20
23
Taints and tolerations work together to ensure that pods are not scheduled
21
24
onto inappropriate nodes. One or more taints are applied to a node; this
22
25
marks that the node should not accept any pods that do not tolerate the taints.
23
26
24
-
25
-
26
27
27
28
28
29
## Concepts
@@ -266,7 +267,8 @@ This ensures that DaemonSet pods are never evicted due to these problems.
266
267
## Taint Nodes by Condition
267
268
268
269
The control plane, using the node {{}},
269
-
automatically creates taints with a `NoSchedule` effect for [node conditions](/docs/concepts/scheduling-eviction/node-pressure-eviction/#node-conditions).
270
+
automatically creates taints with a `NoSchedule` effect for
### What profiles should I apply to my Windows Pods?
494
494
495
495
Windows in Kubernetes has some limitations and differentiators from standard Linux-based
496
-
workloads. Specifically, many of the Pod SecurityContext fields[have no effect on
497
-
Windows](/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#v1-podsecuritycontext). As
498
-
such, no standardized Pod Security profiles currently exist.
496
+
workloads. Specifically, many of the Pod SecurityContext fields
497
+
[have no effect on Windows](/docs/concepts/windows/intro/#compatibility-v1-pod-spec-containers-securitycontext).
498
+
As such, no standardized Pod Security profiles currently exist.
499
499
500
500
If you apply the restricted profile for a Windows pod, this **may** have an impact on the pod
501
501
at runtime. The restricted profile requires enforcing Linux-specific restrictions (such as seccomp
@@ -504,7 +504,9 @@ these Linux-specific values, then the Windows pod should still work normally wit
504
504
profile. However, the lack of enforcement means that there is no additional restriction, for Pods
505
505
that use Windows containers, compared to the baseline profile.
506
506
507
-
The use of the HostProcess flag to create a HostProcess pod should only be done in alignment with the privileged policy. Creation of a Windows HostProcess pod is blocked under the baseline and restricted policies, so any HostProcess pod should be considered privileged.
507
+
The use of the HostProcess flag to create a HostProcess pod should only be done in alignment with the privileged policy.
508
+
Creation of a Windows HostProcess pod is blocked under the baseline and restricted policies,
509
+
so any HostProcess pod should be considered privileged.
508
510
509
511
### What about sandboxed Pods?
510
512
@@ -518,3 +520,4 @@ kernel. This allows for workloads requiring heightened permissions to still be i
518
520
519
521
Additionally, the protection of sandboxed workloads is highly dependent on the method of
520
522
sandboxing. As such, no single recommended profile is recommended for all sandboxed workloads.
Copy file name to clipboardExpand all lines: content/en/docs/concepts/security/rbac-good-practices.md
+20-10Lines changed: 20 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,8 @@ execute their roles. It is important to ensure that, when designing permissions
15
15
users, the cluster administrator understands the areas where privilge escalation could occur,
16
16
to reduce the risk of excessive access leading to security incidents.
17
17
18
-
The good practices laid out here should be read in conjunction with the general [RBAC documentation](/docs/reference/access-authn-authz/rbac/#restrictions-on-role-creation-or-update).
18
+
The good practices laid out here should be read in conjunction with the general
Ideally, pods shouldn't be assigned service accounts that have been granted powerful permissions
50
+
(for example, any of the rights listed under [privilege escalation risks](#privilege-escalation-risks)).
49
51
In cases where a workload requires powerful permissions, consider the following practices:
50
52
51
53
- Limit the number of nodes running powerful pods. Ensure that any DaemonSets you run
52
54
are necessary and are run with least privilege to limit the blast radius of container escapes.
53
55
- Avoid running powerful pods alongside untrusted or publicly-exposed ones. Consider using
54
-
[Taints and Toleration](/docs/concepts/scheduling-eviction/taint-and-toleration/), [NodeAffinity](/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity), or [PodAntiAffinity](/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity) to ensure
55
-
pods don't run alongside untrusted or less-trusted Pods. Pay especial attention to
56
+
[Taints and Toleration](/docs/concepts/scheduling-eviction/taint-and-toleration/),
57
+
[NodeAffinity](/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity), or
to ensure pods don't run alongside untrusted or less-trusted Pods. Pay especial attention to
56
60
situations where less-trustworthy Pods are not meeting the **Restricted** Pod Security Standard.
57
61
58
62
### Hardening
@@ -107,7 +111,7 @@ with the ability to create suitably secure and isolated Pods, you should enforce
107
111
You can use [Pod Security admission](/docs/concepts/security/pod-security-admission/)
108
112
or other (third party) mechanisms to implement that enforcement.
109
113
110
-
You can also use the deprecated [PodSecurityPolicy](/docs/concepts/policy/pod-security-policy/) mechanism
114
+
You can also use the deprecated [PodSecurityPolicy](/docs/concepts/security/pod-security-policy/) mechanism
111
115
to restrict users' abilities to create privileged Pods (N.B. PodSecurityPolicy is scheduled for removal
112
116
in version 1.25).
113
117
@@ -117,7 +121,9 @@ Secrets they would not have through RBAC directly.
117
121
118
122
### Persistent volume creation
119
123
120
-
As noted in the [PodSecurityPolicy](/docs/concepts/policy/pod-security-policy/#volumes-and-file-systems) documentation, access to create PersistentVolumes can allow for escalation of access to the underlying host. Where access to persistent storage is required trusted administrators should create
124
+
As noted in the [PodSecurityPolicy](/docs/concepts/security/pod-security-policy/#volumes-and-file-systems)
125
+
documentation, access to create PersistentVolumes can allow for escalation of access to the underlying host.
126
+
Where access to persistent storage is required trusted administrators should create
121
127
PersistentVolumes, and constrained users should use PersistentVolumeClaims to access that storage.
122
128
123
129
### Access to `proxy` subresource of Nodes
@@ -130,7 +136,8 @@ granting rights to this resource.
130
136
### Escalate verb
131
137
132
138
Generally the RBAC system prevents users from creating clusterroles with more rights than
133
-
they possess. The exception to this is the `escalate` verb. As noted in the [RBAC documentation](/docs/reference/access-authn-authz/rbac/#restrictions-on-role-creation-or-update),
139
+
they possess. The exception to this is the `escalate` verb. As noted in the
Windows containers offer two default user accounts, ContainerUser and ContainerAdministrator.
35
36
The differences between these two user accounts are covered in
36
-
[When to use ContainerAdmin and ContainerUser user accounts](https://docs.microsoft.com/virtualization/windowscontainers/manage-containers/container-security#when-to-use-containeradmin-and-containeruser-user-accounts) within Microsoft's _Secure Windows containers_ documentation.
37
+
[When to use ContainerAdmin and ContainerUser user accounts](https://docs.microsoft.com/virtualization/windowscontainers/manage-containers/container-security#when-to-use-containeradmin-and-containeruser-user-accounts)
38
+
within Microsoft's _Secure Windows containers_ documentation.
37
39
38
40
Local users can be added to container images during the container build process.
39
41
40
42
{{< note >}}
41
43
42
-
*[Nano Server](https://hub.docker.com/_/microsoft-windows-nanoserver) based images run as `ContainerUser` by default
43
-
*[Server Core](https://hub.docker.com/_/microsoft-windows-servercore) based images run as `ContainerAdministrator` by default
44
+
*[Nano Server](https://hub.docker.com/_/microsoft-windows-nanoserver) based images run as
45
+
`ContainerUser` by default
46
+
*[Server Core](https://hub.docker.com/_/microsoft-windows-servercore) based images run as
47
+
`ContainerAdministrator` by default
44
48
45
49
{{< /note >}}
46
50
47
-
Windows containers can also run as Active Directory identities by utilizing [Group Managed Service Accounts](/docs/tasks/configure-pod-container/configure-gmsa/)
51
+
Windows containers can also run as Active Directory identities by utilizing
52
+
[Group Managed Service Accounts](/docs/tasks/configure-pod-container/configure-gmsa/)
48
53
49
54
## Pod-level security isolation
50
55
51
56
Linux-specific pod security context mechanisms (such as SELinux, AppArmor, Seccomp, or custom
52
57
POSIX capabilities) are not supported on Windows nodes.
53
58
54
-
Privileged containers are [not supported](/docs/concepts/windows/intro/#compatibility-v1-pod-spec-containers-securitycontext) on Windows.
55
-
Instead [HostProcess containers](/docs/tasks/configure-pod-container/create-hostprocess-pod) can be used on Windows to perform many of the tasks performed by privileged containers on Linux.
59
+
Privileged containers are [not supported](/docs/concepts/windows/intro/#compatibility-v1-pod-spec-containers-securitycontext)
0 commit comments