Bootstrap FreeKB - OpenShift - List autoscalers using the oc get horizontalpodautoscalers command
OpenShift - List autoscalers using the oc get horizontalpodautoscalers command

Updated:   |  OpenShift articles

An image contains the code used to create a deployment. Then, a deployment can be created from an image, which should then create a replica set (which is the number of pods that should be created), and then the pods should be created.

If you are not familiar with the oc command, refer to OpenShift - Getting Started with the oc command.

The oc get deployments command can be used to return the deployments in a project / namespace. Something like this should be returned. The DESIRED, CURRENT, UP-TO-DATE and AVAILABLE columns represent the number of replicas for the deployment.

Replicas is the number of pods that should be created for the deployment.

~]# oc get deployments --namespace <some namespace>
NAME                DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
app001-5b9879db6d   1         1         1            1           205d

 

The DESIRED replicas is defined in the deployments YAML file, which can be seen with the --output yaml or --output json option.

~]# oc get deployments --namespace <some namespace> -o yaml | grep -i replicas
replicas: 1

 

Similarly, the oc get replicaset command can be used to display the DESIRED, CURRENT, and READY replicas for the deployments.

~]# oc get replicaset --namespace <some namespace>
NAME                      DESIRED   CURRENT   READY   AGE
app001-5b9879db6d         1         1         1       205d

 

You can update a replicaset or deployment to have a certain number of replicas:

  • Manually, using the oc scale command
  • Automatically, using the oc autoscale command (this article)

The oc autoscale command can be used to automatically update a replicaset and deployment to have a certain number of replicas based on some condition, such as the amount of CPU being used by the deployment. In this example, the deployment will always have a least 1 pod, and will automatically scale up to a maximum of 3 pods when a pod exceeds 50% used CPU.

~]$ oc autoscale deployment my-app --min 1 --max 3 --cpu-percent 50
horizontalpodautoscaler.autoscaling/my-app autoscaled

 

The oc get horizontalpodautoscaler command can then be used to list the autoscalers that have been created in the project / namespace.

~]$ oc get horizontalpodautoscaler
NAME     REFERENCE           TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
my-app   Deployment/my-app   <unknown>/50%   1         3         1          10m

 

And the oc describe horizontalpodautoscaler command can also be used to display information about an autoscaler.

~]$ oc describe horizontalpodautoscaler my-app
Name:                                                  my-app
Namespace:                                             default
Labels:                                                <none>
Annotations:                                           <none>
CreationTimestamp:                                     Tue, 23 Aug 2022 06:33:50 -0500
Reference:                                             Deployment/my-app
Metrics:                                               ( current / target )
  resource cpu on pods  (as a percentage of request):  <unknown> / 50%
Min replicas:                                          1
Max replicas:                                          3
Deployment pods:                                       1 current / 0 desired

 

Or, the oc get horizontalpodautoscaler command with the --output yaml or --output json option can be used.

~]$ oc get horizontalpodautoscaler my-app --output yaml
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  creationTimestamp: "2022-08-23T11:33:50Z"
  name: my-app
  namespace: default
  resourceVersion: "472074474"
  uid: 65ca2ce0-52e4-4565-becc-bb79742c4428
spec:
  maxReplicas: 3
  minReplicas: 1
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: my-app
  targetCPUUtilizationPercentage: 50
status:
  currentReplicas: 1
  desiredReplicas: 0

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 25df2c in the box below so that we can be sure you are a human.