validate-cluster

subtitle

Validate compute cluster

version

0.9.111

Description

Validates compute cluster.

Synopsis

  validate-cluster
--metadata <value>
[--spec <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton]

Options

--metadata (object)

Cluster metadata structure.

environmentCrn -> (string)

Environment CRN.

name -> (string)

Cluster name.

clusterOwner -> (object)

Cluster owner structure.

email -> (string)

Owner’s email.

firstName -> (string)

Owner’s firstname.

lastName -> (string)

Owner’s lastname.

userId -> (string)

Owner’s user ID.

accountId -> (string)

Owner’s account ID.

crn -> (string)

Owner’s actor CRN.

description -> (string)

Cluster description.

labels -> (map)

Labels.

key -> (string)

value -> (string)

workloads -> (array)

Cluster workloads.

item -> (string)

Shorthand Syntax:

environmentCrn=string,name=string,clusterOwner={email=string,firstName=string,lastName=string,userId=string,accountId=string,crn=string},clusterType=string,description=string,labels={KeyName1=string,KeyName2=string},workloads=string,string

JSON Syntax:

{
  "environmentCrn": "string",
  "name": "string",
  "clusterOwner": {
    "email": "string",
    "firstName": "string",
    "lastName": "string",
    "userId": "string",
    "accountId": "string",
    "crn": "string"
  },
  "clusterType": "string",
  "description": "string",
  "labels": {"string": "string"
    ...},
  "workloads": ["string", ...]
}

--spec (object)

Cluster spec request structure.

bootstrapScript -> (string)

Bootstrap script.

deployments -> (object)

Deployments request structure.

autoscaler -> (object)

Autoscaler request structure.

scaleDownDelayAfterAdd -> (string)

How long after scale up that scale down evaluation resumes. (Azure/AWS Support).

scaleDownDelayAfterDelete -> (string)

How long after node deletion that scale down evaluation resumes, defaults to scanInterval. (Azure/AWS Support).

scaleDownDelayAfterFailure -> (string)

How long after scale down failure that scale down evaluation resumes. (Azure/AWS Support).

scaleDownEnabled -> (boolean)

Scale down flag. (AWS Support).

scaleDownNonEmptyCandidatesCount -> (integer)

Maximum number of non empty nodes considered in one iteration as candidates for scale down with drain. Lower value means better CA responsiveness but possible slower scale down latency. Higher value can affect CA performance with big clusters (100s of nodes). Set to non positive value to turn this heuristic off - CA will not limit the number of nodes it considers. (AWS Support).

scaleDownUnneededTime -> (string)

How long a node should be unneeded before it is eligible for scale down. (Azure/AWS Support).

scaleDownUtilizationThreshold -> (double)

Node utilization level, defined as the sum of requested resources divided by capacity,. below which a node can be considered for scale down. (Azure/AWS Support).

scanInterval -> (string)

Scan interval. (Azure/AWS Support).

skipNodesWithLocalStorage -> (boolean)

Skip nodes with local storage flag. (AWS Support).

skipNodesWithSystemPods -> (boolean)

Skip nodes with system pods. (AWS Support).

maxGracefulTerminationSec -> (integer)

Maximum number of seconds CA waits for pod termination when trying to scale down a node. (Azure Support).

scaleDownUnreadyTime -> (string)

How long an unready node should be unneeded before it is eligible for scale down. (Azure Support).

horizontalPodAutoscaler -> (object)

Horizontal pod autoscaler request structure.

enabled -> (boolean)

Enable flag.

istio -> (object)

Istio request structure.

logging -> (object)

Logging request structure.

enabled -> (boolean)

True to enable logging installation (default false).

metering -> (object)

Metering request structure.

enabled -> (boolean)

Flag to enable metering installation.

services -> (array)

Array of services.

item -> (object)

Metering service request structure.

serviceType -> (string)

Service type.

serviceVersion -> (string)

Service version.

workloadCrn -> (string)

Workload CRN.

clusterCrn -> (string)

Cluster CRN.

serviceConfiguration -> (string)

Service configuration.

monitoring -> (object)

Monitoring request structure.

enabled -> (boolean)

Flag to enable Monitoring installation.

alertmanager -> (object)

Alertmanager request structure.

enabled -> (boolean)

Flag to enable alertmanager.

serverResourceLimit -> (object)

Resource limits request structure.

cpu -> (string)

Prometheus server CPU limit (default 1000m).

memory -> (string)

Prometheus server memory limit (default 2048M).

nvidia -> (object)

Nvidia request structure.

gpuLabelKey -> (string)

GPU label key.

gpuLabelValue -> (string)

GPU label value.

repository -> (string)

Repository for images.

yunikorn -> (object)

YuniKorn request structure.

telemetryKmsKeyArn -> (string)

Telemetry KMS key ARN.

instanceGroups -> (array)

Instance groups.

item -> (object)

Instance group structure.

name -> (string)

Name.

instanceCount -> (integer)

Instance count.

autoscaling -> (object)

AutoScaling structure.

maxInstance -> (integer)

Max instances.

minInstance -> (integer)

Min instances.

enabled -> (boolean)

Enable flag.

enableCfsQuota -> (boolean)

Enables CPU CFS quota. Defaults to true if not specified.

instanceImage -> (string)

Instance image.

instanceTier -> (string)

Instance tier.

kubeReservedCpu -> (integer)

Reserved kubelet CPU in millicpu.

kubeReservedMemory -> (integer)

Reserved kubelet memory in MiB.

kubeReservedStorage -> (integer)

Reserved kubelet ephemeral storage in MiB.

labels -> (map)

Labels.

key -> (string)

value -> (string)

rootVolume -> (object)

Root volume structure.

size -> (integer)

Root volume size.

singleZone -> (boolean)

Use single availability zone. Simple boolean for EKS. AKS is used in conjunction with UseAvailabilityZones.

systemReservedCpu -> (integer)

Reserved OS CPU in millicpu.

systemReservedMemory -> (integer)

Reserved OS memory in MiB.

systemReservedStorage -> (integer)

Reserved OS ephemeral storage in MiB.

taints -> (map)

Taints.

key -> (string)

value -> (string)

useAvailabilityZones -> (boolean)

Used for Azure clusters only.

instanceTypes -> (array)

Instance types. General purpose: M4, M5, M5a, M5ad, and M5d. Compute optimized: C3, C4, C5, C5d, C5n, and cc2.8xlarge. Memory optimized: cr1.8xlarge, R3, R4, R5, R5a, R5ad, R5d, X1, X1e, and z1d. Storage optimized: D2, H1, hs1.8xlarge, I2, I3, and I3en. Accelerated computing: F1, G2, G3, P2, and P3.

item -> (string)

accelerator -> (object)

Accelerator structure.

count -> (integer)

GPU count.

type -> (string)

GPU type.

kubernetes -> (object)

Kubernetes specs.

network -> (object)

Network structure.

cidr -> (string)

VPC CIDR.

plugin -> (string)

Network plugin.

topology -> (object)

Network topology structure.

subnets -> (array)

Subnets.

item -> (string)

inboundProxyCidrs -> (array)

Allow these CIDR for inbound communication when using environment proxy settings. Only if backend supports it.

item -> (string)

podCidr -> (string)

The pod CIDR to use if the backend provider supports setting this.

serviceCidr -> (string)

The CIDR for services declared inside of Kubernetes if the backend provider supports setting this.

security -> (object)

Security request structure.

apiServer -> (object)

API server request structure.

authorizedIpRanges -> (array)

An array of IPv4 CIDR blocks.

item -> (string)

enabled -> (boolean)

Flag to enable whitelist of IP Ranges (CIDR block) for public access to the kubernetes API server.

secretEncryption -> (object)

Secret encryption request structure.

customerKmsKeyArn -> (string)

The KMS key ARN used.

volumeEncryption -> (object)

Volume encryption request structure.

customerKmsKeyArn -> (string)

The KMS key ARN used.

private -> (boolean)

Flag set to true for a private cluster with API Server having internal IP addressees.

sshKeypairName -> (string)

SSH keypair.

workerEgressRules -> (array)

Array of egress rules of the form protocol:fromPort[:toPort[:CIDR]].

item -> (string)

workerIngressRules -> (array)

Array of ingress rules of the form protocol:fromPort[:toPort[:CIDR]].

item -> (string)

imageCatalog -> (object)

Image catalog request structure.

crn -> (string)

The catalog CRN (either CRN or name is required).

name -> (string)

The catalog name (either CRN or name is required).

storage -> (object)

Storage spec request structure.

csiEnabled -> (boolean)

Flag to enable Container Storage Interface (CSI). It further sets specific inline cloud formation policies required for CSI.

JSON Syntax:

{
  "bootstrapScript": "string",
  "deployments": {
    "autoscaler": {
      "scaleDownDelayAfterAdd": "string",
      "scaleDownDelayAfterDelete": "string",
      "scaleDownDelayAfterFailure": "string",
      "scaleDownEnabled": true|false,
      "scaleDownNonEmptyCandidatesCount": integer,
      "scaleDownUnneededTime": "string",
      "scaleDownUtilizationThreshold": double,
      "scanInterval": "string",
      "skipNodesWithLocalStorage": true|false,
      "skipNodesWithSystemPods": true|false,
      "maxGracefulTerminationSec": integer,
      "scaleDownUnreadyTime": "string"
    },
    "horizontalPodAutoscaler": {
      "enabled": true|false
    },
    "istio": {
      "enabled": true|false,
      "deploymentProfile": "string"
    },
    "logging": {
      "enabled": true|false
    },
    "metering": {
      "enabled": true|false,
      "services": [
        {
          "serviceType": "string",
          "serviceVersion": "string",
          "workloadCrn": "string",
          "clusterCrn": "string",
          "serviceConfiguration": "string"
        }
        ...
      ]
    },
    "monitoring": {
      "enabled": true|false,
      "alertmanager": {
        "enabled": true|false
      },
      "serverResourceLimit": {
        "cpu": "string",
        "memory": "string"
      }
    },
    "nvidia": {
      "gpuLabelKey": "string",
      "gpuLabelValue": "string"
    },
    "repository": "string",
    "yunikorn": {
      "enabled": true|false,
      "version": "string",
      "appSortingPolicy": "string",
      "nodeSortingPolicy": "string"
    },
    "telemetryKmsKeyArn": "string"
  },
  "instanceGroups": [
    {
      "name": "string",
      "instanceCount": integer,
      "autoscaling": {
        "maxInstance": integer,
        "minInstance": integer,
        "enabled": true|false
      },
      "enableCfsQuota": true|false,
      "instanceImage": "string",
      "instanceTier": "string",
      "kubeReservedCpu": integer,
      "kubeReservedMemory": integer,
      "kubeReservedStorage": integer,
      "labels": {"string": "string"
        ...},
      "rootVolume": {
        "size": integer
      },
      "singleZone": true|false,
      "systemReservedCpu": integer,
      "systemReservedMemory": integer,
      "systemReservedStorage": integer,
      "taints": {"string": "string"
        ...},
      "useAvailabilityZones": true|false,
      "instanceTypes": ["string", ...],
      "accelerator": {
        "count": integer,
        "type": "string"
      }
    }
    ...
  ],
  "kubernetes": {
    "version": "string"
  },
  "network": {
    "cidr": "string",
    "plugin": "string",
    "topology": {
      "subnets": ["string", ...]
    },
    "inboundProxyCidrs": ["string", ...],
    "podCidr": "string",
    "serviceCidr": "string"
  },
  "security": {
    "apiServer": {
      "authorizedIpRanges": ["string", ...],
      "enabled": true|false
    },
    "secretEncryption": {
      "customerKmsKeyArn": "string",
      "enabled": true|false
    },
    "volumeEncryption": {
      "customerKmsKeyArn": "string"
    },
    "private": true|false
  },
  "sshKeypairName": "string",
  "workerEgressRules": ["string", ...],
  "workerIngressRules": ["string", ...],
  "imageCatalog": {
    "crn": "string",
    "name": "string"
  },
  "storage": {
    "csiEnabled": true|false
  }
}

--cli-input-json (string)

Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values.

--generate-cli-skeleton (boolean)

Prints a sample input JSON to standard output. Note the specified operation is not run if this argument is specified. The sample input can be used as an argument for --cli-input-json.

Output

result -> (string)

Validation result.

summary -> (object)

Validation summary structure.

passed -> (integer)

Total number of passed validations.

warning -> (integer)

Total number of validations that passed but have warnings associated with them.

failed -> (integer)

Total number of failed validations.

skipped -> (integer)

Total number of skipped validations.

total -> (integer)

Total number of validations.

message -> (string)

A message describing the end result of the validations.

validations -> (array)

The list of detailed validation results.

item -> (object)

Validation result structure.

name -> (string)

Name.

description -> (string)

Description.

category -> (string)

Validation check categories such as COMMON, ENTITLEMENTS, CONTROL_PLANE, NETWORK, or DEPLOYMENT. New values may be added in the future.

status -> (string)

Validation check status such as PASSED, FAILED, or SKIPPED. New values may be added in the future.

message -> (string)

A short, human-readable message that describes the end result of the validation.

detailedMessage -> (string)

A supporting message which contains additional details, such as subnet names, instance types, etc.

duration -> (string)

Time taken to get the end result of the validation in a human-readable time format.

Form Factors

public