...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/crds/container_v1beta1_containernodepool.yaml

Documentation: github.com/GoogleCloudPlatform/k8s-config-connector/crds

     1# Copyright 2020 Google LLC
     2#
     3# Licensed under the Apache License, Version 2.0 (the "License");
     4# you may not use this file except in compliance with the License.
     5# You may obtain a copy of the License at
     6#
     7#     http://www.apache.org/licenses/LICENSE-2.0
     8#
     9# Unless required by applicable law or agreed to in writing, software
    10# distributed under the License is distributed on an "AS IS" BASIS,
    11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12# See the License for the specific language governing permissions and
    13# limitations under the License.
    14
    15apiVersion: apiextensions.k8s.io/v1
    16kind: CustomResourceDefinition
    17metadata:
    18  annotations:
    19    cnrm.cloud.google.com/version: 1.106.0
    20  creationTimestamp: null
    21  labels:
    22    cnrm.cloud.google.com/managed-by-kcc: "true"
    23    cnrm.cloud.google.com/stability-level: stable
    24    cnrm.cloud.google.com/system: "true"
    25    cnrm.cloud.google.com/tf2crd: "true"
    26  name: containernodepools.container.cnrm.cloud.google.com
    27spec:
    28  group: container.cnrm.cloud.google.com
    29  names:
    30    categories:
    31    - gcp
    32    kind: ContainerNodePool
    33    plural: containernodepools
    34    shortNames:
    35    - gcpcontainernodepool
    36    - gcpcontainernodepools
    37    singular: containernodepool
    38  scope: Namespaced
    39  versions:
    40  - additionalPrinterColumns:
    41    - jsonPath: .metadata.creationTimestamp
    42      name: Age
    43      type: date
    44    - description: When 'True', the most recent reconcile of the resource succeeded
    45      jsonPath: .status.conditions[?(@.type=='Ready')].status
    46      name: Ready
    47      type: string
    48    - description: The reason for the value in 'Ready'
    49      jsonPath: .status.conditions[?(@.type=='Ready')].reason
    50      name: Status
    51      type: string
    52    - description: The last transition time for the value in 'Status'
    53      jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
    54      name: Status Age
    55      type: date
    56    name: v1beta1
    57    schema:
    58      openAPIV3Schema:
    59        properties:
    60          apiVersion:
    61            description: 'apiVersion defines the versioned schema of this representation
    62              of an object. Servers should convert recognized schemas to the latest
    63              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
    64            type: string
    65          kind:
    66            description: 'kind is a string value representing the REST resource this
    67              object represents. Servers may infer this from the endpoint the client
    68              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
    69            type: string
    70          metadata:
    71            type: object
    72          spec:
    73            properties:
    74              autoscaling:
    75                description: Configuration required by cluster autoscaler to adjust
    76                  the size of the node pool to the current cluster usage. To disable
    77                  autoscaling, set minNodeCount and maxNodeCount to 0.
    78                properties:
    79                  locationPolicy:
    80                    description: Location policy specifies the algorithm used when
    81                      scaling-up the node pool. "BALANCED" - Is a best effort policy
    82                      that aims to balance the sizes of available zones. "ANY" - Instructs
    83                      the cluster autoscaler to prioritize utilization of unused reservations,
    84                      and reduces preemption risk for Spot VMs.
    85                    type: string
    86                  maxNodeCount:
    87                    description: Maximum number of nodes per zone in the node pool.
    88                      Must be >= min_node_count. Cannot be used with total limits.
    89                    type: integer
    90                  minNodeCount:
    91                    description: Minimum number of nodes per zone in the node pool.
    92                      Must be >=0 and <= max_node_count. Cannot be used with total
    93                      limits.
    94                    type: integer
    95                  totalMaxNodeCount:
    96                    description: Maximum number of all nodes in the node pool. Must
    97                      be >= total_min_node_count. Cannot be used with per zone limits.
    98                    type: integer
    99                  totalMinNodeCount:
   100                    description: Minimum number of all nodes in the node pool. Must
   101                      be >=0 and <= total_max_node_count. Cannot be used with per
   102                      zone limits.
   103                    type: integer
   104                type: object
   105              clusterRef:
   106                oneOf:
   107                - not:
   108                    required:
   109                    - external
   110                  required:
   111                  - name
   112                - not:
   113                    anyOf:
   114                    - required:
   115                      - name
   116                    - required:
   117                      - namespace
   118                  required:
   119                  - external
   120                properties:
   121                  external:
   122                    description: 'Allowed value: The `name` field of a `ContainerCluster`
   123                      resource.'
   124                    type: string
   125                  name:
   126                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   127                    type: string
   128                  namespace:
   129                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   130                    type: string
   131                type: object
   132              initialNodeCount:
   133                description: Immutable. The initial number of nodes for the pool.
   134                  In regional or multi-zonal clusters, this is the number of nodes
   135                  per zone. Changing this will force recreation of the resource.
   136                type: integer
   137              location:
   138                description: Immutable. The location (region or zone) of the cluster.
   139                type: string
   140              management:
   141                description: Node management configuration, wherein auto-repair and
   142                  auto-upgrade is configured.
   143                properties:
   144                  autoRepair:
   145                    description: Whether the nodes will be automatically repaired.
   146                    type: boolean
   147                  autoUpgrade:
   148                    description: Whether the nodes will be automatically upgraded.
   149                    type: boolean
   150                type: object
   151              maxPodsPerNode:
   152                description: Immutable. The maximum number of pods per node in this
   153                  node pool. Note that this does not work on node pools which are
   154                  "route-based" - that is, node pools belonging to clusters that do
   155                  not have IP Aliasing enabled.
   156                type: integer
   157              namePrefix:
   158                description: Immutable. Creates a unique name for the node pool beginning
   159                  with the specified prefix. Conflicts with name.
   160                type: string
   161              networkConfig:
   162                description: Networking configuration for this NodePool. If specified,
   163                  it overrides the cluster-level defaults.
   164                properties:
   165                  createPodRange:
   166                    description: Immutable. Whether to create a new range for pod
   167                      IPs in this node pool. Defaults are provided for pod_range and
   168                      pod_ipv4_cidr_block if they are not specified.
   169                    type: boolean
   170                  enablePrivateNodes:
   171                    description: Whether nodes have internal IP addresses only.
   172                    type: boolean
   173                  podCidrOverprovisionConfig:
   174                    description: Immutable. Configuration for node-pool level pod
   175                      cidr overprovision. If not set, the cluster level setting will
   176                      be inherited.
   177                    properties:
   178                      disabled:
   179                        type: boolean
   180                    required:
   181                    - disabled
   182                    type: object
   183                  podIpv4CidrBlock:
   184                    description: Immutable. The IP address range for pod IPs in this
   185                      node pool. Only applicable if create_pod_range is true. Set
   186                      to blank to have a range chosen with the default size. Set to
   187                      /netmask (e.g. /14) to have a range chosen with a specific netmask.
   188                      Set to a CIDR notation (e.g. 10.96.0.0/14) to pick a specific
   189                      range to use.
   190                    type: string
   191                  podRange:
   192                    description: Immutable. The ID of the secondary range for pod
   193                      IPs. If create_pod_range is true, this ID is used for the new
   194                      range. If create_pod_range is false, uses an existing secondary
   195                      range with this ID.
   196                    type: string
   197                type: object
   198              nodeConfig:
   199                description: Immutable. The configuration of the nodepool.
   200                properties:
   201                  advancedMachineFeatures:
   202                    description: Immutable. Specifies options for controlling advanced
   203                      machine features.
   204                    properties:
   205                      threadsPerCore:
   206                        description: Immutable. The number of threads per physical
   207                          core. To disable simultaneous multithreading (SMT) set this
   208                          to 1. If unset, the maximum number of threads supported
   209                          per core by the underlying processor is assumed.
   210                        type: integer
   211                    required:
   212                    - threadsPerCore
   213                    type: object
   214                  bootDiskKMSCryptoKeyRef:
   215                    oneOf:
   216                    - not:
   217                        required:
   218                        - external
   219                      required:
   220                      - name
   221                    - not:
   222                        anyOf:
   223                        - required:
   224                          - name
   225                        - required:
   226                          - namespace
   227                      required:
   228                      - external
   229                    properties:
   230                      external:
   231                        description: 'Allowed value: The `selfLink` field of a `KMSCryptoKey`
   232                          resource.'
   233                        type: string
   234                      name:
   235                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   236                        type: string
   237                      namespace:
   238                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   239                        type: string
   240                    type: object
   241                  diskSizeGb:
   242                    description: Immutable. Size of the disk attached to each node,
   243                      specified in GB. The smallest allowed disk size is 10GB.
   244                    type: integer
   245                  diskType:
   246                    description: Immutable. Type of the disk attached to each node.
   247                      Such as pd-standard, pd-balanced or pd-ssd.
   248                    type: string
   249                  ephemeralStorageConfig:
   250                    description: Immutable. Parameters for the ephemeral storage filesystem.
   251                      If unspecified, ephemeral storage is backed by the boot disk.
   252                    properties:
   253                      localSsdCount:
   254                        description: Immutable. Number of local SSDs to use to back
   255                          ephemeral storage. Uses NVMe interfaces. Each local SSD
   256                          must be 375 or 3000 GB in size, and all local SSDs must
   257                          share the same size.
   258                        type: integer
   259                    required:
   260                    - localSsdCount
   261                    type: object
   262                  ephemeralStorageLocalSsdConfig:
   263                    description: Immutable. Parameters for the ephemeral storage filesystem.
   264                      If unspecified, ephemeral storage is backed by the boot disk.
   265                    properties:
   266                      localSsdCount:
   267                        description: Immutable. Number of local SSDs to use to back
   268                          ephemeral storage. Uses NVMe interfaces. Each local SSD
   269                          must be 375 or 3000 GB in size, and all local SSDs must
   270                          share the same size.
   271                        type: integer
   272                    required:
   273                    - localSsdCount
   274                    type: object
   275                  gcfsConfig:
   276                    description: Immutable. GCFS configuration for this node.
   277                    properties:
   278                      enabled:
   279                        description: Immutable. Whether or not GCFS is enabled.
   280                        type: boolean
   281                    required:
   282                    - enabled
   283                    type: object
   284                  guestAccelerator:
   285                    description: Immutable. List of the type and count of accelerator
   286                      cards attached to the instance.
   287                    items:
   288                      properties:
   289                        count:
   290                          description: Immutable. The number of the accelerator cards
   291                            exposed to an instance.
   292                          type: integer
   293                        gpuPartitionSize:
   294                          description: Immutable. Size of partitions to create on
   295                            the GPU. Valid values are described in the NVIDIA mig
   296                            user guide (https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
   297                          type: string
   298                        gpuSharingConfig:
   299                          description: Immutable. Configuration for GPU sharing.
   300                          properties:
   301                            gpuSharingStrategy:
   302                              description: Immutable. The type of GPU sharing strategy
   303                                to enable on the GPU node. Possible values are described
   304                                in the API package (https://pkg.go.dev/google.golang.org/api/container/v1#GPUSharingConfig).
   305                              type: string
   306                            maxSharedClientsPerGpu:
   307                              description: Immutable. The maximum number of containers
   308                                that can share a GPU.
   309                              type: integer
   310                          required:
   311                          - gpuSharingStrategy
   312                          - maxSharedClientsPerGpu
   313                          type: object
   314                        type:
   315                          description: Immutable. The accelerator type resource name.
   316                          type: string
   317                      required:
   318                      - count
   319                      - type
   320                      type: object
   321                    type: array
   322                  gvnic:
   323                    description: Immutable. Enable or disable gvnic in the node pool.
   324                    properties:
   325                      enabled:
   326                        description: Immutable. Whether or not gvnic is enabled.
   327                        type: boolean
   328                    required:
   329                    - enabled
   330                    type: object
   331                  imageType:
   332                    description: The image type to use for this node. Note that for
   333                      a given image type, the latest version of it will be used.
   334                    type: string
   335                  kubeletConfig:
   336                    description: Node kubelet configs.
   337                    properties:
   338                      cpuCfsQuota:
   339                        description: Enable CPU CFS quota enforcement for containers
   340                          that specify CPU limits.
   341                        type: boolean
   342                      cpuCfsQuotaPeriod:
   343                        description: Set the CPU CFS quota period value 'cpu.cfs_period_us'.
   344                        type: string
   345                      cpuManagerPolicy:
   346                        description: Control the CPU management policy on the node.
   347                        type: string
   348                      podPidsLimit:
   349                        description: Controls the maximum number of processes allowed
   350                          to run in a pod.
   351                        type: integer
   352                    required:
   353                    - cpuManagerPolicy
   354                    type: object
   355                  labels:
   356                    additionalProperties:
   357                      type: string
   358                    description: The map of Kubernetes labels (key/value pairs) to
   359                      be applied to each node. These will added in addition to any
   360                      default label(s) that Kubernetes may apply to the node.
   361                    type: object
   362                  linuxNodeConfig:
   363                    description: Parameters that can be configured on Linux nodes.
   364                    properties:
   365                      sysctls:
   366                        additionalProperties:
   367                          type: string
   368                        description: The Linux kernel parameters to be applied to
   369                          the nodes and all pods running on the nodes.
   370                        type: object
   371                    required:
   372                    - sysctls
   373                    type: object
   374                  localNvmeSsdBlockConfig:
   375                    description: Immutable. Parameters for raw-block local NVMe SSDs.
   376                    properties:
   377                      localSsdCount:
   378                        description: Immutable. Number of raw-block local NVMe SSD
   379                          disks to be attached to the node. Each local SSD is 375
   380                          GB in size.
   381                        type: integer
   382                    required:
   383                    - localSsdCount
   384                    type: object
   385                  localSsdCount:
   386                    description: Immutable. The number of local SSD disks to be attached
   387                      to the node.
   388                    type: integer
   389                  loggingVariant:
   390                    description: Type of logging agent that is used as the default
   391                      value for node pools in the cluster. Valid values include DEFAULT
   392                      and MAX_THROUGHPUT.
   393                    type: string
   394                  machineType:
   395                    description: Immutable. The name of a Google Compute Engine machine
   396                      type.
   397                    type: string
   398                  metadata:
   399                    additionalProperties:
   400                      type: string
   401                    description: Immutable. The metadata key/value pairs assigned
   402                      to instances in the cluster.
   403                    type: object
   404                  minCpuPlatform:
   405                    description: Immutable. Minimum CPU platform to be used by this
   406                      instance. The instance may be scheduled on the specified or
   407                      newer CPU platform.
   408                    type: string
   409                  nodeGroupRef:
   410                    description: |-
   411                      Immutable. Setting this field will assign instances
   412                      of this pool to run on the specified node group. This is useful
   413                      for running workloads on sole tenant nodes.
   414                    oneOf:
   415                    - not:
   416                        required:
   417                        - external
   418                      required:
   419                      - name
   420                    - not:
   421                        anyOf:
   422                        - required:
   423                          - name
   424                        - required:
   425                          - namespace
   426                      required:
   427                      - external
   428                    properties:
   429                      external:
   430                        description: 'Allowed value: The `name` field of a `ComputeNodeGroup`
   431                          resource.'
   432                        type: string
   433                      name:
   434                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   435                        type: string
   436                      namespace:
   437                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   438                        type: string
   439                    type: object
   440                  oauthScopes:
   441                    description: Immutable. The set of Google API scopes to be made
   442                      available on all of the node VMs.
   443                    items:
   444                      type: string
   445                    type: array
   446                  preemptible:
   447                    description: Immutable. Whether the nodes are created as preemptible
   448                      VM instances.
   449                    type: boolean
   450                  reservationAffinity:
   451                    description: Immutable. The reservation affinity configuration
   452                      for the node pool.
   453                    properties:
   454                      consumeReservationType:
   455                        description: Immutable. Corresponds to the type of reservation
   456                          consumption.
   457                        type: string
   458                      key:
   459                        description: Immutable. The label key of a reservation resource.
   460                        type: string
   461                      values:
   462                        description: Immutable. The label values of the reservation
   463                          resource.
   464                        items:
   465                          type: string
   466                        type: array
   467                    required:
   468                    - consumeReservationType
   469                    type: object
   470                  resourceLabels:
   471                    additionalProperties:
   472                      type: string
   473                    description: The GCE resource labels (a map of key/value pairs)
   474                      to be applied to the node pool.
   475                    type: object
   476                  sandboxConfig:
   477                    description: Immutable. Sandbox configuration for this node.
   478                    properties:
   479                      sandboxType:
   480                        description: Type of the sandbox to use for the node (e.g.
   481                          'gvisor').
   482                        type: string
   483                    required:
   484                    - sandboxType
   485                    type: object
   486                  serviceAccountRef:
   487                    oneOf:
   488                    - not:
   489                        required:
   490                        - external
   491                      required:
   492                      - name
   493                    - not:
   494                        anyOf:
   495                        - required:
   496                          - name
   497                        - required:
   498                          - namespace
   499                      required:
   500                      - external
   501                    properties:
   502                      external:
   503                        description: 'Allowed value: The `email` field of an `IAMServiceAccount`
   504                          resource.'
   505                        type: string
   506                      name:
   507                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   508                        type: string
   509                      namespace:
   510                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   511                        type: string
   512                    type: object
   513                  shieldedInstanceConfig:
   514                    description: Immutable. Shielded Instance options.
   515                    properties:
   516                      enableIntegrityMonitoring:
   517                        description: Immutable. Defines whether the instance has integrity
   518                          monitoring enabled.
   519                        type: boolean
   520                      enableSecureBoot:
   521                        description: Immutable. Defines whether the instance has Secure
   522                          Boot enabled.
   523                        type: boolean
   524                    type: object
   525                  spot:
   526                    description: Immutable. Whether the nodes are created as spot
   527                      VM instances.
   528                    type: boolean
   529                  tags:
   530                    description: The list of instance tags applied to all nodes.
   531                    items:
   532                      type: string
   533                    type: array
   534                  taint:
   535                    description: Immutable. List of Kubernetes taints to be applied
   536                      to each node.
   537                    items:
   538                      properties:
   539                        effect:
   540                          description: Immutable. Effect for taint.
   541                          type: string
   542                        key:
   543                          description: Immutable. Key for taint.
   544                          type: string
   545                        value:
   546                          description: Immutable. Value for taint.
   547                          type: string
   548                      required:
   549                      - effect
   550                      - key
   551                      - value
   552                      type: object
   553                    type: array
   554                  workloadMetadataConfig:
   555                    description: The workload metadata configuration for this node.
   556                    properties:
   557                      mode:
   558                        description: Mode is the configuration for how to expose metadata
   559                          to workloads running on the node.
   560                        type: string
   561                      nodeMetadata:
   562                        description: DEPRECATED. Deprecated in favor of mode. NodeMetadata
   563                          is the configuration for how to expose metadata to the workloads
   564                          running on the node.
   565                        type: string
   566                    type: object
   567                type: object
   568              nodeCount:
   569                description: The number of nodes per instance group. This field can
   570                  be used to update the number of nodes per instance group but should
   571                  not be used alongside autoscaling.
   572                type: integer
   573              nodeLocations:
   574                description: The list of zones in which the node pool's nodes should
   575                  be located. Nodes must be in the region of their regional cluster
   576                  or in the same region as their cluster's zone for zonal clusters.
   577                  If unspecified, the cluster-level node_locations will be used.
   578                items:
   579                  type: string
   580                type: array
   581              placementPolicy:
   582                description: Immutable. Specifies the node placement policy.
   583                properties:
   584                  type:
   585                    description: Type defines the type of placement policy.
   586                    type: string
   587                required:
   588                - type
   589                type: object
   590              resourceID:
   591                description: Immutable. Optional. The name of the resource. Used for
   592                  creation and acquisition. When unset, the value of `metadata.name`
   593                  is used as the default.
   594                type: string
   595              upgradeSettings:
   596                description: Specify node upgrade settings to change how many nodes
   597                  GKE attempts to upgrade at once. The number of nodes upgraded simultaneously
   598                  is the sum of max_surge and max_unavailable. The maximum number
   599                  of nodes upgraded simultaneously is limited to 20.
   600                properties:
   601                  blueGreenSettings:
   602                    description: Settings for BlueGreen node pool upgrade.
   603                    properties:
   604                      nodePoolSoakDuration:
   605                        description: Time needed after draining entire blue pool.
   606                          After this period, blue pool will be cleaned up.
   607                        type: string
   608                      standardRolloutPolicy:
   609                        description: Standard rollout policy is the default policy
   610                          for blue-green.
   611                        properties:
   612                          batchNodeCount:
   613                            description: Number of blue nodes to drain in a batch.
   614                            type: integer
   615                          batchPercentage:
   616                            description: Percentage of the blue pool nodes to drain
   617                              in a batch.
   618                            type: number
   619                          batchSoakDuration:
   620                            description: Soak time after each batch gets drained.
   621                            type: string
   622                        type: object
   623                    required:
   624                    - standardRolloutPolicy
   625                    type: object
   626                  maxSurge:
   627                    description: The number of additional nodes that can be added
   628                      to the node pool during an upgrade. Increasing max_surge raises
   629                      the number of nodes that can be upgraded simultaneously. Can
   630                      be set to 0 or greater.
   631                    type: integer
   632                  maxUnavailable:
   633                    description: The number of nodes that can be simultaneously unavailable
   634                      during an upgrade. Increasing max_unavailable raises the number
   635                      of nodes that can be upgraded in parallel. Can be set to 0 or
   636                      greater.
   637                    type: integer
   638                  strategy:
   639                    description: Update strategy for the given nodepool.
   640                    type: string
   641                type: object
   642              version:
   643                type: string
   644            required:
   645            - clusterRef
   646            - location
   647            type: object
   648          status:
   649            properties:
   650              conditions:
   651                description: Conditions represent the latest available observation
   652                  of the resource's current state.
   653                items:
   654                  properties:
   655                    lastTransitionTime:
   656                      description: Last time the condition transitioned from one status
   657                        to another.
   658                      type: string
   659                    message:
   660                      description: Human-readable message indicating details about
   661                        last transition.
   662                      type: string
   663                    reason:
   664                      description: Unique, one-word, CamelCase reason for the condition's
   665                        last transition.
   666                      type: string
   667                    status:
   668                      description: Status is the status of the condition. Can be True,
   669                        False, Unknown.
   670                      type: string
   671                    type:
   672                      description: Type is the type of the condition.
   673                      type: string
   674                  type: object
   675                type: array
   676              instanceGroupUrls:
   677                description: The resource URLs of the managed instance groups associated
   678                  with this node pool.
   679                items:
   680                  type: string
   681                type: array
   682              managedInstanceGroupUrls:
   683                description: List of instance group URLs which have been assigned
   684                  to this node pool.
   685                items:
   686                  type: string
   687                type: array
   688              observedGeneration:
   689                description: ObservedGeneration is the generation of the resource
   690                  that was most recently observed by the Config Connector controller.
   691                  If this is equal to metadata.generation, then that means that the
   692                  current reported status reflects the most recent desired state of
   693                  the resource.
   694                type: integer
   695              operation:
   696                type: string
   697            type: object
   698        required:
   699        - spec
   700        type: object
   701    served: true
   702    storage: true
   703    subresources:
   704      status: {}
   705status:
   706  acceptedNames:
   707    kind: ""
   708    plural: ""
   709  conditions: []
   710  storedVersions: []

View as plain text