<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vertica Documentation – Subclusters on Kubernetes</title>
    <link>/en/containerized/subclusters-on-k8s/</link>
    <description>Recent content in Subclusters on Kubernetes on Vertica Documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/containerized/subclusters-on-k8s/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Containerized: Scaling subclusters</title>
      <link>/en/containerized/subclusters-on-k8s/scaling-subclusters/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/containerized/subclusters-on-k8s/scaling-subclusters/</guid>
      <description>
        
        
        &lt;p&gt;The operator enables you to scale the number of subclusters, and the number of pods per subcluster automatically. This allows you to utilize or conserve resources depending on the immediate needs of your workload.&lt;/p&gt;
&lt;p&gt;The following sections explain how to scale resources for new workloads. For details about scaling resources for existing workloads, see &lt;a href=&#34;../../../en/containerized/subclusters-on-k8s/verticaautoscaler-custom-resource/&#34;&gt;VerticaAutoscaler custom resource&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Complete &lt;a href=&#34;../../../en/containerized/db-operator/installing-db-operator/&#34;&gt;Installing the Vertica DB operator&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/&#34;&gt;kubectl&lt;/a&gt; command line tool.&lt;br /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Complete &lt;a href=&#34;../../../en/containerized/creating-custom-resource/&#34;&gt;Creating a custom resource&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Confirm that you have the resources to scale.&lt;/p&gt;

&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

By default, the custom resource uses the free &lt;a href=&#34;../../../en/getting-started/community-edition-ce/&#34;&gt;Community Edition (CE)&lt;/a&gt; license. This license allows you to deploy up to three nodes with a maximum of 1TB of data. To add resources beyond these limits, you must add your Vertica license to the custom resource as described in &lt;a href=&#34;../../../en/containerized/creating-custom-resource/&#34;&gt;Creating a custom resource&lt;/a&gt;.

&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;scaling-the-number-of-subclusters&#34;&gt;Scaling the number of subclusters&lt;/h3&gt;
&lt;p&gt;Adjust the number of subclusters in your custom resource to fine-tune resources for short-running dashboard queries. For example, increase the number of subclusters to increase throughput. For more information, see &lt;a href=&#34;../../../en/eon/scaling-your-eon-db/improving-query-throughput-using-subclusters/&#34;&gt;Improving query throughput using subclusters&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;kubectl edit&lt;/code&gt; to open your default text editor and update the YAML file for the specified custom resource. The following command opens a custom resource named &lt;code&gt;vdb&lt;/code&gt; for editing:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl edit vdb
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;code&gt;spec&lt;/code&gt; section of the custom resource, locate the &lt;code&gt;subclusters&lt;/code&gt; subsection. Begin the &lt;code&gt;isPrimary&lt;/code&gt; field to define a new subcluster.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;isPrimary&lt;/code&gt; field accepts a boolean that specifies whether the subcluster is a primary or secondary. Because there is already a primary subcluster in our custom resource, enter &lt;code&gt;false&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;spec:
...
  subclusters:
  ...
  - isPrimary: false
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Follow the steps in &lt;a href=&#34;../../../en/containerized/creating-custom-resource/&#34;&gt;Creating a custom resource&lt;/a&gt; to complete the subcluster definition. The following completed example adds a secondary subcluster for dashboard queries:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;spec:
...
  subclusters:
  - isPrimary: true
    name: primary-subcluster
  ...
  - isPrimary: false
    name: dashboard
    nodePort: 32001
    resources:
      limits:
        cpu: 32
        memory: 96Gi
      requests:
        cpu: 32
        memory: 96Gi
    serviceType: NodePort
    size: 3
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Save and close the custom resource file. You receive a message similar to the following when you successfully update the file:&lt;/p&gt;
&lt;p&gt;verticadb.vertica.com/vertica-db edited&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the &lt;code&gt;kubectl wait&lt;/code&gt; command to monitor when the new pods are ready:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl wait --for=condition=Ready pod --selector app.kubernetes.io/name=vertica-db --timeout 180s
pod/vdb-dashboard-0 condition met
pod/vdb-dashboard-1 condition met
pod/vdb-dashboard-2 condition met
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;scaling-the-pods-in-a-subcluster&#34;&gt;Scaling the pods in a subcluster&lt;/h3&gt;
&lt;p&gt;For long-running, analytic queries, increase the pod count for a subcluster. See &lt;a href=&#34;../../../en/eon/scaling-your-eon-db/using-elastic-crunch-scaling-to-improve-query-performance/&#34;&gt;Using elastic crunch scaling to improve query performance&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;kubectl edit&lt;/code&gt; to open your default text editor and update the YAML file for the specified custom resource. The following command opens a custom resource named &lt;code&gt;vdb&lt;/code&gt; for editing:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl edit vertica-db
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update the &lt;code&gt;subclusters.size&lt;/code&gt; value to 6:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;spec:
...
  subclusters:
  ...
  - isPrimary: false
    ...
    size: 6
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Shards are rebalanced automatically.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Save and close the custom resource file. You receive a message similar to the following when you successfully update the file:&lt;/p&gt;
&lt;p&gt;verticadb.vertica.com/vertica-db edited&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the &lt;code&gt;kubectl wait&lt;/code&gt; command to monitor when the new pods are ready:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl wait --for=condition=Ready pod --selector app.kubernetes.io/name=vertica-db --timeout 180s
pod/vdb-subcluster1-3 condition met
pod/vdb-subcluster1-4 condition met
pod/vdb-subcluster1-5 condition met
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;removing-a-subcluster&#34;&gt;Removing a subcluster&lt;/h2&gt;
&lt;p&gt;Remove a subcluster when it is no longer needed, or to preserve resources.

&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Because each custom resource instance requires a primary subcluster, you cannot remove all subclusters.
&lt;/div&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;kubectl edit&lt;/code&gt; to open your default text editor and update the YAML file for the specified custom resource. The following command opens a custom resource named &lt;code&gt;vdb&lt;/code&gt; for editing:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl edit vertica-db
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;code&gt;subclusters&lt;/code&gt; subsection nested under &lt;code&gt;spec&lt;/code&gt;, locate the subcluster that you want to delete. Delete the element in the subcluster array represents the subcluster that you want to delete. Each element is identified by a hyphen (-).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After you delete the subcluster and save, you receive a message similar to the following:&lt;/p&gt;
&lt;p&gt;verticadb.vertica.com/vertica-db edited&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Containerized: VerticaAutoscaler custom resource</title>
      <link>/en/containerized/subclusters-on-k8s/verticaautoscaler-custom-resource/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/containerized/subclusters-on-k8s/verticaautoscaler-custom-resource/</guid>
      <description>
        
        
        &lt;p&gt;The VerticaAutoscaler custom resource (CR) is a &lt;a href=&#34;https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/&#34;&gt;HorizontalPodAutoscaler&lt;/a&gt; that automatically scales resources for existing subclusters using one of the following strategies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Subcluster scaling for short-running dashboard queries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pod scaling for long-running analytic queries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The VerticaAutoscaler CR scales using &lt;a href=&#34;https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-resource-metrics&#34;&gt;resource or custom metrics&lt;/a&gt;. Vertica manages subclusters by workload, which helps you pinpoint the best metrics to trigger a scaling event. To maintain data integrity, the operator does not scale down unless all connections to the pods are drained and sessions are closed.&lt;/p&gt;
&lt;p&gt;For details about the algorithm that determines when the VerticaAutoscaler scales, see the &lt;a href=&#34;https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-details&#34;&gt;Kubernetes documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Additionally, the VerticaAutoscaler provides a webhook to validate state changes. By default, this webhook is enabled. You can configure this webhook with the &lt;code&gt;webhook.enable&lt;/code&gt; &lt;a href=&#34;../../../en/containerized/db-operator/helm-chart-parameters/&#34;&gt;Helm chart parameter&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;verticaDBName&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Required. Name of the VerticaDB CR that the VerticaAutoscaler CR scales resources for.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;scalingGranularity&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;








&lt;p&gt;Required. The scaling strategy. This parameter accepts one of the following values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Subcluster&lt;/strong&gt;: Create or delete entire subclusters. To create a new subcluster, the operator uses a template or an existing subcluster with the same serviceName.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Pod&lt;/strong&gt;: Increase or decrease the size of an existing subcluster.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;: Subcluster&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;serviceName&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;Required. Refers to the &lt;a href=&#34;../../../en/containerized/custom-resource-definition-parameters/&#34;&gt;subclusters[i].serviceName&lt;/a&gt; for the VerticaDB CR.&lt;/p&gt;
&lt;p&gt;VerticaAutoscaler uses this value as a selector when scaling subclusters together.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;template&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;

















&lt;p&gt;When &lt;code&gt;scalingGranularity&lt;/code&gt; is set to Subcluster, you can use this parameter to define how VerticAutoscaler scales the new subcluster. The following is an example:&lt;/p&gt;
&lt;pre class=&#34;table-pre&#34;&gt;spec:
    verticaDBName: &lt;span class=&#34;code-variable&#34;&gt;dbname&lt;/span&gt;
    scalingGranularity: Subcluster
    serviceName: &lt;span class=&#34;code-variable&#34;&gt;service-name&lt;/span&gt;
    template:
        name: &lt;span class=&#34;code-variable&#34;&gt;autoscaler-name&lt;/span&gt;
        size: 2
        serviceName: &lt;span class=&#34;code-variable&#34;&gt;service-name&lt;/span&gt;
        isPrimary: false&lt;/pre&gt;
&lt;p&gt;If you set template.size to 0, VerticaAutoscaler selects as a template an existing subcluster that uses &lt;em&gt;&lt;code&gt;service-name&lt;/code&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This setting is ignored when &lt;code&gt;scalingGranularity&lt;/code&gt; is set to Pod.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The examples in this section use the following VerticaDB custom resource. Each example uses CPU to trigger scaling:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apiVersion: vertica.com/v1beta1
kind: VerticaDB
metadata:
  name: &lt;span class=&#34;code-variable&#34;&gt;dbname&lt;/span&gt;
spec:
  communal:
    path: &amp;#34;path/to/communal-storage&amp;#34;
    endpoint: &amp;#34;path/to/communal-endpoint&amp;#34;
    credentialSecret: credentials-secret
  subclusters:
    - name: primary1
      size: 3
      isPrimary: true
      serviceName: primary1
      resources:
        limits:
          cpu: &amp;#34;8&amp;#34;
        requests:
          cpu: &amp;#34;4&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Complete &lt;a href=&#34;../../../en/containerized/db-operator/installing-db-operator/&#34;&gt;Installing the Vertica DB operator&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/&#34;&gt;kubectl&lt;/a&gt; command line tool.&lt;br /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Complete &lt;a href=&#34;../../../en/containerized/creating-custom-resource/&#34;&gt;Creating a custom resource&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Confirm that you have the resources to scale.&lt;/p&gt;

&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

By default, the custom resource uses the free &lt;a href=&#34;../../../en/getting-started/community-edition-ce/&#34;&gt;Community Edition (CE)&lt;/a&gt; license. This license allows you to deploy up to three nodes with a maximum of 1TB of data. To add resources beyond these limits, you must add your Vertica license to the custom resource as described in &lt;a href=&#34;../../../en/containerized/creating-custom-resource/&#34;&gt;Creating a custom resource&lt;/a&gt;.

&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;Set a value for the metric that triggers scaling. For example, if you want to scale by CPU utilization, you must set &lt;a href=&#34;../../../en/containerized/custom-resource-definition-parameters/&#34;&gt;CPU limits and requests&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;subcluster-scaling&#34;&gt;Subcluster scaling&lt;/h3&gt;
&lt;p&gt;Automatically adjust the number of subclusters in your custom resource to fine-tune resources for short-running dashboard queries. For example, increase the number of subclusters to increase throughput. For more information, see &lt;a href=&#34;../../../en/eon/scaling-your-eon-db/improving-query-throughput-using-subclusters/&#34;&gt;Improving query throughput using subclusters&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All subclusters share the same service object, so there are no required changes to external service objects. Pods in the new subcluster are load balanced by the existing service object.&lt;/p&gt;
&lt;p&gt;The following example creates a VerticaAutoscaler custom resource that scales by subcluster when the VerticaDB uses 50% of the node&#39;s available CPU:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Define the VerticaAutoscaler custom resource in a YAML-formatted manifest:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apiVersion: vertica.com/v1beta1
kind: VerticaAutoscaler
metadata:
  name: &lt;span class=&#34;code-variable&#34;&gt;autoscaler-name&lt;/span&gt;
spec:
  verticaDBName: &lt;span class=&#34;code-variable&#34;&gt;dbname&lt;/span&gt;
  scalingGranularity: Subcluster
  serviceName: primary1
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create the VerticaAutoscaler with the kubectl autoscale command:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl autoscale verticaautoscaler &lt;span class=&#34;code-variable&#34;&gt;autoscaler-name&lt;/span&gt; --cpu-percent=50 --min=3 --max=12
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The previous command creates a HorizontalPodAutoscaler object that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sets the target CPU utilization to 50%.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scales to a minimum of three pods in one subcluster, and 12 pods in four subclusters.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;pod-scaling&#34;&gt;Pod scaling&lt;/h3&gt;
&lt;p&gt;For long-running, analytic queries, increase the pod count for a subcluster. For additional information about Vertica and analytic queries, see &lt;a href=&#34;../../../en/eon/scaling-your-eon-db/using-elastic-crunch-scaling-to-improve-query-performance/&#34;&gt;Using elastic crunch scaling to improve query performance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When you scale pods in an Eon Mode database, you must consider the impact on database shards. For details, see &lt;a href=&#34;../../../en/architecture/eon-concepts/shards-and-subscriptions/&#34;&gt;Shards and subscriptions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following example creates a VerticaAutoscaler custom resource that scales by pod when the VerticaDB uses 50% of the node&#39;s available CPU:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Define the VerticaAutoScaler custom resource in a YAML-formatted manifest:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apiVersion: vertica.com/v1beta1
kind: VerticaAutoscaler
metadata:
  name: &lt;span class=&#34;code-variable&#34;&gt;autoscaler-name&lt;/span&gt;
spec:
  verticaDBName: &lt;span class=&#34;code-variable&#34;&gt;dbname&lt;/span&gt;
  scalingGranularity: Pod
  serviceName: primary1
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create the autoscaler instance with the kubectl autoscale command:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl autoscale verticaautoscaler &lt;span class=&#34;code-variable&#34;&gt;autoscaler-name&lt;/span&gt; --cpu-percent=50 --min=3 --max=12
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The previous command creates a HorizontalPodAutoscaler object that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sets the target CPU utilization to 50%.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scales to a minimum of three pods in one subcluster, and 12 pods in four subclusters.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;event-monitoring&#34;&gt;Event monitoring&lt;/h2&gt;
&lt;p&gt;To view the VerticaAutoscaler object, use the kubetctl describe hpa command:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl describe hpa &lt;span class=&#34;code-variable&#34;&gt;autoscaler-name&lt;/span&gt;
Name:                                                  as
Namespace:                                             vertica
Labels:                                                &amp;lt;none&amp;gt;
Annotations:                                           &amp;lt;none&amp;gt;
CreationTimestamp:                                     Tue, 12 Apr 2022 15:11:28 -0300
Reference:                                             VerticaAutoscaler/as
Metrics:                                               ( current / target )
  resource cpu on pods  (as a percentage of request):  0% (9m) / 50%
Min replicas:                                          3
Max replicas:                                          12
VerticaAutoscaler pods:                                3 current / 3 desired
Conditions:
  Type            Status  Reason              Message
  ----            ------  ------              -------
  AbleToScale     True    ReadyForNewScale    recommended size matches current size
  ScalingActive   True    ValidMetricFound    the HPA was able to successfully calculate a replica count from cpu resource utilization (percentage of request)
  ScalingLimited  False   DesiredWithinRange  the desired count is within the acceptable range
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When a scaling event occurs, you can view the admintools commands to scale the cluster. Use kubectl to view the StatefulSets:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl get statefulsets
NAME                                                   READY   AGE
db-name-as-instance-name-0                             0/3     71s
db-name-primary1                                       3/3     39m
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Use kubectl describe to view the executing commands:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl describe vdb &lt;span class=&#34;code-variable&#34;&gt;dbname&lt;/span&gt; | tail
  Upgrade Status:
Events:
  Type    Reason                   Age   From                Message
  ----    ------                   ----  ----                -------
  Normal  ReviveDBStart            41m   verticadb-operator  Calling &amp;#39;admintools -t revive_db&amp;#39;
  Normal  ReviveDBSucceeded        40m   verticadb-operator  Successfully revived database. It took 25.255683916s
  Normal  ClusterRestartStarted    40m   verticadb-operator  Calling &amp;#39;admintools -t start_db&amp;#39; to restart the cluster
  Normal  ClusterRestartSucceeded  39m   verticadb-operator  Successfully called &amp;#39;admintools -t start_db&amp;#39; and it took 44.713787718s
  Normal  SubclusterAdded          10s   verticadb-operator  Added new subcluster &amp;#39;as-0&amp;#39;
  Normal  AddNodeStart             9s    verticadb-operator  Calling &amp;#39;admintools -t db_add_node&amp;#39; for pod(s) &amp;#39;db-name-as-instance-name-0-0, db-name-as-instance-name-0-1, db-name-as-instance-name-0-2&amp;#39;
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
  </channel>
</rss>
