EdgeContainerNodePool


Property Value
Google Cloud Service Name Edge container
Google Cloud Service Documentation docs
Google Cloud REST Resource Name v1beta1.projects.locations.clusters.nodepools
Google Cloud REST Resource Documentation /distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters.nodePools
Config Connector Resource Short Names gcpedgecontainernodepool
gcpedgecontainernodepools
edgecontainernodepool
Config Connector Service Name edgecontainer.googleapis.com
Config Connector Resource Fully Qualified Name edgecontainernodepools.edgecontainer.cnrm.cloud.google.com
Can Be Referenced by IAMPolicy/IAMPolicyMember No
Config Connector Default Average Reconcile Interval In Seconds 600

Custom Resource Definition Properties

Annotations

Fields
cnrm.cloud.google.com/state-into-spec

Spec

Schema

clusterRef:
  external: string
  name: string
  namespace: string
localDiskEncryption:
  kmsKeyActiveVersion: string
  kmsKeyRef:
    external: string
    name: string
    namespace: string
  kmsKeyState: string
location: string
machineFilter: string
nodeConfig:
  labels:
    string: string
nodeCount: integer
nodeLocation: string
projectRef:
  external: string
  name: string
  namespace: string
resourceID: string
Fields

clusterRef

Required

object

clusterRef.external

Optional

string

Allowed value: The `name` field of an `EdgeContainerCluster` resource.

clusterRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

clusterRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

localDiskEncryption

Optional

object

Local disk encryption options. This field is only used when enabling CMEK support.

localDiskEncryption.kmsKeyActiveVersion

Optional

string

The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set.

localDiskEncryption.kmsKeyRef

Optional

object

localDiskEncryption.kmsKeyRef.external

Optional

string

Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.

localDiskEncryption.kmsKeyRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

localDiskEncryption.kmsKeyRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

localDiskEncryption.kmsKeyState

Optional

string

Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.

location

Required

string

Immutable. The location of the resource.

machineFilter

Optional

string

Only machines matching this filter will be allowed to join the node pool. The filtering language accepts strings like "name=", and is documented in more detail in [AIP-160](https://google.aip.dev/160).

nodeConfig

Optional

object

Configuration for each node in the NodePool.

nodeConfig.labels

Optional

map (key: string, value: string)

"The Kubernetes node labels".

nodeCount

Required

integer

The number of nodes in the pool.

nodeLocation

Required

string

Immutable. Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: 'us-central1-edge-customer-a'.

projectRef

Required

object

The project that this resource belongs to.

projectRef.external

Optional

string

Allowed value: The `name` field of a `Project` resource.

projectRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

projectRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceID

Optional

string

Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.

Status

Schema

conditions:
- lastTransitionTime: string
  message: string
  reason: string
  status: string
  type: string
createTime: string
nodeVersion: string
observedGeneration: integer
updateTime: string
Fields
conditions

list (object)

Conditions represent the latest available observation of the resource's current state.

conditions[]

object

conditions[].lastTransitionTime

string

Last time the condition transitioned from one status to another.

conditions[].message

string

Human-readable message indicating details about last transition.

conditions[].reason

string

Unique, one-word, CamelCase reason for the condition's last transition.

conditions[].status

string

Status is the status of the condition. Can be True, False, Unknown.

conditions[].type

string

Type is the type of the condition.

createTime

string

The time when the node pool was created.

nodeVersion

string

The lowest release version among all worker nodes.

observedGeneration

integer

ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.

updateTime

string

The time when the node pool was last updated.

Sample YAML(s)

Typical Use Case

# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: edgecontainer.cnrm.cloud.google.com/v1beta1
kind: EdgeContainerNodePool
metadata:
  name: nodepool-sample
spec:
  projectRef:
    # Replace ${PROJECT_ID?} with your Google Cloud project id
    external: ${PROJECT_ID?}
  location: us-central1
  clusterRef:
    name: edgecontainercluster-remote-control-plane-dep
  # Replace ${NODE_LOCATION?} with the machine zone location
  nodeLocation: ${NODE_LOCATION?}
  nodeCount: 1
---
apiVersion: edgecontainer.cnrm.cloud.google.com/v1beta1
kind: EdgeContainerCluster
metadata:
  name: edgecontainercluster-remote-control-plane-dep
  labels:
    label-one: "value-one"
spec:
  projectRef:
    # Replace ${PROJECT_ID?} with your Google Cloud project id
    external: ${PROJECT_ID?}
  location: us-central1
  networking:
    clusterIpv4CidrBlocks: ["10.0.0.0/16"]
    servicesIpv4CidrBlocks: ["10.1.0.0/16"]
  fleet:
    projectRef:
      # Replace ${PROJECT_NUMBER?} with your Google Cloud project number
      external: projects/${PROJECT_NUMBER?}
  authorization:
    adminUsers:
      usernameRef:
        # Replace ${CLUSTER_ADMIN_ACCOUNT?} with your user account or service account
        external: ${CLUSTER_ADMIN_ACCOUNT?}
  maintenancePolicy:
    window:
      recurringWindow:
        window:
          startTime: "2023-01-01T08:00:00Z"
          endTime: "2023-01-01T17:00:00Z"
        recurrence: "FREQ=WEEKLY;BYDAY=SA"