Documentation
¶
Index ¶
- Constants
- Variables
- func ApplySecurityContext(containers []corev1.Container, securityContext *corev1.SecurityContext) []corev1.Container
- func BuildDMSService(ddm *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType, ...) corev1.Service
- func BuildDisaggregatedProbe(container *corev1.Container, cs *dv1.CommonSpec, ...)
- func BuildExternalService(dcr *v1.DorisCluster, componentType v1.ComponentType, ...) corev1.Service
- func BuildHorizontalPodAutoscaler(pap *PodAutoscalerParams) client.Object
- func BuildInternalService(dcr *v1.DorisCluster, componentType v1.ComponentType, ...) corev1.Service
- func BuildPVC(volume dorisv1.PersistentVolume, labels map[string]string, ...) corev1.PersistentVolumeClaim
- func BuildPVCName(stsName, ordinal, volumeName string) string
- func DMSServiceDeepEqual(newSvc, oldSvc *corev1.Service) bool
- func DMSStatefulSetDeepEqual(new *appv1.StatefulSet, old *appv1.StatefulSet, excludeReplicas bool) bool
- func GeneratePodTemplateName(dcr *v1.DorisCluster, componentType v1.ComponentType) string
- func GetContainerPorts(config map[string]interface{}, componentType v1.ComponentType) []corev1.ContainerPort
- func GetDMSBaseSpecFromCluster(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) (*mv1.BaseSpec, *int32)
- func GetDMSContainerPorts(brpcPort int32, componentType mv1.ComponentType) []corev1.ContainerPort
- func GetDefaultPort(key string) int32
- func GetDisaggregatedContainerPorts(config map[string]interface{}, componentType dv1.DisaggregatedComponentType) []corev1.ContainerPort
- func GetDorisLoginInformation(secret *corev1.Secret) (adminUserName, password string)
- func GetInt32Pointer(v int32) *int32
- func GetInt64ptr(n int64) *int64
- func GetMountConfigMapInfo(c dorisv1.ConfigMapInfo) (finalConfigMaps []dorisv1.MountConfigMapInfo)
- func GetOwnerReference(o client.Object) metav1.OwnerReference
- func GetPodDefaultEnv() []corev1.EnvVar
- func GetPort(config map[string]interface{}, key string) int32
- func GetPortKey(configKey string) string
- func GetStartMode(config map[string]interface{}) string
- func GetStringPointer(s string) *string
- func GetTerminationGracePeriodSeconds(config map[string]interface{}) int64
- func LifeCycleWithPreStopScript(lc *corev1.Lifecycle, preStopScript string)
- func LivenessProbe(port, timeout int32, path string, commands []string, pt ProbeType) *corev1.Probe
- func MergeMetadata(new *metav1.ObjectMeta, old metav1.ObjectMeta)
- func MergeSlices(new []string, old []string) []string
- func MergeStatefulSets(new *appv1.StatefulSet, old appv1.StatefulSet)
- func NewBaseMainContainer(dcr *v1.DorisCluster, config map[string]interface{}, ...) corev1.Container
- func NewContainerWithCommonSpec(cs *dv1.CommonSpec) corev1.Container
- func NewDMSBaseMainContainer(dms *mv1.DorisDisaggregatedMetaService, brpcPort int32, ...) corev1.Container
- func NewDMSPodTemplateSpec(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) corev1.PodTemplateSpec
- func NewDMSStatefulSet(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) appv1.StatefulSet
- func NewPodTemplateSpec(dcr *v1.DorisCluster, componentType v1.ComponentType) corev1.PodTemplateSpec
- func NewPodTemplateSpecWithCommonSpec(cs *dv1.CommonSpec, componentType dv1.DisaggregatedComponentType) corev1.PodTemplateSpec
- func NewStatefulSet(dcr *v1.DorisCluster, componentType v1.ComponentType) appv1.StatefulSet
- func ReadinessProbe(port int32, path string, commands []string, pt ProbeType) *corev1.Probe
- func ResolveConfigMaps(configMaps []*corev1.ConfigMap, componentType dorisv1.ComponentType) (map[string]interface{}, error)
- func ResolveDMSConfigMaps(configMaps []*corev1.ConfigMap, componentType mv1.ComponentType) (map[string]interface{}, error)
- func ServiceDeepEqual(newSvc, oldSvc *corev1.Service) bool
- func ServiceDeepEqualWithAnnoKey(nsvc, osvc *corev1.Service, annoKey string) bool
- func StatefulSetDeepEqual(new *appv1.StatefulSet, old *appv1.StatefulSet, excludeReplicas bool) bool
- func StatefulsetDeepEqualWithKey(new, old *appv1.StatefulSet, annoKey string, excludeReplicas bool) bool
- type Annotations
- type Labels
- type PodAutoscalerParams
- type ProbeType
Constants ¶
const ( HTTP_PORT = "http_port" RPC_PORT = "rpc_port" QUERY_PORT = "query_port" EDIT_LOG_PORT = "edit_log_port" )
the fe ports key
const ( THRIFT_PORT = "thrift_port" BE_PORT = "be_port" WEBSERVER_PORT = "webserver_port" HEARTBEAT_SERVICE_PORT = "heartbeat_service_port" BRPC_PORT = "brpc_port" )
the cn or be ports key
const ( FE_RESOLVEKEY = "fe.conf" BE_RESOLVEKEY = "be.conf" CN_RESOLVEKEY = "be.conf" BROKER_RESOLVEKEY = "apache_hdfs_broker.conf" MS_RESOLVEKEY = "doris_cloud.conf" RC_RESOLVEKEY = "doris_cloud.conf" DefaultMsToken = "greedisgood9999" DefaultMsTokenKey = "http_token" )
the default ResolveKey
const ( ENV_FE_ADDR = "ENV_FE_ADDR" ENV_FE_PORT = "FE_QUERY_PORT" ENV_FE_ELECT_NUMBER = "ELECT_NUMBER" COMPONENT_TYPE = "COMPONENT_TYPE" FDB_ENDPOINT = "FDB_ENDPOINT" NAMESPACE = "NAMESPACE" STATEFULSET_NAME = "STATEFULSET_NAME" COMPUTE_GROUP_NAME = "COMPUTE_GROUP_NAME" )
the env keys
const ( ConfigEnvPath = config_env_path HEALTH_API_PATH = "/api/health" HEALTH_BROKER_LIVE_COMMAND = "/opt/apache-doris/broker_is_alive.sh" FE_PRESTOP = "/opt/apache-doris/fe_prestop.sh" BE_PRESTOP = "/opt/apache-doris/be_prestop.sh" BROKER_PRESTOP = "/opt/apache-doris/broker_prestop.sh" //keys for pod env variables POD_NAME = "POD_NAME" POD_IP = "POD_IP" HOST_IP = "HOST_IP" POD_NAMESPACE = "POD_NAMESPACE" ADMIN_USER = "USER" ADMIN_PASSWD = "PASSWD" DORIS_ROOT = "DORIS_ROOT" DEFAULT_ADMIN_USER = "root" DEFAULT_ROOT_PATH = "/opt/apache-doris" POD_INFO_PATH = "/etc/podinfo" POD_INFO_VOLUME_NAME = "podinfo" NODE_TOPOLOGYKEY = "kubernetes.io/hostname" DEFAULT_INIT_IMAGE = "selectdb/alpine:latest" HEALTH_DISAGGREGATED_FE_PROBE_COMMAND = "/opt/apache-doris/fe_disaggregated_probe.sh" HEALTH_DISAGGREGATED_BE_PROBE_COMMAND = "/opt/apache-doris/be_disaggregated_probe.sh" HEALTH_DISAGGREGATED_MS_PROBE_COMMAND = "/opt/apache-doris/ms_disaggregated_probe.sh" DISAGGREGATED_LIVE_PARAM_ALIVE = "alive" DISAGGREGATED_LIVE_PARAM_READY = "ready" )
const ( START_MS_COMMAND = "/opt/apache-doris/ms_disaggregated_entrypoint.sh" START_RC_COMMAND = "/opt/apache-doris/ms_disaggregated_entrypoint.sh" START_MS_PARAMETER = "meta-service" START_RC_PARAMETER = "recycler" HEALTH_MS_PROBE_COMMAND = "/opt/apache-doris/ms_disaggregated_probe.sh" PRESTOP_MS_COMMAND = "/opt/apache-doris/ms_disaggregated_prestop.sh" MS_Log_Key = "log_dir" Default_MS_Log_Path = "/opt/apache-doris/ms/log/" )
const ARROW_FLIGHT_SQL_PORT = "arrow_flight_sql_port"
const BROKER_IPC_PORT = "broker_ipc_port"
const (
BRPC_LISTEN_PORT = "brpc_listen_port"
)
const ENABLE_FQDN = "enable_fqdn_mode"
const GRACE_SHUTDOWN_WAIT_SECONDS = "grace_shutdown_wait_seconds"
const START_MODEL_FQDN = "FQDN"
const START_MODEL_IP = "IP"
Variables ¶
var ( AutoscalerKind = "HorizontalPodAutoscaler" StatefulSetKind = "StatefulSet" ServiceKind = "Service" )
Functions ¶
func ApplySecurityContext ¶
func ApplySecurityContext(containers []corev1.Container, securityContext *corev1.SecurityContext) []corev1.Container
ApplySecurityContext applies the container security context to all containers in the pod (if not already set).
func BuildDMSService ¶
func BuildDMSService(ddm *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType, brpcPort int32) corev1.Service
func BuildDisaggregatedProbe ¶
func BuildDisaggregatedProbe(container *corev1.Container, cs *dv1.CommonSpec, componentType dv1.DisaggregatedComponentType)
func BuildExternalService ¶
func BuildExternalService(dcr *v1.DorisCluster, componentType v1.ComponentType, config map[string]interface{}) corev1.Service
BuildExternalService build the external service. not have selector
func BuildHorizontalPodAutoscaler ¶
func BuildHorizontalPodAutoscaler(pap *PodAutoscalerParams) client.Object
func BuildInternalService ¶
func BuildInternalService(dcr *v1.DorisCluster, componentType v1.ComponentType, config map[string]interface{}) corev1.Service
func BuildPVC ¶
func BuildPVC(volume dorisv1.PersistentVolume, labels map[string]string, namespace, stsName, ordinal string) corev1.PersistentVolumeClaim
func BuildPVCName ¶
func DMSServiceDeepEqual ¶
func DMSStatefulSetDeepEqual ¶
func DMSStatefulSetDeepEqual(new *appv1.StatefulSet, old *appv1.StatefulSet, excludeReplicas bool) bool
StatefulSetDeepEqual judge two statefulset equal or not.
func GeneratePodTemplateName ¶
func GeneratePodTemplateName(dcr *v1.DorisCluster, componentType v1.ComponentType) string
func GetContainerPorts ¶
func GetContainerPorts(config map[string]interface{}, componentType v1.ComponentType) []corev1.ContainerPort
func GetDMSBaseSpecFromCluster ¶
func GetDMSBaseSpecFromCluster(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) (*mv1.BaseSpec, *int32)
func GetDMSContainerPorts ¶
func GetDMSContainerPorts(brpcPort int32, componentType mv1.ComponentType) []corev1.ContainerPort
func GetDefaultPort ¶
func GetDisaggregatedContainerPorts ¶
func GetDisaggregatedContainerPorts(config map[string]interface{}, componentType dv1.DisaggregatedComponentType) []corev1.ContainerPort
func GetInt32Pointer ¶
func GetInt64ptr ¶
func GetMountConfigMapInfo ¶
func GetMountConfigMapInfo(c dorisv1.ConfigMapInfo) (finalConfigMaps []dorisv1.MountConfigMapInfo)
func GetOwnerReference ¶
func GetOwnerReference(o client.Object) metav1.OwnerReference
func GetPodDefaultEnv ¶
func GetPortKey ¶
func GetStartMode ¶
GetStartMode return fe host type, fqdn(host) or ip, from 'fe.conf' enable_fqdn_mode
func GetStringPointer ¶
func GetTerminationGracePeriodSeconds ¶
GetTerminationGracePeriodSeconds get grace_shutdown_wait_seconds from config file.
func LivenessProbe ¶
func MergeMetadata ¶
func MergeMetadata(new *metav1.ObjectMeta, old metav1.ObjectMeta)
mergeMetadata takes labels and annotations from the old resource and merges them into the new resource. If a key is present in both resources, the new resource wins. It also copies the ResourceVersion from the old resource to the new resource to prevent update conflicts.
func MergeSlices ¶
func MergeStatefulSets ¶
func MergeStatefulSets(new *appv1.StatefulSet, old appv1.StatefulSet)
MergeStatefulSets merge exist statefulset and new statefulset.
func NewBaseMainContainer ¶
func NewBaseMainContainer(dcr *v1.DorisCluster, config map[string]interface{}, componentType v1.ComponentType) corev1.Container
func NewContainerWithCommonSpec ¶
func NewContainerWithCommonSpec(cs *dv1.CommonSpec) corev1.Container
build disaggregated node(fe,be) container.
func NewDMSBaseMainContainer ¶
func NewDMSBaseMainContainer(dms *mv1.DorisDisaggregatedMetaService, brpcPort int32, config map[string]interface{}, componentType mv1.ComponentType) corev1.Container
func NewDMSPodTemplateSpec ¶
func NewDMSPodTemplateSpec(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) corev1.PodTemplateSpec
func NewDMSStatefulSet ¶
func NewDMSStatefulSet(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) appv1.StatefulSet
NewDMSStatefulSet construct statefulset for metaservice and recycler.
func NewPodTemplateSpec ¶
func NewPodTemplateSpec(dcr *v1.DorisCluster, componentType v1.ComponentType) corev1.PodTemplateSpec
func NewPodTemplateSpecWithCommonSpec ¶
func NewPodTemplateSpecWithCommonSpec(cs *dv1.CommonSpec, componentType dv1.DisaggregatedComponentType) corev1.PodTemplateSpec
func NewStatefulSet ¶
func NewStatefulSet(dcr *v1.DorisCluster, componentType v1.ComponentType) appv1.StatefulSet
NewStatefulSet construct statefulset.
func ReadinessProbe ¶
func ResolveConfigMaps ¶
func ResolveDMSConfigMaps ¶
func ServiceDeepEqual ¶
func StatefulSetDeepEqual ¶
func StatefulSetDeepEqual(new *appv1.StatefulSet, old *appv1.StatefulSet, excludeReplicas bool) bool
StatefulSetDeepEqual judge two statefulset equal or not.
func StatefulsetDeepEqualWithKey ¶
func StatefulsetDeepEqualWithKey(new, old *appv1.StatefulSet, annoKey string, excludeReplicas bool) bool
Types ¶
type Annotations ¶
func NewAnnotations ¶
func NewAnnotations(annotations ...Annotations) Annotations
func (Annotations) Add ¶
func (a Annotations) Add(key, value string)
func (Annotations) AddAnnotation ¶
func (a Annotations) AddAnnotation(annotation Annotations)
type PodAutoscalerParams ¶
type PodAutoscalerParams struct { AutoscalerType dorisv1.AutoScalerVersion Namespace string Name string Labels Labels TargetName string OwnerReferences []metav1.OwnerReference ScalerPolicy *dorisv1.AutoScalingPolicy }