1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/nodes-cluster-resource-levels-command.adoc

124 lines
2.9 KiB
Plaintext

// Module included in the following assemblies:
//
// * nodes/nodes-cluster-resource-levels.adoc
:_mod-docs-content-type: PROCEDURE
[id="nodes-cluster-resource-levels-command_{context}"]
= Running the OpenShift Cluster Capacity Tool on the command line
You can run the OpenShift Cluster Capacity Tool from the command line
to estimate the number of pods that can be scheduled onto your cluster.
You create a sample pod spec file, which the tool uses for estimating resource usage. The pod spec specifies its resource
requirements as `limits` or `requests`. The cluster capacity tool takes the
pod's resource requirements into account for its estimation analysis.
.Prerequisites
. Run the link:https://catalog.redhat.com/software/containers/openshift4/ose-cluster-capacity/5cca0324d70cc57c44ae8eb6?container-tabs=overview[OpenShift Cluster Capacity Tool], which is available as a container image from the Red Hat Ecosystem Catalog.
. Create a sample pod spec file:
.. Create a YAML file similar to the following:
+
[source,yaml]
----
apiVersion: v1
kind: Pod
metadata:
name: small-pod
labels:
app: guestbook
tier: frontend
spec:
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
containers:
- name: php-redis
image: gcr.io/google-samples/gb-frontend:v4
imagePullPolicy: Always
resources:
limits:
cpu: 150m
memory: 100Mi
requests:
cpu: 150m
memory: 100Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
----
.. Create the cluster role:
+
[source,terminal]
----
$ oc create -f <file_name>.yaml
----
For example:
+
[source,terminal]
----
$ oc create -f pod-spec.yaml
----
.Procedure
To use the cluster capacity tool on the command line:
. From the terminal, log in to the Red Hat Registry:
+
[source,terminal]
----
$ podman login registry.redhat.io
----
. Pull the cluster capacity tool image:
+
[source,terminal]
----
$ podman pull registry.redhat.io/openshift4/ose-cluster-capacity
----
. Run the cluster capacity tool:
+
[source,terminal]
----
$ podman run -v $HOME/.kube:/kube:Z -v $(pwd):/cc:Z ose-cluster-capacity \
/bin/cluster-capacity --kubeconfig /kube/config --<pod_spec>.yaml /cc/<pod_spec>.yaml \
--verbose
----
+
--
where:
<pod_spec>.yaml:: Specifies the pod spec to use.
verbose:: Outputs a detailed description of how many pods can be scheduled on each node in the cluster.
--
+
.Example output
[source,terminal]
----
small-pod pod requirements:
- CPU: 150m
- Memory: 100Mi
The cluster can schedule 88 instance(s) of the pod small-pod.
Termination reason: Unschedulable: 0/5 nodes are available: 2 Insufficient cpu,
3 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't
tolerate.
Pod distribution among nodes:
small-pod
- 192.168.124.214: 45 instance(s)
- 192.168.124.120: 43 instance(s)
----
+
In the above example, the number of estimated pods that can be scheduled onto
the cluster is 88.