We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

Breaking the Limits

You may have noticed that with the testcpu application, we never "told" the application how much CPU to use. That's because generally speaking, applications don't know how much CPU they should use. They just go as "fast" as they can when they're doing computations.

Memory is different, applications allocate memory based on a variety of factors, and while an application can have its CPU throttled and just "go slower", if an application runs out of available memory, it will crash.

Let's test that!

Update the MEGABYTES environment variable for the testram application to 500 and apply the change.

Delete the testram pod so that the new environment variable takes effect. Assuming you did everything correctly, the pod should crash. You'll be able to check with:

kubectl get pods

Then describe the individual pod:

kubectl describe pod <pod-name>

Look for a section in the output that looks like this:

Containers:
  synergychat-testram:
    Container ID:   docker://453facc1515e05ec553ad755c6a0edffd3e67b62c14b4ddb328cc0f8d5c67250
    Image:          bootdotdev/synergychat-testram:latest
    Image ID:       docker-pullable://bootdotdev/synergychat-testram@sha256:a127779899f29d7b2e1fc80ed75e001eaed8e7cec0985707a802319fcdd9bec1
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       XXX

Answer the question on the right about the reason for the crash.