1929 lines
115 KiB
YAML
1929 lines
115 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
name: karmadas.operator.karmada.io
|
|
spec:
|
|
group: operator.karmada.io
|
|
names:
|
|
categories:
|
|
- karmada-io
|
|
kind: Karmada
|
|
listKind: KarmadaList
|
|
plural: karmadas
|
|
singular: karmada
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
name: READY
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: AGE
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Karmada enables declarative installation of karmada.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: Spec defines the desired behavior of the Karmada.
|
|
properties:
|
|
components:
|
|
description: |-
|
|
Components define all of karmada components.
|
|
not all of these components need to be installed.
|
|
properties:
|
|
etcd:
|
|
description: Etcd holds configuration for etcd.
|
|
properties:
|
|
external:
|
|
description: |-
|
|
External describes how to connect to an external etcd cluster
|
|
Local and External are mutually exclusive
|
|
properties:
|
|
caData:
|
|
description: |-
|
|
CAData is an SSL Certificate Authority file used to secure etcd communication.
|
|
Required if using a TLS connection.
|
|
format: byte
|
|
type: string
|
|
certData:
|
|
description: |-
|
|
CertData is an SSL certification file used to secure etcd communication.
|
|
Required if using a TLS connection.
|
|
format: byte
|
|
type: string
|
|
endpoints:
|
|
description: Endpoints of etcd members. Required for ExternalEtcd.
|
|
items:
|
|
type: string
|
|
type: array
|
|
keyData:
|
|
description: |-
|
|
KeyData is an SSL key file used to secure etcd communication.
|
|
Required if using a TLS connection.
|
|
format: byte
|
|
type: string
|
|
required:
|
|
- caData
|
|
- certData
|
|
- endpoints
|
|
- keyData
|
|
type: object
|
|
local:
|
|
description: |-
|
|
Local provides configuration knobs for configuring the built-in etcd instance
|
|
Local and External are mutually exclusive
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
peerCertSANs:
|
|
description: PeerCertSANs sets extra Subject Alternative
|
|
Names for the etcd peer signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry
|
|
in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
serverCertSANs:
|
|
description: ServerCertSANs sets extra Subject Alternative
|
|
Names for the etcd server signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
volumeData:
|
|
description: |-
|
|
VolumeData describes the settings of etcd data store.
|
|
We will support 3 modes: emptyDir, hostPath, PVC. default by hostPath.
|
|
properties:
|
|
emptyDir:
|
|
description: |-
|
|
EmptyDir represents a temporary directory that shares a pod's lifetime.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
properties:
|
|
medium:
|
|
description: |-
|
|
medium represents what type of storage medium should back this directory.
|
|
The default is "" which means to use the node's default medium.
|
|
Must be an empty string (default) or Memory.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
sizeLimit is the total amount of local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory medium.
|
|
The maximum usage on memory medium EmptyDir would be the minimum value between
|
|
the SizeLimit specified here and the sum of memory limits of all containers in a pod.
|
|
The default is nil which means that the limit is undefined.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
hostPath:
|
|
description: |-
|
|
HostPath represents a pre-existing file or directory on the host
|
|
machine that is directly exposed to the container. This is generally
|
|
used for system agents or other privileged things that are allowed
|
|
to see the host machine. Most containers will NOT need this.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
---
|
|
TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
|
|
mount host directories as read/write.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path of the directory on the host.
|
|
If the path is a symlink, it will follow the link to the real path.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type for HostPath Volume
|
|
Defaults to ""
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
volumeClaim:
|
|
description: |-
|
|
The specification for the PersistentVolumeClaim. The entire content is
|
|
copied unchanged into the PVC that gets created from this
|
|
template. The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
May contain labels and annotations that will be copied into the PVC
|
|
when creating it. No other fields are allowed and will be rejected during
|
|
validation.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
The specification for the PersistentVolumeClaim. The entire content is
|
|
copied unchanged into the PVC that gets created from this
|
|
template. The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource
|
|
being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource
|
|
being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource
|
|
being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource
|
|
being referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over
|
|
volumes to consider for binding.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list
|
|
of label selector requirements. The
|
|
requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key
|
|
that the selector applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
values is an array of string values. If the operator is In or NotIn,
|
|
the values array must be non-empty. If the operator is Exists or DoesNotExist,
|
|
the values array must be empty. This array is replaced during a strategic
|
|
merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
|
map is equivalent to an element of matchExpressions, whose key field is "key", the
|
|
operator is "In", and the values array contains only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference
|
|
to the PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaAPIServer:
|
|
description: |-
|
|
KarmadaAPIServer holds settings to kube-apiserver component. Currently, kube-apiserver
|
|
is used as the apiserver of karmada. we had the same experience as k8s apiserver.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
certSANs:
|
|
description: CertSANs sets extra Subject Alternative Names
|
|
for the API Server signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the kube-apiserver component or
|
|
override. A key in this map is the flag name as it appears on the command line except
|
|
without leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the
|
|
kube-apiserver component. In the future, we will provide a more structured way
|
|
to configure the component. Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
|
|
for details.
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: |-
|
|
FeatureGates enabled by the user.
|
|
More info: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
serviceAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ServiceAnnotations is an extra set of annotations for service of karmada apiserver.
|
|
more info: https://github.com/karmada-io/karmada/issues/4634
|
|
type: object
|
|
serviceSubnet:
|
|
description: ServiceSubnet is the subnet used by k8s services.
|
|
Defaults to "10.96.0.0/12".
|
|
type: string
|
|
serviceType:
|
|
description: |-
|
|
ServiceType represents the service type of karmada apiserver.
|
|
it is ClusterIP by default.
|
|
type: string
|
|
type: object
|
|
karmadaAggregatedAPIServer:
|
|
description: KarmadaAggregatedAPIServer holds settings to karmada-aggregated-apiserver
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
certSANs:
|
|
description: CertSANs sets extra Subject Alternative Names
|
|
for the API Server signing cert.
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the karmada-aggregated-apiserver component or
|
|
override. A key in this map is the flag name as it appears on the command line except
|
|
without leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the
|
|
karmada-aggregated-apiserver component. In the future, we will provide a more structured way
|
|
to configure the component. Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://karmada.io/docs/reference/components/karmada-aggregated-apiserver
|
|
for details.
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: |-
|
|
FeatureGates enabled by the user.
|
|
- CustomizedClusterResourceModeling: https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaControllerManager:
|
|
description: KarmadaControllerManager holds settings to karmada-controller-manager
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
controllers:
|
|
description: |-
|
|
A list of controllers to enable. '*' enables all on-by-default controllers,
|
|
'foo' enables the controller named 'foo', '-foo' disables the controller named
|
|
'foo'.
|
|
|
|
|
|
All controllers: binding, cluster, clusterStatus, endpointSlice, execution,
|
|
federatedResourceQuotaStatus, federatedResourceQuotaSync, hpa, namespace,
|
|
serviceExport, serviceImport, unifiedAuth, workStatus.
|
|
Disabled-by-default controllers: hpa (default [*])
|
|
Actual Supported controllers depend on the version of Karmada. See
|
|
https://karmada.io/docs/administrator/configuration/configure-controllers#configure-karmada-controllers
|
|
for details.
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the karmada-controller-manager component or
|
|
override. A key in this map is the flag name as it appears on the command line except
|
|
without leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the
|
|
karmada-controller-manager component. In the future, we will provide a more structured way
|
|
to configure the component. Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://karmada.io/docs/reference/components/karmada-controller-manager
|
|
for details.
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: |-
|
|
FeatureGates enabled by the user.
|
|
- Failover: https://karmada.io/docs/userguide/failover/#failover
|
|
- GracefulEviction: https://karmada.io/docs/userguide/failover/#graceful-eviction-feature
|
|
- PropagateDeps: https://karmada.io/docs/userguide/scheduling/propagate-dependencies
|
|
- CustomizedClusterResourceModeling: https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaDescheduler:
|
|
description: KarmadaDescheduler holds settings to karmada-descheduler
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the karmada-descheduler component or override.
|
|
A key in this map is the flag name as it appears on the command line except without
|
|
leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the karmada-descheduler
|
|
component. In the future, we will provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://karmada.io/docs/reference/components/karmada-descheduler
|
|
for details.
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaMetricsAdapter:
|
|
description: KarmadaMetricsAdapter holds settings to karmada metrics
|
|
adapter component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the karmada-metrics-adapter component or override.
|
|
A key in this map is the flag name as it appears on the command line except without
|
|
leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the karmada-metrics-adapter
|
|
component. In the future, we will provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://karmada.io/docs/reference/components/karmada-metrics-adapter
|
|
for details.
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaScheduler:
|
|
description: KarmadaScheduler holds settings to karmada-scheduler
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the karmada-scheduler component or override.
|
|
A key in this map is the flag name as it appears on the command line except without
|
|
leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the karmada-scheduler
|
|
component. In the future, we will provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://karmada.io/docs/reference/components/karmada-scheduler
|
|
for details.
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: |-
|
|
FeatureGates enabled by the user.
|
|
- CustomizedClusterResourceModeling: https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaSearch:
|
|
description: KarmadaSearch holds settings to karmada search component
|
|
of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the karmada-search component or override.
|
|
A key in this map is the flag name as it appears on the command line except without
|
|
leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the karmada-search
|
|
component. In the future, we will provide a more structured way to configure the component.
|
|
Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://karmada.io/docs/reference/components/karmada-search
|
|
for details.
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
karmadaWebhook:
|
|
description: KarmadaWebhook holds settings to karmada-webhook
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the karmada-webhook component or
|
|
override. A key in this map is the flag name as it appears on the command line except
|
|
without leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the
|
|
karmada-webhook component. In the future, we will provide a more structured way
|
|
to configure the component. Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://karmada.io/docs/reference/components/karmada-webhook
|
|
for details.
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
kubeControllerManager:
|
|
description: KubeControllerManager holds settings to kube-controller-manager
|
|
component of the karmada.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Annotations is an unstructured key value map stored with a resource that may be
|
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
|
queryable and should be preserved when modifying objects.
|
|
More info: http://kubernetes.io/docs/user-guide/annotations
|
|
type: object
|
|
controllers:
|
|
description: |-
|
|
A list of controllers to enable. '*' enables all on-by-default controllers,
|
|
'foo' enables the controller named 'foo', '-foo' disables the controller named
|
|
'foo'.
|
|
|
|
|
|
All controllers: attachdetach, bootstrapsigner, cloud-node-lifecycle,
|
|
clusterrole-aggregation, cronjob, csrapproving, csrcleaner, csrsigning,
|
|
daemonset, deployment, disruption, endpoint, endpointslice,
|
|
endpointslicemirroring, ephemeral-volume, garbagecollector,
|
|
horizontalpodautoscaling, job, namespace, nodeipam, nodelifecycle,
|
|
persistentvolume-binder, persistentvolume-expander, podgc, pv-protection,
|
|
pvc-protection, replicaset, replicationcontroller, resourcequota,
|
|
root-ca-cert-publisher, route, service, serviceaccount, serviceaccount-token,
|
|
statefulset, tokencleaner, ttl, ttl-after-finished
|
|
Disabled-by-default controllers: bootstrapsigner, tokencleaner (default [*])
|
|
Actual Supported controllers depend on the version of Kubernetes. See
|
|
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
|
|
for details.
|
|
|
|
|
|
However, Karmada uses Kubernetes Native API definitions for federated resource template,
|
|
so it doesn't need enable some resource related controllers like daemonset, deployment etc.
|
|
On the other hand, Karmada leverages the capabilities of the Kubernetes controller to
|
|
manage the lifecycle of the federated resource, so it needs to enable some controllers.
|
|
For example, the `namespace` controller is used to manage the lifecycle of the namespace
|
|
and the `garbagecollector` controller handles automatic clean-up of redundant items in
|
|
your karmada.
|
|
|
|
|
|
According to the user feedback and karmada requirements, the following controllers are
|
|
enabled by default: namespace, garbagecollector, serviceaccount-token, ttl-after-finished,
|
|
bootstrapsigner,csrapproving,csrcleaner,csrsigning. See
|
|
https://karmada.io/docs/administrator/configuration/configure-controllers#kubernetes-controllers
|
|
|
|
|
|
Others are disabled by default. If you want to enable or disable other controllers, you
|
|
have to explicitly specify all the controllers that kube-controller-manager should enable
|
|
at startup phase.
|
|
items:
|
|
type: string
|
|
type: array
|
|
extraArgs:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
ExtraArgs is an extra set of flags to pass to the kube-controller-manager component or
|
|
override. A key in this map is the flag name as it appears on the command line except
|
|
without leading dash(es).
|
|
|
|
|
|
Note: This is a temporary solution to allow for the configuration of the
|
|
kube-controller-manager component. In the future, we will provide a more structured way
|
|
to configure the component. Once that is done, this field will be discouraged to be used.
|
|
Incorrect settings on this field maybe lead to the corresponding component in an unhealthy
|
|
state. Before you do it, please confirm that you understand the risks of this configuration.
|
|
|
|
|
|
For supported flags, please see
|
|
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
|
|
for details.
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: |-
|
|
FeatureGates enabled by the user.
|
|
More info: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
|
|
type: object
|
|
imagePullPolicy:
|
|
description: |-
|
|
ImagePullPolicy defines the policy for pulling the container image.
|
|
If not specified, it defaults to IfNotPresent.
|
|
type: string
|
|
imageRepository:
|
|
description: |-
|
|
ImageRepository sets the container registry to pull images from.
|
|
if not set, the ImageRepository defined in KarmadaSpec will be used instead.
|
|
type: string
|
|
imageTag:
|
|
description: |-
|
|
ImageTag allows to specify a tag for the image.
|
|
In case this value is set, operator does not change automatically the version
|
|
of the above components during upgrades.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Map of string keys and values that can be used to organize and categorize
|
|
(scope and select) objects. May match selectors of replication controllers
|
|
and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Number of desired pods. This is a pointer to distinguish between explicit
|
|
zero and not specified. Defaults to 1.
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this component.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
crdTarball:
|
|
description: |-
|
|
CRDTarball specifies the source from which the Karmada CRD tarball should be downloaded, along with the download policy to use.
|
|
If not set, the operator will download the tarball from a GitHub release.
|
|
By default, it will download the tarball of the same version as the operator itself.
|
|
For instance, if the operator's version is v1.10.0, the tarball will be downloaded from the following location:
|
|
https://github.com/karmada-io/karmada/releases/download/v1.10.0/crds.tar.gz
|
|
By default, the operator will only attempt to download the tarball if it's not yet present in the local cache.
|
|
properties:
|
|
crdDownloadPolicy:
|
|
default: IfNotPresent
|
|
description: |-
|
|
CRDDownloadPolicy specifies a policy that should be used to download the CRD tarball.
|
|
Valid values are "Always" and "IfNotPresent".
|
|
Defaults to "IfNotPresent".
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
type: string
|
|
httpSource:
|
|
description: HTTPSource specifies how to download the CRD tarball
|
|
via either HTTP or HTTPS protocol.
|
|
properties:
|
|
url:
|
|
description: URL specifies the URL of the CRD tarball resource.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
featureGates:
|
|
additionalProperties:
|
|
type: boolean
|
|
description: |-
|
|
FeatureGates enabled by the user.
|
|
- Failover: https://karmada.io/docs/userguide/failover/#failover
|
|
- GracefulEviction: https://karmada.io/docs/userguide/failover/#graceful-eviction-feature
|
|
- PropagateDeps: https://karmada.io/docs/userguide/scheduling/propagate-dependencies
|
|
- CustomizedClusterResourceModeling: https://karmada.io/docs/userguide/scheduling/cluster-resources#start-to-use-cluster-resource-models
|
|
More info: https://github.com/karmada-io/karmada/blob/master/pkg/features/features.go
|
|
type: object
|
|
hostCluster:
|
|
description: |-
|
|
HostCluster represents the cluster where to install the Karmada control plane.
|
|
If not set, the control plane will be installed on the cluster where
|
|
running the operator.
|
|
properties:
|
|
apiEndpoint:
|
|
description: |-
|
|
APIEndpoint is the API endpoint of the cluster where deploy Karmada
|
|
control plane on.
|
|
This can be a hostname, hostname:port, IP or IP:port.
|
|
type: string
|
|
networking:
|
|
description: Networking holds configuration for the networking
|
|
topology of the cluster.
|
|
properties:
|
|
dnsDomain:
|
|
description: DNSDomain is the dns domain used by k8s services.
|
|
Defaults to "cluster.local".
|
|
type: string
|
|
type: object
|
|
secretRef:
|
|
description: |-
|
|
SecretRef represents the secret contains mandatory credentials to
|
|
access the cluster.
|
|
The secret should hold credentials as follows:
|
|
- secret.data.token
|
|
- secret.data.caBundle
|
|
properties:
|
|
name:
|
|
description: Name is the name of resource being referenced.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is the namespace for the resource being
|
|
referenced.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
privateRegistry:
|
|
description: |-
|
|
PrivateRegistry is the global image registry.
|
|
If set, the operator will pull all required images from it, no matter
|
|
the image is maintained by Karmada or Kubernetes.
|
|
It will be useful for offline installation to specify an accessible registry.
|
|
properties:
|
|
registry:
|
|
description: |-
|
|
Registry is the image registry hostname, like:
|
|
- docker.io
|
|
- fictional.registry.example
|
|
type: string
|
|
required:
|
|
- registry
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: Most recently observed status of the Karmada.
|
|
properties:
|
|
conditions:
|
|
description: Conditions represents the latest available observations
|
|
of a karmada's current state.
|
|
items:
|
|
description: "Condition contains details for one aspect of the current
|
|
state of this API Resource.\n---\nThis struct is intended for
|
|
direct use as an array at the field path .status.conditions. For
|
|
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
|
|
observations of a foo's current state.\n\t // Known .status.conditions.type
|
|
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
|
|
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
|
|
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
|
|
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
|
|
\ // other fields\n\t}"
|
|
properties:
|
|
lastTransitionTime:
|
|
description: |-
|
|
lastTransitionTime is the last time the condition transitioned from one status to another.
|
|
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: |-
|
|
message is a human readable message indicating details about the transition.
|
|
This may be an empty string.
|
|
maxLength: 32768
|
|
type: string
|
|
observedGeneration:
|
|
description: |-
|
|
observedGeneration represents the .metadata.generation that the condition was set based upon.
|
|
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
|
|
with respect to the current state of the instance.
|
|
format: int64
|
|
minimum: 0
|
|
type: integer
|
|
reason:
|
|
description: |-
|
|
reason contains a programmatic identifier indicating the reason for the condition's last transition.
|
|
Producers of specific condition types may define expected values and meanings for this field,
|
|
and whether the values are considered a guaranteed API.
|
|
The value should be a CamelCase string.
|
|
This field may not be empty.
|
|
maxLength: 1024
|
|
minLength: 1
|
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
|
type: string
|
|
status:
|
|
description: status of the condition, one of True, False, Unknown.
|
|
enum:
|
|
- "True"
|
|
- "False"
|
|
- Unknown
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type of condition in CamelCase or in foo.example.com/CamelCase.
|
|
---
|
|
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
|
|
useful (see .node.status.conditions), the ability to deconflict is important.
|
|
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
|
maxLength: 316
|
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- message
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
karmadaVersion:
|
|
description: KarmadaVersion represent the karmada version.
|
|
type: string
|
|
kubernetesVersion:
|
|
description: KubernetesVersion represent the karmada-apiserver version.
|
|
type: string
|
|
observedGeneration:
|
|
description: ObservedGeneration is the last observed generation.
|
|
format: int64
|
|
type: integer
|
|
secretRef:
|
|
description: after the karmada installed, restore the kubeconfig to
|
|
secret.
|
|
properties:
|
|
name:
|
|
description: Name is the name of resource being referenced.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is the namespace for the resource being
|
|
referenced.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|