From 1d7e329fd9aa428343d3173abf5b5966bbf096cb Mon Sep 17 00:00:00 2001 From: Julie Bruce <42522858+JuleeB1@users.noreply.github.com> Date: Wed, 22 Aug 2018 10:49:09 -0500 Subject: [PATCH] Applied Style Changes (#10043) * Applied Style Changes * Add a few more light edits --- .../assign-memory-resource.md | 65 ++++++++----------- 1 file changed, 26 insertions(+), 39 deletions(-) diff --git a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md index cf14d03915..b8a1c7eb28 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -21,28 +21,26 @@ Each node in your cluster must have at least 300 MiB of memory. A few of the steps on this page require you to run the [metrics-server](https://github.com/kubernetes-incubator/metrics-server) -service in your cluster. If you don't have metrics-server -+running, you can skip those steps. +service in your cluster. If you do not have the metrics-server +running, you can skip those steps. -If you are running minikube, run the following command to enable +If you are running Minikube, run the following command to enable the metrics-server: ```shell minikube addons enable metrics-server ``` -To see whether metrics-server (or another provider of the resource metrics -API, `metrics.k8s.io`) is running, enter this command: +To see whether the metrics-server is running, or another provider of the resource metrics +API (`metrics.k8s.io`), run the following command: ```shell kubectl get apiservices ``` -If the resource metrics API is available, the output will include a +If the resource metrics API is available, the output includes a reference to `metrics.k8s.io`. - - ```shell NAME v1beta1.metrics.k8s.io @@ -50,7 +48,6 @@ v1beta1.metrics.k8s.io {{% /capture %}} - {{% capture steps %}} ## Create a namespace @@ -73,7 +70,7 @@ for the Pod: {{< codenew file="pods/resource/memory-request-limit.yaml" >}} -In the configuration file, the `args` section provides arguments for the Container when it starts. +The `args` section in the configuration file provides arguments for the Container when it starts. The `"--vm-bytes", "150M"` arguments tell the Container to attempt to allocate 150 MiB of memory. Create the Pod: @@ -82,7 +79,7 @@ Create the Pod: 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 Container is running: ```shell kubectl get pod memory-demo --namespace=mem-example @@ -108,7 +105,7 @@ resources: ... ``` -Use `kubectl top` to fetch the metrics for the pod: +Run `kubectl top` to fetch the metrics for the pod: ```shell kubectl top pod memory-demo --namespace=mem-example @@ -129,22 +126,21 @@ Delete your Pod: kubectl delete pod memory-demo --namespace=mem-example ``` - ## Exceed a Container's memory limit A Container can exceed its memory request if the Node has memory available. But a Container is not allowed to use more than its memory limit. If a Container allocates more memory than its limit, the Container becomes a candidate for termination. If the Container continues to -consume memory beyond its limit, the Container is terminated. If a terminated Container is -restartable, the kubelet will restart it, as with any other type of runtime failure. +consume memory beyond its limit, the Container is terminated. If a terminated Container can be +restarted, the kubelet restarts it, as with any other type of runtime failure. In this exercise, you create a Pod that attempts to allocate more memory than its limit. -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. +Here is the configuration file for a Pod that has one Container with a +memory request of 50 MiB and a memory limit of 100 MiB: {{< 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 `args` section of the configuration file, you can see that the Container will attempt to allocate 250 MiB of memory, which is well above the 100 MiB limit. Create the Pod: @@ -159,22 +155,20 @@ View detailed information about the Pod: kubectl get pod memory-demo-2 --namespace=mem-example ``` -At this point, the Container might be running, or it might have been killed. If the -Container has not yet been killed, repeat the preceding command until you see that -the Container has been killed: +At this point, the Container might be running or killed. Repeat the preceding command until the Container is killed: ```shell NAME READY STATUS RESTARTS AGE memory-demo-2 0/1 OOMKilled 1 24s ``` -Get a more detailed view of the Container's status: +Get a more detailed view of the Container status: ```shell kubectl get pod memory-demo-2 --output=yaml --namespace=mem-example ``` -The output shows that the Container has been killed because it is out of memory (OOM). +The output shows that the Container was killed because it is out of memory (OOM): ```shell lastState: @@ -186,14 +180,14 @@ lastState: startedAt: null ``` -The Container in this exercise is restartable, so the kubelet will restart it. Enter -this command several times to see that the Container gets repeatedly killed and restarted: +The Container in this exercise can be restarted, so the kubelet restarts it. Repeat +this command several times to see that the Container is repeatedly killed and restarted: ```shell kubectl get pod memory-demo-2 --namespace=mem-example ``` -The output shows that the Container gets killed, restarted, killed again, restarted again, and so on: +The output shows that the Container is killed, restarted, killed again, restarted again, and so on: ``` stevepe@sperry-1:~/steveperry-53.github.io$ kubectl get pod memory-demo-2 --namespace=mem-example @@ -204,8 +198,7 @@ NAME READY STATUS RESTARTS AGE memory-demo-2 1/1 Running 2 40s ``` -View detailed information about the Pod's history: - +View detailed information about the Pod history: ``` kubectl describe pod memory-demo-2 --namespace=mem-example @@ -213,7 +206,6 @@ kubectl describe pod memory-demo-2 --namespace=mem-example The output shows that the Container starts and fails repeatedly: - ``` ... Normal Created Created container with id 66a3a20aa7980e61be4922780bf9d24d1a1d8b7395c09861225b0eba1b1f8511 ... Warning BackOff Back-off restarting failed container @@ -221,7 +213,6 @@ The output shows that the Container starts and fails repeatedly: View detailed information about your cluster's Nodes: - ``` kubectl describe nodes ``` @@ -250,7 +241,7 @@ has enough available memory to satisfy the Pod's memory request. In this exercise, you create a Pod that has a memory request so big that it exceeds the capacity of any Node in your cluster. Here is the configuration file for a Pod that has one -Container. The Container requests 1000 GiB of memory, which is likely to exceed the capacity +Container with a request for 1000 GiB of memory, which likely exceeds the capacity of any Node in your cluster. {{< codenew file="pods/resource/memory-request-limit-3.yaml" >}} @@ -261,15 +252,13 @@ Create the Pod: 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 status: ```shell kubectl get pod memory-demo-3 --namespace=mem-example ``` -The output shows that the Pod's status is PENDING. That is, the Pod has not been -scheduled to run on any Node, and it will remain in the PENDING state indefinitely: - +The output shows that the Pod status is PENDING. That is, the Pod is not scheduled to run on any Node, and it will remain in the PENDING state indefinitely: ``` kubectl get pod memory-demo-3 --namespace=mem-example @@ -279,14 +268,12 @@ memory-demo-3 0/1 Pending 0 25s View detailed information about the Pod, including events: - ```shell kubectl describe pod memory-demo-3 --namespace=mem-example ``` The output shows that the Container cannot be scheduled because of insufficient memory on the Nodes: - ```shell Events: ... Reason Message @@ -310,9 +297,9 @@ Delete your Pod: kubectl delete pod memory-demo-3 --namespace=mem-example ``` -## If you don’t specify a memory limit +## If you do not specify a memory limit -If you don’t specify a memory limit for a Container, then one of these situations applies: +If you do not specify a memory limit for a Container, one of the following situations applies: * The Container has no upper bound on the amount of memory it uses. The Container could use all of the memory available on the Node where it is running.