This page shows how to assign opaque integer resources to a Container.
DEPRECATION NOTICE: As of
Kubernetes v1.8, this has been deprecated
This feature is deprecated. For more information on this state, see the Kubernetes Deprecation Policy.
You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using Minikube, or you can use one of these Kubernetes playgrounds:
Before you do this exercise, do the exercise in Advertise Opaque Integer Resources for a Node. That will configure one of your Nodes to advertise a dongle resource.
To request an opaque integer resource, include the
resources:requests field in your
Container manifest. Opaque integer resources have the prefix
Here is the configuration file for a Pod that has one Container:
In the configuration file, you can see that the Container requests 3 dongles.
Create a Pod:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/oir-pod.yaml
Verify that the Pod is running:
kubectl get pod oir-demo
Describe the Pod:
kubectl describe pod oir-demo
The output shows dongle requests:
Requests: pod.alpha.kubernetes.io/opaque-int-resource-dongle: 3
Here is the configuration file for a Pod that has one Container. The Container requests two dongles.
Kubernetes will not be able to satisfy the request for two dongles, because the first Pod used three of the four available dongles.
Attempt to create a Pod:
kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/oir-pod-2.yaml
Describe the Pod
kubectl describe pod oir-demo-2
The output shows that the Pod cannot be scheduled, because there is no Node that has 2 dongles available:
Conditions: Type Status PodScheduled False ... Events: ... ... Warning FailedScheduling pod (oir-demo-2) failed to fit in any node fit failure summary on nodes : Insufficient pod.alpha.kubernetes.io/opaque-int-resource-dongle (1)
View the Pod status:
kubectl get pod oir-demo-2
The output shows that the Pod was created, but not scheduled to run on a Node. It has a status of Pending:
NAME READY STATUS RESTARTS AGE oir-demo-2 0/1 Pending 0 6m
Delete the Pod that you created for this exercise:
kubectl delete pod oir-demo