latestOpenAPI 3.0.02026-08-2045003.8 MB

72813baf8d47

Ocean GKE

Update VNG

All Ocean parameters in a virtual node group are updatable.

put/ocean/gcp/k8s/launchSpec/{launchSpecId}

Parameters

#/paths/~1azure~1costs/get/parameters/0 — unresolved $ref
#/paths/~1ocean~1aws~1ecs~1launchSpec~1%7BlaunchSpecId%7D/get/parameters/1 — unresolved $ref

Request body

oceanIdstring required

The Ocean cluster identifier. Required to create the virtual node group.

namestring

Set the name for the virtual node group.

sourceImagestring required

Set the image URL. Can be null.

serviceAccountstring

The account used by applications running on the VM to call GCP APIs.

rootVolumeSizeInGbinteger

Set root volume size (in GB).

rootVolumeType'pd-standard' | 'pd-ssd' | 'pd-balanced' | 'pd-extreme' | 'hyperdisk-balanced' | 'hyperdisk-balanced-high-availability'

Set the root volume disk type.

instanceTypesstring[]

An array of supported machine types for the virtual node group. Can be null.

preferredTypesstring[]

When Ocean scales up VMs, it prioritizes the preferred instance types for launching new nodes. If launching nodes from this preferred list is not feasible, Ocean will then proceed to utilize the configured instance types available within the cluster. Note that the preferred types must be a subset of the instance types configured for the cluster/vng.

availabilityZonesstring[]

An array holding availability zones, this configures the availability zones the Ocean may launch instances in per VNG. Can be null.

tagsstring[]

Every node launched from this VNG will have those tags. If the value is null, the nodes will have the tags configured at the cluster level.

restrictScaleDownboolean

When set to True, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless they are empty.

createdAtstring date-time
updatedAtstring date-time

Example request

{
  "oceanId": "o-1fff54ed",
  "name": "lp_name",
  "sourceImage": "https://www.googleapis.com/compute/v1/projects/gke-node-images/global/images/container-v1-3-v20160517",
  "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
  "rootVolumeSizeInGb": 8,
  "rootVolumeType": "pd-standard",
  "metadata": [
    {
      "key": "key1",
      "value": "value1"
    },
    {
      "key": "key2",
      "value": "value2"
    }
  ],
  "instanceTypes": [
    "n1-standard-1",
    "n1-standard-2"
  ],
  "filters": {
    "minVcpu": 2,
    "maxVcpu": 16,
    "minMemoryGiB": 8,
    "maxMemoryGiB": 16,
    "includeFamilies": [
      "c2",
      "c3"
    ],
    "excludeFamilies": [
      "n2",
      "c3"
    ]
  },
  "preferredTypes": [
    "c3d-standard-4",
    "c3d-standard-8"
  ],
  "availabilityZones": [
    "us-central1-a",
    "us-central1-b"
  ],
  "tags": [
    "gke-cluster-name-12345-node",
    "network-tag-1"
  ],
  "taints": [
    {
      "key": "taintKey",
      "value": "taintValue",
      "effect": "NoSchedule"
    }
  ],
  "labels": [
    {
      "key": "env",
      "value": "test"
    }
  ],
  "autoScale": {
    "headrooms": [
      {
        "cpuPerUnit": 1000,
        "memoryPerUnit": 2048,
        "numOfUnits": 3
      }
    ],
    "autoHeadroomPercentage": 20,
    "down": {
      "maxScaleDownPercentage": 30
    }
  },
  "resourceLimits": {
    "maxInstanceCount": 5,
    "minInstanceCount": 2
  },
  "shieldedInstanceConfig": {
    "enableSecureBoot": true,
    "enableIntegrityMonitoring": true
  },
  "strategy": {
    "preemptiblePercentage": 80,
    "shouldUtilizeCommitments": true
  },
  "storage": {
    "localSsdCount": 2,
    "localSsdEphemeralStorageCount": 2,
    "localNvmeSsdCount": 2
  },
  "scheduling": {
    "shutdownHours": {
      "isEnabled": true,
      "timeWindows": [
        "Mon:00:30-Mon:23:00",
        "Tue:06:30-Tue:23:00"
      ]
    },
    "tasks": [
      {
        "isEnabled": true,
        "cronExpression": "0 1 * * *",
        "taskType": "manualHeadroomUpdate",
        "config": {
          "headrooms": [
            {
              "cpuPerUnit": 1024,
              "memoryPerUnit": 512,
              "gpuPerUnit": 0,
              "numOfUnits": 1
            }
          ]
        }
      }
    ]
  },
  "createdAt": "2019-06-03T08:13:08.000Z",
  "updatedAt": "2019-06-10T15:06:13.000Z"
}