Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package,register Package v1 is the v1 version of the API. +groupName=disaggregated.cluster.doris.com
Package v1 contains API Schema definitions for the doris v1 API group +kubebuilder:object:generate=true +groupName=disaggregated.cluster.doris.com
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AdminUser
- type AvailableStatus
- type ClusterHealth
- type CommonSpec
- type ComputeGroup
- type ComputeGroupStatus
- type ConfigMap
- type DisaggregatedComponentType
- type DorisDisaggregatedCluster
- func (in *DorisDisaggregatedCluster) DeepCopy() *DorisDisaggregatedCluster
- func (in *DorisDisaggregatedCluster) DeepCopyInto(out *DorisDisaggregatedCluster)
- func (in *DorisDisaggregatedCluster) DeepCopyObject() runtime.Object
- func (ddc *DorisDisaggregatedCluster) Default(ctx context.Context, obj runtime.Object) error
- func (ddc *DorisDisaggregatedCluster) GetCGName(cg *ComputeGroup) string
- func (ddc *DorisDisaggregatedCluster) GetCGServiceName(cg *ComputeGroup) string
- func (ddc *DorisDisaggregatedCluster) GetCGStatefulsetName(cg *ComputeGroup) string
- func (ddc *DorisDisaggregatedCluster) GetElectionNumber() int32
- func (ddc *DorisDisaggregatedCluster) GetFEInternalServiceName() string
- func (ddc *DorisDisaggregatedCluster) GetFEServiceName() string
- func (ddc *DorisDisaggregatedCluster) GetFEStatefulsetName() string
- func (ddc *DorisDisaggregatedCluster) GetFEVIPAddresss() string
- func (ddc *DorisDisaggregatedCluster) GetInstanceHashId() int64
- func (ddc *DorisDisaggregatedCluster) GetMSServiceName() string
- func (ddc *DorisDisaggregatedCluster) GetMSStatefulsetName() string
- func (ddc *DorisDisaggregatedCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (ddc *DorisDisaggregatedCluster) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (ddc *DorisDisaggregatedCluster) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (ddc *DorisDisaggregatedCluster) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type DorisDisaggregatedClusterList
- type DorisDisaggregatedClusterSpec
- type DorisDisaggregatedClusterStatus
- type ExportService
- type FDB
- type FEStatus
- type FeSpec
- type Health
- type KerberosInfo
- type MetaService
- type MetaServiceStatus
- type NamespaceName
- type PVCProvisioner
- type PersistentVolume
- type Phase
- type PortMap
- type Secret
- type ServiceRole
- type SystemInitialization
Constants ¶
const ( DorisDisaggregatedClusterName string = "app.doris.disaggregated.cluster" //OwnerReference list ownerReferences this object DorisDisaggregatedOwnerReference string = "app.doris.disaggregated.ownerreference/name" DorisDisaggregatedComputeGroupUniqueId string = "app.doris.disaggregated.cg-uniqueid" DorisDisaggregatedPodType string = "app.doris.disaggregated.type" DisaggregatedSpecHashValueAnnotation string = "doris.disaggregated.cluster/hash" ServiceRoleForCluster string = "app.doris.service/role" //annnotate on statefulset, represent which generation of DorisDisaggregatedCluster update the statefulset. UpdateStatefulsetGeneration string = "doris.disaggregated.cluster/generation" //use uniqueId as indifier of which statefulset updated. value is the ddc updateVersion UpdateStatefulsetName = "doris.disaggregated.cluster/%s" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "disaggregated.cluster.doris.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( DefaultMetaserviceNumber int32 = 2 DefaultFeReplicaNumber int32 = 2 DefaultDisFeElectionNumber int32 = 1 )
var SchemeGroupVersion = GroupVersion
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AdminUser ¶
type AdminUser struct {
//the user name for admin service's node.
Name string `json:"name,omitempty"`
//password, login to doris db.
Password string `json:"password,omitempty"`
}
AdminUser describe administrator for manage components in specified cluster.
func (*AdminUser) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminUser.
func (*AdminUser) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AvailableStatus ¶
type AvailableStatus string
const ( //Available represents the service is available. Available AvailableStatus = "Available" //UnAvailable represents the service not available for using. UnAvailable AvailableStatus = "UnAvailable" )
type ClusterHealth ¶
type ClusterHealth struct {
//represents the cluster overall status.
Health Health `json:"health,omitempty"`
//represents the fe available or not.
FeAvailable bool `json:"feAvailable,omitempty"`
//the number of compute group.
CGCount int32 `json:"cgCount,omitempty"`
//the available numbers of compute group.
CGAvailableCount int32 `json:"cgAvailableCount,omitempty"`
//the full available numbers of compute group, represents all pod in compute group are ready.
CGFullAvailableCount int32 `json:"cgFullAvailableCount,omitempty"`
}
func (*ClusterHealth) DeepCopy ¶
func (in *ClusterHealth) DeepCopy() *ClusterHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterHealth.
func (*ClusterHealth) DeepCopyInto ¶
func (in *ClusterHealth) DeepCopyInto(out *ClusterHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonSpec ¶
type CommonSpec struct {
//Replicas represent the number of desired Pod.
// fe default is 2. fe is master-slave architecture only one is master.
Replicas *int32 `json:"replicas,omitempty"`
//Image is the Disaggregated docker image to deploy. please reference the selectdb repository to find.
Image string `json:"image,omitempty"`
// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
// If specified, these secrets will be passed to individual puller implementations for them to use.
// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// pod start timeout, unit is second
StartTimeout int32 `json:"startTimeout,omitempty"`
//Number of seconds after which the probe times out. Defaults to 180 second.
LiveTimeout int32 `json:"liveTimeout,omitempty"`
//defines the specification of resource cpu and mem. ep: {"requests":{"cpu": 4, "memory": "8Gi"},"limits":{"cpu":4,"memory":"8Gi"}}
corev1.ResourceRequirements `json:",inline"`
//Labels for organize and categorize objects
Labels map[string]string `json:"labels,omitempty"`
//Annotations is an unstructured key value map stored with a resource that may be
// set by external tools to store and retrieve arbitrary metadata.
Annotations map[string]string `json:"annotations,omitempty"`
//+optional
// Affinity is a group of affinity scheduling rules.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// VolumeClaimTemplate allows customizing the persistent volume claim for the pod.
//+deprecated please use persistentVolumes
PersistentVolume *PersistentVolume `json:"persistentVolume,omitempty"`
//if config true, the log will mount a pvc to store logs. the pvc size is definitely 200Gi, as the log recycling system will regular recycling.
LogNotStore bool `json:"logNotStore,omitempty"`
//volume template for mountPath
PersistentVolumes []PersistentVolume `json:"persistentVolumes,omitempty"`
// (Optional) Tolerations for scheduling pods onto some dedicated nodes
//+optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// export service for accessing from outside k8s.
Service *ExportService `json:"service,omitempty"`
// ConfigMaps describe all configmap that need to be mounted.
ConfigMaps []ConfigMap `json:"configMaps,omitempty"`
// specify what's node to deploy compute group pod.
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
//serviceAccount for compute node access cloud service.
ServiceAccount string `json:"serviceAccount,omitempty"`
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
// file if specified. This is only valid for non-hostNetwork pods.
// +optional
HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"`
//Security context for pod.
//+optional
SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`
//Security context for all containers running in the pod (unless they override it).
//+optional
ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"` //+optional
//EnvVars is a slice of environment variables that are added to the pods, the default is empty.
EnvVars []corev1.EnvVar `json:"envVars,omitempty"`
//SystemInitialization for fe, be setting system parameters.
SystemInitialization *SystemInitialization `json:"systemInitialization,omitempty"`
// Multi Secret for pod.
// +optional
Secrets []Secret `json:"secrets,omitempty"`
}
func (*CommonSpec) DeepCopy ¶
func (in *CommonSpec) DeepCopy() *CommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonSpec.
func (*CommonSpec) DeepCopyInto ¶
func (in *CommonSpec) DeepCopyInto(out *CommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeGroup ¶
type ComputeGroup struct {
//the unique identifier of compute group, first register in fe will use UniqueId as compute group name.
UniqueId string `json:"uniqueId"`
// EnableWorkloadGroup is a switch that determines whether the doris cluster enables the workload group.
// Default value is 'false'.
// Enabling it means that the container must be started in privileged mode.
// Please confirm whether the host machine and k8s cluster allow it.
// Doris workloadgroup reference document: https://doris.apache.org/docs/admin-manual/resource-admin/workload-group
EnableWorkloadGroup bool `json:"enableWorkloadGroup,omitempty"`
CommonSpec `json:",inline"`
// SkipDefaultSystemInit is a switch that skips the default initialization and is used to set the default environment configuration required by the doris BE node.
// Default value is 'false'.
// Default System Init means that the container must be started in privileged mode.
// Default System Init configuration is implemented through the initContainers of the pod, so changes to this configuration may be ignored by k8s when it is not the first deployment.
SkipDefaultSystemInit bool `json:"skipDefaultSystemInit,omitempty"`
// AutoResolveLimitCPU indicates whether to automatically set the CPU limit to doris BE config.
// Default value is 'false'. This means that the Doris BE is unaware of the CPU configuration of resources.
// Enabling this configuration means injecting an ENV named BE_CPU_LIMIT with the value requests.cpu into the pod. This configuration will also appear in the 'be.conf' file inside the BE container.
// Changing this configuration will cause a BE rolling restart.
AutoResolveLimitCPU bool `json:"autoResolveLimitCPU,omitempty"`
}
ComputeGroup describe the specification that a group of compute node.
func (*ComputeGroup) DeepCopy ¶
func (in *ComputeGroup) DeepCopy() *ComputeGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeGroup.
func (*ComputeGroup) DeepCopyInto ¶
func (in *ComputeGroup) DeepCopyInto(out *ComputeGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeGroupStatus ¶
type ComputeGroupStatus struct {
//Phase represent the stage of reconciling.
Phase Phase `json:"phase,omitempty"`
// the statefulset of control this compute group pods.
StatefulsetName string `json:"statefulsetName,omitempty"`
// the service that can access the compute group pods.
ServiceName string `json:"serviceName,omitempty"`
//the unique id of compute group in kubernetes, this field is part of compute group statefulset.
UniqueId string `json:"uniqueId,omitempty"`
//the compute group id in doris meta, this response to the backend's tag "compute_group_id";
ComputeGroupId string `json:"computeGroupId,omitempty"`
//AvailableStatus represents the compute group available or not.
AvailableStatus AvailableStatus `json:"availableStatus,omitempty"`
//suspend replicas display the replicas of compute group before resume.
SuspendReplicas int32 `json:"suspendReplicas,omitempty"`
// replicas is the number of Pods created by the StatefulSet controller.
Replicas int32 `json:"replicas,omitempty"`
// Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset.
// +optional
AvailableReplicas int32 `json:"availableReplicas,omitempty"`
}
func (*ComputeGroupStatus) DeepCopy ¶
func (in *ComputeGroupStatus) DeepCopy() *ComputeGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeGroupStatus.
func (*ComputeGroupStatus) DeepCopyInto ¶
func (in *ComputeGroupStatus) DeepCopyInto(out *ComputeGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMap ¶
type ConfigMap struct {
//Name specify the configmap need to be mounted in pod in deployed namespace.
Name string `json:"name,omitempty"`
//display the path of configMap be mounted in pod. the component start conf please mount to /etc/doris, ep: fe-configmap contains 'fe.conf', mountPath must be '/etc/doris'.
// key in configMap's data is file name.
MountPath string `json:"mountPath,omitempty"`
}
func (*ConfigMap) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMap.
func (*ConfigMap) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DisaggregatedComponentType ¶
type DisaggregatedComponentType string
var ( DisaggregatedFE DisaggregatedComponentType = "FE" DisaggregatedBE DisaggregatedComponentType = "BE" DisaggregatedMS DisaggregatedComponentType = "MS" )
type DorisDisaggregatedCluster ¶
type DorisDisaggregatedCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DorisDisaggregatedClusterSpec `json:"spec,omitempty"`
Status DorisDisaggregatedClusterStatus `json:"status,omitempty"`
}
+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=ddc +kubebuilder:printcolumn:name="ClusterHealth",type=string,JSONPath=`.status.clusterHealth.health` +kubebuilder:printcolumn:name="MSPhase",type=string,JSONPath=`.status.metaServiceStatus.phase` +kubebuilder:printcolumn:name="FEPhase",type=string,JSONPath=`.status.feStatus.phase` +kubebuilder:printcolumn:name="CGCount",type=integer,JSONPath=`.status.clusterHealth.cgCount` +kubebuilder:printcolumn:name="CGAvailableCount",type=integer,JSONPath=`.status.clusterHealth.cgAvailableCount` +kubebuilder:printcolumn:name="CGFullAvailableCount",type=integer,JSONPath=`.status.clusterHealth.cgFullAvailableCount` +kubebuilder:storageversion DorisDisaggregatedCluster defined as CRD format, have type, metadata, spec, status, fields.
func (*DorisDisaggregatedCluster) DeepCopy ¶
func (in *DorisDisaggregatedCluster) DeepCopy() *DorisDisaggregatedCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DorisDisaggregatedCluster.
func (*DorisDisaggregatedCluster) DeepCopyInto ¶
func (in *DorisDisaggregatedCluster) DeepCopyInto(out *DorisDisaggregatedCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DorisDisaggregatedCluster) DeepCopyObject ¶
func (in *DorisDisaggregatedCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DorisDisaggregatedCluster) Default ¶
Default implements webhook.Defaulter so a unnamedwatches will be registered for the type
func (*DorisDisaggregatedCluster) GetCGName ¶
func (ddc *DorisDisaggregatedCluster) GetCGName(cg *ComputeGroup) string
the first deployed used computegroup name, when user rename the compute group name by sql command `ALTER SYSTEM RENAME COMPUTE GROUP <old_name> <new_name>`, this function will not right.
func (*DorisDisaggregatedCluster) GetCGServiceName ¶
func (ddc *DorisDisaggregatedCluster) GetCGServiceName(cg *ComputeGroup) string
func (*DorisDisaggregatedCluster) GetCGStatefulsetName ¶
func (ddc *DorisDisaggregatedCluster) GetCGStatefulsetName(cg *ComputeGroup) string
func (*DorisDisaggregatedCluster) GetElectionNumber ¶
func (ddc *DorisDisaggregatedCluster) GetElectionNumber() int32
func (*DorisDisaggregatedCluster) GetFEInternalServiceName ¶
func (ddc *DorisDisaggregatedCluster) GetFEInternalServiceName() string
func (*DorisDisaggregatedCluster) GetFEServiceName ¶
func (ddc *DorisDisaggregatedCluster) GetFEServiceName() string
func (*DorisDisaggregatedCluster) GetFEStatefulsetName ¶
func (ddc *DorisDisaggregatedCluster) GetFEStatefulsetName() string
func (*DorisDisaggregatedCluster) GetFEVIPAddresss ¶
func (ddc *DorisDisaggregatedCluster) GetFEVIPAddresss() string
func (*DorisDisaggregatedCluster) GetInstanceHashId ¶
func (ddc *DorisDisaggregatedCluster) GetInstanceHashId() int64
func (*DorisDisaggregatedCluster) GetMSServiceName ¶
func (ddc *DorisDisaggregatedCluster) GetMSServiceName() string
func (*DorisDisaggregatedCluster) GetMSStatefulsetName ¶
func (ddc *DorisDisaggregatedCluster) GetMSStatefulsetName() string
func (*DorisDisaggregatedCluster) SetupWebhookWithManager ¶
func (ddc *DorisDisaggregatedCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
log is for logging in this package.
func (*DorisDisaggregatedCluster) ValidateCreate ¶
func (ddc *DorisDisaggregatedCluster) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a unnamedwatches will be registered for the type
func (*DorisDisaggregatedCluster) ValidateDelete ¶
func (ddc *DorisDisaggregatedCluster) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a unnamedwatches will be registered for the type
func (*DorisDisaggregatedCluster) ValidateUpdate ¶
func (ddc *DorisDisaggregatedCluster) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a unnamedwatches will be registered for the type
type DorisDisaggregatedClusterList ¶
type DorisDisaggregatedClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DorisDisaggregatedCluster `json:"items"`
}
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object DorisDisaggregatedClusterList contains a list of DorisDisaggregatedCluster
func (*DorisDisaggregatedClusterList) DeepCopy ¶
func (in *DorisDisaggregatedClusterList) DeepCopy() *DorisDisaggregatedClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DorisDisaggregatedClusterList.
func (*DorisDisaggregatedClusterList) DeepCopyInto ¶
func (in *DorisDisaggregatedClusterList) DeepCopyInto(out *DorisDisaggregatedClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DorisDisaggregatedClusterList) DeepCopyObject ¶
func (in *DorisDisaggregatedClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DorisDisaggregatedClusterSpec ¶
type DorisDisaggregatedClusterSpec struct {
//MetaService describe the metaservice that cluster want to storage metadata.
MetaService MetaService `json:"metaService,omitempty"`
//FeSpec describe the fe specification of doris disaggregated cluster.
FeSpec FeSpec `json:"feSpec,omitempty"`
//ComputeGroups describe a list of ComputeGroup, ComputeGroup is a group of compute node to do same thing.
ComputeGroups []ComputeGroup `json:"computeGroups,omitempty"`
// the name of secret that type is `kubernetes.io/basic-auth` and contains keys username, password for management doris node in cluster as fe, be register.
// the password key is `password`. the username defaults to `root` and is omitempty.
AuthSecret string `json:"authSecret,omitempty"`
//administrator for register or drop component from fe cluster. adminUser for all component register and operator drop component.
//+Deprecated, from 1.4.1 please use secret config username and password.
AdminUser *AdminUser `json:"adminUser,omitempty"`
// decommission be or not. default value is false.
// if true, will decommission be node when scale down compute group.
// if false, will drop be node when scale down compute group.
EnableDecommission bool `json:"enableDecommission,omitempty"`
// KerberosInfo contains a series of access key files, Provides access to kerberos.
KerberosInfo *KerberosInfo `json:"kerberosInfo,omitempty"`
}
func (*DorisDisaggregatedClusterSpec) DeepCopy ¶
func (in *DorisDisaggregatedClusterSpec) DeepCopy() *DorisDisaggregatedClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DorisDisaggregatedClusterSpec.
func (*DorisDisaggregatedClusterSpec) DeepCopyInto ¶
func (in *DorisDisaggregatedClusterSpec) DeepCopyInto(out *DorisDisaggregatedClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DorisDisaggregatedClusterStatus ¶
type DorisDisaggregatedClusterStatus struct {
//describe the metaservice status now.
MetaServiceStatus MetaServiceStatus `json:"metaServiceStatus,omitempty"`
//FEStatus describe the fe status.
FEStatus FEStatus `json:"feStatus,omitempty"`
ClusterHealth ClusterHealth `json:"clusterHealth,omitempty"`
//ComputeGroupStatuses reflect a list of computeGroup status.
ComputeGroupStatuses []ComputeGroupStatus `json:"computeGroupStatuses,omitempty"`
//is the most recent generation observed for DorisDisaggregatedCluster
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
func (*DorisDisaggregatedClusterStatus) DeepCopy ¶
func (in *DorisDisaggregatedClusterStatus) DeepCopy() *DorisDisaggregatedClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DorisDisaggregatedClusterStatus.
func (*DorisDisaggregatedClusterStatus) DeepCopyInto ¶
func (in *DorisDisaggregatedClusterStatus) DeepCopyInto(out *DorisDisaggregatedClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExportService ¶
type ExportService struct {
//type of service,the possible value for the service type are : ClusterIP, NodePort, LoadBalancer,ExternalName.
//More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
// +optional
Type corev1.ServiceType `json:"type,omitempty"`
//Annotations for using function on different cloud platform.
Annotations map[string]string `json:"annotations,omitempty"`
//PortMaps specify node port for target port in pod, when the service type=NodePort.
PortMaps []PortMap `json:"portMaps,omitempty"`
}
func (*ExportService) DeepCopy ¶
func (in *ExportService) DeepCopy() *ExportService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExportService.
func (*ExportService) DeepCopyInto ¶
func (in *ExportService) DeepCopyInto(out *ExportService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FDB ¶
type FDB struct {
//if fdb directly deployed in machine, please add fdb access address which generated in 'etc/foundationdb/fdb.cluster' default.
Address string `json:"address,omitempty"`
//if fdb deployed in kubernetes by fdb-kubernetes-operator, please specify the namespace and configmap's name generated by `fdb-kubernetes-operator` in deployed fdbcluster namespace.
ConfigMapNamespaceName NamespaceName `json:"configMapNamespaceName,omitempty"`
}
func (*FDB) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FDB.
func (*FDB) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FEStatus ¶
type FEStatus struct {
//Phase represent the stage of reconciling.
Phase Phase `json:"phase,omitempty"`
//AvailableStatus represents the fe available or not.
AvailableStatus AvailableStatus `json:"availableStatus,omitempty"`
//ClusterId display the clusterId of fe in fe.conf,
//It is the hash value of the concatenated string of namespace and ddcName
ClusterId string `json:"clusterId,omitempty"`
}
func (*FEStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FEStatus.
func (*FEStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeSpec ¶
type FeSpec struct {
//the number of fe in election. electionNumber <= replicas, left as observers. default value=3
ElectionNumber *int32 `json:"electionNumber,omitempty"`
CommonSpec `json:",inline"`
}
func (*FeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeSpec.
func (*FeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KerberosInfo ¶
type KerberosInfo struct {
// Krb5ConfigMap is the name of configmap within 'krb5.conf'
Krb5ConfigMap string `json:"krb5ConfigMap,omitempty"`
// SecretName is the name of sercet within '*.keytab' files,
// refer to the following command to create a Secret :
// 'kubectl create secret generic {secret-name} --from-file=. '
KeytabSecretName string `json:"keytabSecretName,omitempty"`
// KeytabPath is the path where the Secret is finally stored inside the pod. default '/etc/keytab/'.
// It is not recommended to modify it unless necessary.
// This path is the path filled in when configuring "hadoop.kerberos.keytab".
KeytabPath string `json:"keytabPath,omitempty"`
}
func (*KerberosInfo) DeepCopy ¶
func (in *KerberosInfo) DeepCopy() *KerberosInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KerberosInfo.
func (*KerberosInfo) DeepCopyInto ¶
func (in *KerberosInfo) DeepCopyInto(out *KerberosInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetaService ¶
type MetaService struct {
CommonSpec `json:",inline"`
//specify the address of fdb that used by doris Compute-storage decoupled cluster.
FDB FDB `json:"fdb,omitempty"`
}
func (*MetaService) DeepCopy ¶
func (in *MetaService) DeepCopy() *MetaService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaService.
func (*MetaService) DeepCopyInto ¶
func (in *MetaService) DeepCopyInto(out *MetaService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetaServiceStatus ¶
type MetaServiceStatus struct {
//Phase represent the stage of reconciling.
Phase Phase `json:"phase,omitempty"`
//AvailableStatus represents the metaservice available or not.
AvailableStatus AvailableStatus `json:"availableStatus,omitempty"`
// the meta service address for store meta of disaggregated cluster.
MetaServiceEndpoint string `json:"metaServiceEndpoint,omitempty"`
//the token for access ms service.
MsToken string `json:"msToken,omitempty"`
}
func (*MetaServiceStatus) DeepCopy ¶
func (in *MetaServiceStatus) DeepCopy() *MetaServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaServiceStatus.
func (*MetaServiceStatus) DeepCopyInto ¶
func (in *MetaServiceStatus) DeepCopyInto(out *MetaServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespaceName ¶
type NamespaceName struct {
Namespace string `json:"namespace,omitempty"`
Name string `json:"name,omitempty"`
}
func (*NamespaceName) DeepCopy ¶
func (in *NamespaceName) DeepCopy() *NamespaceName
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceName.
func (*NamespaceName) DeepCopyInto ¶
func (in *NamespaceName) DeepCopyInto(out *NamespaceName)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PVCProvisioner ¶
type PVCProvisioner string
const (
PVCProvisionerOperator PVCProvisioner = "operator"
)
Possible values of PVC provisioner
type PersistentVolume ¶
type PersistentVolume struct {
// PersistentVolumeClaimSpec is a list of claim spec about storage that pods are required.
// +kubebuilder:validation:Optional
corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`
// specify mountPaths, if not config, operator will refer from be.conf `cache_file_path`.
// when mountPaths=[]{"/opt/path1", "/opt/path2"}, will create two pvc mount the two paths. also, operator will mount the cache_file_path config in be.conf .
// if mountPaths have duplicated path in cache_file_path, operator will only create one pvc.
MountPaths []string `json:"mountPaths,omitempty"`
//if config true, the log will mount a pvc to store logs. the pvc size is definitely 200Gi, as the log recycling system will regular recycling.
//+deprecated
LogNotStore bool `json:"logNotStore,omitempty"`
//Annotation for PVC pods. Users can adapt the storage authentication and pv binding of the cloud platform through configuration.
//It only takes effect in the first configuration and cannot be added or modified later.
Annotations map[string]string `json:"annotations,omitempty"`
// defines pvc provisioner, default is ”.
PVCProvisioner PVCProvisioner `json:"provisioner,omitempty"`
}
PersistentVolume defines volume information and container mount information.
func (*PersistentVolume) DeepCopy ¶
func (in *PersistentVolume) DeepCopy() *PersistentVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolume.
func (*PersistentVolume) DeepCopyInto ¶
func (in *PersistentVolume) DeepCopyInto(out *PersistentVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Phase ¶
type Phase string
const ( Ready Phase = "Ready" //Creating represents service in creating stage. Reconciling Phase = "Reconciling" //Scaling represents service in Scaling. Scaling Phase = "Scaling" Decommissioning Phase = "Decommissioning" ScaleDownFailed Phase = "ScaleDownFailed" ResumeFailed Phase = "ResumeFailed" SuspendFailed Phase = "SuspendFailed" Suspended Phase = "Suspended" )
type PortMap ¶
type PortMap struct {
// The port on each node on which this service is exposed when type is
// NodePort or LoadBalancer. Usually assigned by the system. If a value is
// specified, in-range, and not in use it will be used, otherwise the
// operation will fail. If not specified, a port will be allocated if this
// Service requires one. If this field is specified when creating a
// Service which does not need it, creation will fail. This field will be
// wiped when updating a Service to no longer need it (e.g. changing type
// from NodePort to ClusterIP).
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
// need in 30000-32767
// +optional
NodePort int32 `json:"nodePort,omitempty"`
// Number or name of the port to access on the pods targeted by the service.
// Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
// If this is a string, it will be looked up as a named port in the
// target Pod's container ports. If this is not specified, the value
// of the 'port' field is used (an identity map).
// This field is ignored for services with clusterIP=None, and should be
// omitted or set equal to the 'port' field.
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
// +optional
TargetPort int32 `json:"targetPort,omitempty"`
}
PortMap for ServiceType=NodePort situation.
func (*PortMap) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortMap.
func (*PortMap) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Secret ¶
type Secret struct {
//specify the secret need to be mounted in deployed namespace.
SecretName string `json:"secretName,omitempty"`
//display the path of secret be mounted in pod.
MountPath string `json:"mountPath,omitempty"`
}
func (*Secret) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRole ¶
type ServiceRole string
const ( Service_Role_Access ServiceRole = "access" Service_Role_Internal ServiceRole = "internal" )
type SystemInitialization ¶
type SystemInitialization struct {
//Image for doris initialization, default is selectdb/alpine:latest.
InitImage string `json:"initImage,omitempty"`
// Entrypoint array. Not executed within a shell.
Command []string `json:"command,omitempty"`
// Arguments to the entrypoint.
Args []string `json:"args,omitempty"`
// defines the specification of resource cpu and mem for Custom initContainer.
// the default behavior of the operator `initContainer` does not require resource constraints.
// ep: {"requests":{"cpu": 4, "memory": "16Gi"},"limits":{"cpu":4,"memory":"16Gi"}}
corev1.ResourceRequirements `json:",inline"`
}
func (*SystemInitialization) DeepCopy ¶
func (in *SystemInitialization) DeepCopy() *SystemInitialization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemInitialization.
func (*SystemInitialization) DeepCopyInto ¶
func (in *SystemInitialization) DeepCopyInto(out *SystemInitialization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.