Consolidate YAML files [part-10] (#9362)

* Consolidate YAML files [part-10]

This PR relocates the YAML files used by the pod configuration topic.

* Update examples_test.go

* Update examples_test.go

* Update examples_test.go

* Update examples_test.go

* Update examples_test.go
This commit is contained in:
Qiming 2018-07-04 04:31:20 +08:00 committed by k8s-ci-robot
parent 0f5f027aee
commit 9b81aa7ccd
43 changed files with 140 additions and 153 deletions

View File

@ -71,7 +71,7 @@ In this exercise, you create a Pod that has one Container. The Container has a C
request of 0.5 cpu and a CPU limit of 1 cpu. Here's the configuration file request of 0.5 cpu and a CPU limit of 1 cpu. Here's the configuration file
for the Pod: for the Pod:
{{< code file="cpu-request-limit.yaml" >}} {{< codenew file="pods/resource/cpu-request-limit.yaml" >}}
In the configuration file, the `args` section provides arguments for the Container when it starts. In the configuration file, the `args` section provides arguments for the Container when it starts.
The `-cpus "2"` argument tells the Container to attempt to use 2 cpus. The `-cpus "2"` argument tells the Container to attempt to use 2 cpus.
@ -79,7 +79,7 @@ The `-cpus "2"` argument tells the Container to attempt to use 2 cpus.
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/cpu-request-limit.yaml --namespace=cpu-example kubectl create -f https://k8s.io/examples/pods/resource/cpu-request-limit.yaml --namespace=cpu-example
``` ```
Verify that the Pod's Container is running: Verify that the Pod's Container is running:
@ -167,12 +167,12 @@ the capacity of any Node in your cluster. Here is the configuration file for a P
that has one Container. The Container requests 100 cpu, which is likely to exceed the that has one Container. The Container requests 100 cpu, which is likely to exceed the
capacity of any Node in your cluster. capacity of any Node in your cluster.
{{< code file="cpu-request-limit-2.yaml" >}} {{< codenew file="pods/resource/cpu-request-limit-2.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/cpu-request-limit-2.yaml --namespace=cpu-example kubectl create -f https://k8s.io/examples/pods/resource/cpu-request-limit-2.yaml --namespace=cpu-example
``` ```
View the Pod's status: View the Pod's status:

View File

@ -71,7 +71,7 @@ In this exercise, you create a Pod that has one Container. The Container has a m
request of 100 MiB and a memory limit of 200 MiB. Here's the configuration file request of 100 MiB and a memory limit of 200 MiB. Here's the configuration file
for the Pod: for the Pod:
{{< code file="memory-request-limit.yaml" >}} {{< codenew file="pods/resource/memory-request-limit.yaml" >}}
In the configuration file, the `args` section provides arguments for the Container when it starts. In the configuration file, the `args` section provides arguments for the Container when it starts.
The `"--vm-bytes", "150M"` arguments tell the Container to attempt to allocate 150 MiB of memory. The `"--vm-bytes", "150M"` arguments tell the Container to attempt to allocate 150 MiB of memory.
@ -79,7 +79,7 @@ The `"--vm-bytes", "150M"` arguments tell the Container to attempt to allocate 1
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/memory-request-limit.yaml --namespace=mem-example kubectl create -f https://k8s.io/examples/pods/resource/memory-request-limit.yaml --namespace=mem-example
``` ```
Verify that the Pod's Container is running: Verify that the Pod's Container is running:
@ -142,7 +142,7 @@ In this exercise, you create a Pod that attempts to allocate more memory than it
Here is the configuration file for a Pod that has one Container. The Container has a Here is the configuration file for a Pod that has one Container. The Container has a
memory request of 50 MiB and a memory limit of 100 MiB. memory request of 50 MiB and a memory limit of 100 MiB.
{{< code file="memory-request-limit-2.yaml" >}} {{< codenew file="pods/resource/memory-request-limit-2.yaml" >}}
In the configuration file, in the `args` section, you can see that the Container In the configuration file, in the `args` section, you can see that the Container
will attempt to allocate 250 MiB of memory, which is well above the 100 MiB limit. will attempt to allocate 250 MiB of memory, which is well above the 100 MiB limit.
@ -150,7 +150,7 @@ will attempt to allocate 250 MiB of memory, which is well above the 100 MiB limi
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/memory-request-limit-2.yaml --namespace=mem-example kubectl create -f https://k8s.io/examples/pods/resource/memory-request-limit-2.yaml --namespace=mem-example
``` ```
View detailed information about the Pod: View detailed information about the Pod:
@ -253,12 +253,12 @@ capacity of any Node in your cluster. Here is the configuration file for a Pod t
Container. The Container requests 1000 GiB of memory, which is likely to exceed the capacity Container. The Container requests 1000 GiB of memory, which is likely to exceed the capacity
of any Node in your cluster. of any Node in your cluster.
{{< code file="memory-request-limit-3.yaml" >}} {{< codenew file="pods/resource/memory-request-limit-3.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/memory-request-limit-3.yaml --namespace=mem-example kubectl create -f https://k8s.io/examples/pods/resource/memory-request-limit-3.yaml --namespace=mem-example
``` ```
View the Pod's status: View the Pod's status:

View File

@ -30,7 +30,7 @@ for the postStart and preStop events.
Here is the configuration file for the Pod: Here is the configuration file for the Pod:
{{< code file="lifecycle-events.yaml" >}} {{< codenew file="pods/lifecycle-events.yaml" >}}
In the configuration file, you can see that the postStart command writes a `message` In the configuration file, you can see that the postStart command writes a `message`
file to the Container's `/usr/share` directory. The preStop command shuts down file to the Container's `/usr/share` directory. The preStop command shuts down
@ -38,7 +38,7 @@ nginx gracefully. This is helpful if the Container is being terminated because o
Create the Pod: Create the Pod:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/lifecycle-events.yaml kubectl create -f https://k8s.io/examples/pods/lifecycle-events.yaml
Verify that the Container in the Pod is running: Verify that the Container in the Pod is running:

View File

@ -38,7 +38,7 @@ liveness probes to detect and remedy such situations.
In this exercise, you create a Pod that runs a Container based on the In this exercise, you create a Pod that runs a Container based on the
`k8s.gcr.io/busybox` image. Here is the configuration file for the Pod: `k8s.gcr.io/busybox` image. Here is the configuration file for the Pod:
{{< code file="exec-liveness.yaml" >}} {{< codenew file="pods/probe/exec-liveness.yaml" >}}
In the configuration file, you can see that the Pod has a single Container. In the configuration file, you can see that the Pod has a single Container.
The `periodSeconds` field specifies that the kubelet should perform a liveness The `periodSeconds` field specifies that the kubelet should perform a liveness
@ -62,7 +62,7 @@ code. After 30 seconds, `cat /tmp/healthy` returns a failure code.
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/exec-liveness.yaml kubectl create -f https://k8s.io/examples/pods/probe/exec-liveness.yaml
``` ```
Within 30 seconds, view the Pod events: Within 30 seconds, view the Pod events:
@ -122,7 +122,7 @@ Another kind of liveness probe uses an HTTP GET request. Here is the configurati
file for a Pod that runs a container based on the `k8s.gcr.io/liveness` file for a Pod that runs a container based on the `k8s.gcr.io/liveness`
image. image.
{{< code file="http-liveness.yaml" >}} {{< codenew file="pods/probe/http-liveness.yaml" >}}
In the configuration file, you can see that the Pod has a single Container. In the configuration file, you can see that the Pod has a single Container.
The `periodSeconds` field specifies that the kubelet should perform a liveness The `periodSeconds` field specifies that the kubelet should perform a liveness
@ -163,7 +163,7 @@ checks will fail, and the kubelet will kill and restart the Container.
To try the HTTP liveness check, create a Pod: To try the HTTP liveness check, create a Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/http-liveness.yaml kubectl create -f https://k8s.io/examples/pods/probe/http-liveness.yaml
``` ```
After 10 seconds, view Pod events to verify that liveness probes have failed and After 10 seconds, view Pod events to verify that liveness probes have failed and
@ -180,7 +180,7 @@ kubelet will attempt to open a socket to your container on the specified port.
If it can establish a connection, the container is considered healthy, if it If it can establish a connection, the container is considered healthy, if it
cant it is considered a failure. cant it is considered a failure.
{{< code file="tcp-liveness-readiness.yaml" >}} {{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}}
As you can see, configuration for a TCP check is quite similar to an HTTP check. As you can see, configuration for a TCP check is quite similar to an HTTP check.
This example uses both readiness and liveness probes. The kubelet will send the This example uses both readiness and liveness probes. The kubelet will send the
@ -198,7 +198,7 @@ will be restarted.
To try the TCP liveness check, create a Pod: To try the TCP liveness check, create a Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/tcp-liveness-readiness.yaml kubectl create -f https://k8s.io/examples/pods/probe/tcp-liveness-readiness.yaml
``` ```
After 15 seconds, view Pod events to verify that liveness probes: After 15 seconds, view Pod events to verify that liveness probes:

View File

@ -62,7 +62,7 @@ to set up
Here is the configuration file for the hostPath PersistentVolume: Here is the configuration file for the hostPath PersistentVolume:
{{< code file="task-pv-volume.yaml" >}} {{< codenew file="pods/storage/pv-volume.yaml" >}}
The configuration file specifies that the volume is at `/mnt/data` on the The configuration file specifies that the volume is at `/mnt/data` on the
cluster's Node. The configuration also specifies a size of 10 gibibytes and cluster's Node. The configuration also specifies a size of 10 gibibytes and
@ -73,7 +73,7 @@ PersistentVolumeClaim requests to this PersistentVolume.
Create the PersistentVolume: Create the PersistentVolume:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/task-pv-volume.yaml kubectl create -f https://k8s.io/examples/pods/storage/pv-volume.yaml
View information about the PersistentVolume: View information about the PersistentVolume:
@ -94,11 +94,11 @@ access for at least one Node.
Here is the configuration file for the PersistentVolumeClaim: Here is the configuration file for the PersistentVolumeClaim:
{{< code file="task-pv-claim.yaml" >}} {{< codenew file="pods/storage/pv-claim.yaml" >}}
Create the PersistentVolumeClaim: Create the PersistentVolumeClaim:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/task-pv-claim.yaml kubectl create -f https://k8s.io/examples/pods/storage/pv-claim.yaml
After you create the PersistentVolumeClaim, the Kubernetes control plane looks After you create the PersistentVolumeClaim, the Kubernetes control plane looks
for a PersistentVolume that satisfies the claim's requirements. If the control for a PersistentVolume that satisfies the claim's requirements. If the control
@ -130,7 +130,7 @@ The next step is to create a Pod that uses your PersistentVolumeClaim as a volum
Here is the configuration file for the Pod: Here is the configuration file for the Pod:
{{< code file="task-pv-pod.yaml" >}} {{< codenew file="pods/storage/pv-pod.yaml" >}}
Notice that the Pod's configuration file specifies a PersistentVolumeClaim, but Notice that the Pod's configuration file specifies a PersistentVolumeClaim, but
it does not specify a PersistentVolume. From the Pod's point of view, the claim it does not specify a PersistentVolume. From the Pod's point of view, the claim
@ -138,7 +138,7 @@ is a volume.
Create the Pod: Create the Pod:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/task-pv-pod.yaml kubectl create -f https://k8s.io/examples/pods/storage/pv-pod.yaml
Verify that the Container in the Pod is running; Verify that the Container in the Pod is running;

View File

@ -26,7 +26,7 @@ container starts.
Here is the configuration file for the Pod: Here is the configuration file for the Pod:
{{< code file="init-containers.yaml" >}} {{< codenew file="pods/init-containers.yaml" >}}
In the configuration file, you can see that the Pod has a Volume that the init In the configuration file, you can see that the Pod has a Volume that the init
container and the application container share. container and the application container share.
@ -43,7 +43,7 @@ of the nginx server.
Create the Pod: Create the Pod:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/init-containers.yaml kubectl create -f https://k8s.io/examples/pods/init-containers.yaml
Verify that the nginx container is running: Verify that the nginx container is running:

View File

@ -28,7 +28,7 @@ In this exercise, you create username and password Secrets from local files. You
Here is the configuration file for the Pod: Here is the configuration file for the Pod:
{{< code file="projected-volume.yaml" >}} {{< codenew file="pods/storage/projected.yaml" >}}
1. Create the Secrets: 1. Create the Secrets:
```shell ```shell
@ -42,7 +42,7 @@ Here is the configuration file for the Pod:
``` ```
1. Create the Pod: 1. Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/projected-volume.yaml kubectl create -f https://k8s.io/examples/pods/storage/projected.yaml
``` ```
1. Verify that the Pod's Container is running, and then watch for changes to 1. Verify that the Pod's Container is running, and then watch for changes to
the Pod: the Pod:

View File

@ -33,11 +33,11 @@ Volume of type
that lasts for the life of the Pod, even if the Container terminates and that lasts for the life of the Pod, even if the Container terminates and
restarts. Here is the configuration file for the Pod: restarts. Here is the configuration file for the Pod:
{{< code file="pod-redis.yaml" >}} {{< codenew file="pods/storage/redis.yaml" >}}
1. Create the Pod: 1. Create the Pod:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/pod-redis.yaml kubectl create -f https://k8s.io/examples/pods/storage/redis.yaml
1. Verify that the Pod's Container is running, and then watch for changes to 1. Verify that the Pod's Container is running, and then watch for changes to
the Pod: the Pod:

View File

@ -36,14 +36,14 @@ descriptive resource name.
Here is the configuration file for a Pod that has one Container: Here is the configuration file for a Pod that has one Container:
{{< code file="extended-resource-pod.yaml" >}} {{< codenew file="pods/resource/extended-resource-pod.yaml" >}}
In the configuration file, you can see that the Container requests 3 dongles. In the configuration file, you can see that the Container requests 3 dongles.
Create a Pod: Create a Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/extended-resource-pod.yaml kubectl create -f https://k8s.io/examples/pods/resource/extended-resource-pod.yaml
``` ```
Verify that the Pod is running: Verify that the Pod is running:
@ -72,7 +72,7 @@ Requests:
Here is the configuration file for a Pod that has one Container. The Container requests Here is the configuration file for a Pod that has one Container. The Container requests
two dongles. two dongles.
{{< code file="extended-resource-pod-2.yaml" >}} {{< codenew file="pods/resource/extended-resource-pod-2.yaml" >}}
Kubernetes will not be able to satisfy the request for two dongles, because the first Pod Kubernetes will not be able to satisfy the request for two dongles, because the first Pod
used three of the four available dongles. used three of the four available dongles.
@ -80,7 +80,7 @@ used three of the four available dongles.
Attempt to create a Pod: Attempt to create a Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/extended-resource-pod-2.yaml kubectl create -f https://k8s.io/examples/pods/resource/extended-resource-pod-2.yaml
``` ```
Describe the Pod Describe the Pod

View File

@ -1,11 +0,0 @@
apiVersion: v1
kind: LimitRange
metadata:
name: mem-limit-range
spec:
limits:
- default:
memory: 512Mi
defaultRequest:
memory: 256Mi
type: Container

View File

@ -112,11 +112,11 @@ You have successfully set your Docker credentials as a Secret called `regcred` i
Here is a configuration file for a Pod that needs access to your Docker credentials in `regcred`: Here is a configuration file for a Pod that needs access to your Docker credentials in `regcred`:
{{< code file="private-reg-pod.yaml" >}} {{< codenew file="pods/private-reg-pod.yaml" >}}
Download the above file: Download the above file:
wget -O my-private-reg-pod.yaml https://k8s.io/docs/tasks/configure-pod-container/private-reg-pod.yaml wget -O my-private-reg-pod.yaml https://k8s.io/examples/pods/private-reg-pod.yaml
In file `my-private-reg-pod.yaml`, replace `<your-private-image>` with the path to an image in a private registry such as: In file `my-private-reg-pod.yaml`, replace `<your-private-image>` with the path to an image in a private registry such as:
@ -142,4 +142,3 @@ Create a Pod that uses your Secret, and verify that the Pod is running:
{{% /capture %}} {{% /capture %}}

View File

@ -50,12 +50,12 @@ For a Pod to be given a QoS class of Guaranteed:
Here is the configuration file for a Pod that has one Container. The Container has a memory limit and a Here is the configuration file for a Pod that has one Container. The Container has a memory limit and a
memory request, both equal to 200 MiB. The Container has a cpu limit and a cpu request, both equal to 700 millicpu: memory request, both equal to 200 MiB. The Container has a cpu limit and a cpu request, both equal to 700 millicpu:
{{< code file="qos-pod.yaml" >}} {{< codenew file="pods/qos/qos-pod.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod.yaml --namespace=qos-example kubectl create -f https://k8s.io/examples/pods/qos/qos-pod.yaml --namespace=qos-example
``` ```
View detailed information about the Pod: View detailed information about the Pod:
@ -106,12 +106,12 @@ A Pod is given a QoS class of Burstable if:
Here is the configuration file for a Pod that has one Container. The Container has a memory limit of 200 MiB Here is the configuration file for a Pod that has one Container. The Container has a memory limit of 200 MiB
and a memory request of 100 MiB. and a memory request of 100 MiB.
{{< code file="qos-pod-2.yaml" >}} {{< codenew file="pods/qos/qos-pod-2.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod-2.yaml --namespace=qos-example kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-2.yaml --namespace=qos-example
``` ```
View detailed information about the Pod: View detailed information about the Pod:
@ -151,12 +151,12 @@ have any memory or cpu limits or requests.
Here is the configuration file for a Pod that has one Container. The Container has no memory or cpu Here is the configuration file for a Pod that has one Container. The Container has no memory or cpu
limits or requests: limits or requests:
{{< code file="qos-pod-3.yaml" >}} {{< codenew file="pods/qos/qos-pod-3.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod-3.yaml --namespace=qos-example kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-3.yaml --namespace=qos-example
``` ```
View detailed information about the Pod: View detailed information about the Pod:
@ -187,7 +187,7 @@ kubectl delete pod qos-demo-3 --namespace=qos-example
Here is the configuration file for a Pod that has two Containers. One container specifies a memory Here is the configuration file for a Pod that has two Containers. One container specifies a memory
request of 200 MiB. The other Container does not specify any requests or limits. request of 200 MiB. The other Container does not specify any requests or limits.
{{< code file="qos-pod-4.yaml" >}} {{< codenew file="pods/qos/qos-pod-4.yaml" >}}
Notice that this Pod meets the criteria for QoS class Burstable. That is, it does not meet the Notice that this Pod meets the criteria for QoS class Burstable. That is, it does not meet the
criteria for QoS class Guaranteed, and one of its Containers has a memory request. criteria for QoS class Guaranteed, and one of its Containers has a memory request.
@ -195,7 +195,7 @@ criteria for QoS class Guaranteed, and one of its Containers has a memory reques
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/qos-pod-4.yaml --namespace=qos-example kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-4.yaml --namespace=qos-example
``` ```
View detailed information about the Pod: View detailed information about the Pod:

View File

@ -1,11 +0,0 @@
apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-resources
spec:
hard:
pods: "4"
requests.cpu: "1"
requests.memory: 1Gi
limits.cpu: "2"
limits.memory: 2Gi

View File

@ -49,7 +49,7 @@ in the Pod specification. The `securityContext` field is a
The security settings that you specify for a Pod apply to all Containers in the Pod. The security settings that you specify for a Pod apply to all Containers in the Pod.
Here is a configuration file for a Pod that has a `securityContext` and an `emptyDir` volume: Here is a configuration file for a Pod that has a `securityContext` and an `emptyDir` volume:
{{< code file="security-context.yaml" >}} {{< codenew file="pods/security/security-context.yaml" >}}
In the configuration file, the `runAsUser` field specifies that for any Containers in In the configuration file, the `runAsUser` field specifies that for any Containers in
the Pod, the first process runs with user ID 1000. The `fsGroup` field specifies that the Pod, the first process runs with user ID 1000. The `fsGroup` field specifies that
@ -60,7 +60,7 @@ volume.
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context.yaml kubectl create -f https://k8s.io/examples/pods/security/security-context.yaml
``` ```
Verify that the Pod's Container is running: Verify that the Pod's Container is running:
@ -141,12 +141,12 @@ there is overlap. Container settings do not affect the Pod's Volumes.
Here is the configuration file for a Pod that has one Container. Both the Pod Here is the configuration file for a Pod that has one Container. Both the Pod
and the Container have a `securityContext` field: and the Container have a `securityContext` field:
{{< code file="security-context-2.yaml" >}} {{< codenew file="pods/security/security-context-2.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context-2.yaml kubectl create -f https://k8s.io/examples/pods/security/security-context-2.yaml
``` ```
Verify that the Pod's Container is running: Verify that the Pod's Container is running:
@ -194,12 +194,12 @@ of the root user. To add or remove Linux capabilities for a Container, include t
First, see what happens when you don't include a `capabilities` field. First, see what happens when you don't include a `capabilities` field.
Here is configuration file that does not add or remove any Container capabilities: Here is configuration file that does not add or remove any Container capabilities:
{{< code file="security-context-3.yaml" >}} {{< codenew file="pods/security/security-context-3.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context-3.yaml kubectl create -f https://k8s.io/examples/pods/security/security-context-3.yaml
``` ```
Verify that the Pod's Container is running: Verify that the Pod's Container is running:
@ -256,12 +256,12 @@ that it has additional capabilities set.
Here is the configuration file for a Pod that runs one Container. The configuration Here is the configuration file for a Pod that runs one Container. The configuration
adds the `CAP_NET_ADMIN` and `CAP_SYS_TIME` capabilities: adds the `CAP_NET_ADMIN` and `CAP_SYS_TIME` capabilities:
{{< code file="security-context-4.yaml" >}} {{< codenew file="pods/security/security-context-4.yaml" >}}
Create the Pod: Create the Pod:
```shell ```shell
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/security-context-4.yaml kubectl create -f https://k8s.io/examples/pods/security/security-context-4.yaml
``` ```
Get a shell into the running Container: Get a shell into the running Container:

View File

@ -39,16 +39,21 @@ across the system: `--feature-gates=PodShareProcessNamespace=true`.
Process Namespace Sharing is enabled using the `ShareProcessNamespace` field of Process Namespace Sharing is enabled using the `ShareProcessNamespace` field of
`v1.PodSpec`. For example: `v1.PodSpec`. For example:
{{< code file="share-process-namespace.yaml" >}} {{< codenew file="pods/share-process-namespace.yaml" >}}
1. Create the pod `nginx` on your cluster: 1. Create the pod `nginx` on your cluster:
$ kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/share-process-namespace.yaml kubectl create -f https://k8s.io/examples/pods/share-process-namespace.yaml
1. Attach to the `shell` container and run `ps`: 1. Attach to the `shell` container and run `ps`:
$ kubectl attach -it nginx -c shell ```
kubectl attach -it nginx -c shell
```
If you don't see a command prompt, try pressing enter. If you don't see a command prompt, try pressing enter.
```
/ # ps ax / # ps ax
PID USER TIME COMMAND PID USER TIME COMMAND
1 root 0:00 /pause 1 root 0:00 /pause
@ -56,6 +61,7 @@ Process Namespace Sharing is enabled using the `ShareProcessNamespace` field of
14 101 0:00 nginx: worker process 14 101 0:00 nginx: worker process
15 root 0:00 sh 15 root 0:00 sh
21 root 0:00 ps ax 21 root 0:00 ps ax
```
You can signal processes in other containers. For example, send `SIGHUP` to You can signal processes in other containers. For example, send `SIGHUP` to
nginx to restart the worker process. This requires the `SYS_PTRACE` capability. nginx to restart the worker process. This requires the `SYS_PTRACE` capability.

View File

@ -379,38 +379,29 @@ func TestExampleObjectSchemas(t *testing.T) {
"quota-pod-deployment": {&extensions.Deployment{}}, "quota-pod-deployment": {&extensions.Deployment{}},
"quota-pvc-2": {&api.PersistentVolumeClaim{}}, "quota-pvc-2": {&api.PersistentVolumeClaim{}},
}, },
"docs/tasks/configure-pod-container": { // TODO: decide whether federation examples should be added
"cpu-request-limit": {&api.Pod{}}, "docs/tasks/inject-data-application": {
"cpu-request-limit-2": {&api.Pod{}}, "commands": {&api.Pod{}},
"exec-liveness": {&api.Pod{}}, "dapi-envars-container": {&api.Pod{}},
"extended-resource-pod": {&api.Pod{}}, "dapi-envars-pod": {&api.Pod{}},
"extended-resource-pod-2": {&api.Pod{}}, "dapi-volume": {&api.Pod{}},
"http-liveness": {&api.Pod{}}, "dapi-volume-resources": {&api.Pod{}},
"init-containers": {&api.Pod{}}, "envars": {&api.Pod{}},
"lifecycle-events": {&api.Pod{}}, "podpreset-allow-db": {&settings.PodPreset{}},
"mem-limit-range": {&api.LimitRange{}}, "podpreset-allow-db-merged": {&api.Pod{}},
"memory-request-limit": {&api.Pod{}}, "podpreset-configmap": {&api.ConfigMap{}},
"memory-request-limit-2": {&api.Pod{}}, "podpreset-conflict-pod": {&api.Pod{}},
"memory-request-limit-3": {&api.Pod{}}, "podpreset-conflict-preset": {&settings.PodPreset{}},
"oir-pod": {&api.Pod{}}, "podpreset-merged": {&api.Pod{}},
"oir-pod-2": {&api.Pod{}}, "podpreset-multi-merged": {&api.Pod{}},
"pod-redis": {&api.Pod{}}, "podpreset-pod": {&api.Pod{}},
"private-reg-pod": {&api.Pod{}}, "podpreset-preset": {&settings.PodPreset{}},
"projected-volume": {&api.Pod{}}, "podpreset-proxy": {&settings.PodPreset{}},
"qos-pod": {&api.Pod{}}, "podpreset-replicaset-merged": {&api.Pod{}},
"qos-pod-2": {&api.Pod{}}, "podpreset-replicaset": {&extensions.ReplicaSet{}},
"qos-pod-3": {&api.Pod{}}, "secret": {&api.Secret{}},
"qos-pod-4": {&api.Pod{}}, "secret-envars-pod": {&api.Pod{}},
"rq-compute-resources": {&api.ResourceQuota{}}, "secret-pod": {&api.Pod{}},
"security-context": {&api.Pod{}},
"security-context-2": {&api.Pod{}},
"security-context-3": {&api.Pod{}},
"security-context-4": {&api.Pod{}},
"share-process-namespace": {&api.Pod{}},
"task-pv-claim": {&api.PersistentVolumeClaim{}},
"task-pv-pod": {&api.Pod{}},
"task-pv-volume": {&api.PersistentVolume{}},
"tcp-liveness-readiness": {&api.Pod{}},
}, },
"examples/application/job": { "examples/application/job": {
"job-tmpl": {&batch.Job{}}, "job-tmpl": {&batch.Job{}},
@ -464,35 +455,48 @@ func TestExampleObjectSchemas(t *testing.T) {
"replication": {&api.ReplicationController{}}, "replication": {&api.ReplicationController{}},
"nginx-deployment": {&extensions.Deployment{}}, "nginx-deployment": {&extensions.Deployment{}},
}, },
"examples/podpreset": {
"allow-db": {&settings.PodPreset{}},
"allow-db-merged": {&api.Pod{}},
"configmap": {&api.ConfigMap{}},
"conflict-pod": {&api.Pod{}},
"conflict-preset": {&settings.PodPreset{}},
"merged": {&api.Pod{}},
"multi-merged": {&api.Pod{}},
"pod": {&api.Pod{}},
"preset": {&settings.PodPreset{}},
"proxy": {&settings.PodPreset{}},
"replicaset-merged": {&api.Pod{}},
"replicaset": {&extensions.ReplicaSet{}},
},
"examples/pods": { "examples/pods": {
"commands": {&api.Pod{}}, "commands": {&api.Pod{}},
"init-containers": {&api.Pod{}},
"lifecycle-events": {&api.Pod{}},
"pod-nginx": {&api.Pod{}}, "pod-nginx": {&api.Pod{}},
"pod-with-node-affinity": {&api.Pod{}}, "pod-with-node-affinity": {&api.Pod{}},
"pod-with-pod-affinity": {&api.Pod{}}, "pod-with-pod-affinity": {&api.Pod{}},
"private-reg-pod": {&api.Pod{}},
"share-process-namespace": {&api.Pod{}},
}, },
"examples/pods/inject": { "examples/pods/probe": {
"dapi-envars-container": {&api.Pod{}}, "exec-liveness": {&api.Pod{}},
"dapi-envars-pod": {&api.Pod{}}, "http-liveness": {&api.Pod{}},
"dapi-volume": {&api.Pod{}}, "tcp-liveness-readiness": {&api.Pod{}},
"dapi-volume-resources": {&api.Pod{}}, },
"envars": {&api.Pod{}}, "examples/pods/qos": {
"secret": {&api.Secret{}}, "qos-pod": {&api.Pod{}},
"secret-envars-pod": {&api.Pod{}}, "qos-pod-2": {&api.Pod{}},
"secret-pod": {&api.Pod{}}, "qos-pod-3": {&api.Pod{}},
"qos-pod-4": {&api.Pod{}},
},
"examples/pods/resource": {
"cpu-request-limit": {&api.Pod{}},
"cpu-request-limit-2": {&api.Pod{}},
"memory-request-limit": {&api.Pod{}},
"memory-request-limit-2": {&api.Pod{}},
"memory-request-limit-3": {&api.Pod{}},
"extended-resource-pod": {&api.Pod{}},
"extended-resource-pod-2": {&api.Pod{}},
},
"examples/pods/security": {
"security-context": {&api.Pod{}},
"security-context-2": {&api.Pod{}},
"security-context-3": {&api.Pod{}},
"security-context-4": {&api.Pod{}},
},
"examples/pods/storage": {
"projected": {&api.Pod{}},
"pv-claim": {&api.PersistentVolumeClaim{}},
"pv-pod": {&api.Pod{}},
"pv-volume": {&api.PersistentVolume{}},
"redis": {&api.Pod{}},
}, },
"examples/policy": { "examples/policy": {
"privileged-psp": {&policy.PodSecurityPolicy{}}, "privileged-psp": {&policy.PodSecurityPolicy{}},