Packages:
string alias)AnnotationOperationValue present the operation for fe, cn, be.
string alias)(Appears on:AutoScalingPolicy, HorizontalScaler)
| Value | Description |
|---|---|
"v1" |
AutoScalerV1 the cn service use v1 autoscaler. Reference to https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ |
"v2" |
AutoScalerV2 the cn service use v2. Reference to https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ |
"v2beta2" |
AutoScalerV2Beta2 the cn service use v2beta2. Reference to https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ |
(Appears on:PhoenixAICnSpec, WarehouseComponentSpec)
AutoScalingPolicy defines the auto scale
| Field | Description |
|---|---|
hpaPolicyHPAPolicy |
the policy of autoscaling. operator use autoscaling v2. |
versionAutoScalerVersion |
(Optional)
version represents the autoscaler version for cn service. only support v1,v2beta2,v2 |
minReplicasint32 |
(Optional)
MinReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. |
maxReplicasint32 |
MaxReplicas is the upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas. |
string alias)(Appears on:PhoenixAIComponentStatus)
ComponentPhase represent the component phase. e.g. 1. PhoenixAICluster contains three components: FE, CN, BE. 2. PhoenixAIWarehouse reuse the CN component. The possible value for component phase are: reconciling, failed, running.
| Value | Description |
|---|---|
"failed" |
ComponentFailed the pod of component is failed |
"reconciling" |
ComponentReconciling the PhoenixAI component is reconciling |
"running" |
ComponentRunning all components runs available. |
(Appears on:PhoenixAILoadSpec)
| Field | Description |
|---|---|
configMapNamestring |
the config info for start progress. |
resolveKeystring |
the config response key in configmap. |
(Appears on:PhoenixAIComponentSpec)
| Field | Description |
|---|---|
namestring |
This must match the Name of a ConfigMap or Secret in the same namespace, and the length of name must not more than 50 characters. |
mountPathstring |
Path within the container at which the volume should be mounted. Must not contain ‘:’. |
subPathstring |
(Optional)
SubPath within the volume from which the container’s volume should be mounted. Defaults to “” (volume’s root). |
string alias)(Appears on:DisasterRecoveryStatus)
| Value | Description |
|---|---|
"doing" |
|
"done" |
|
"todo" |
(Appears on:PhoenixAIClusterSpec)
DisasterRecovery is used to determine whether to enter disaster recovery mode.
| Field | Description |
|---|---|
enabledbool |
Enabled is used to determine whether to enter disaster recovery mode. |
generationint64 |
Generation records the generation of disaster recovery. If you want to trigger disaster recovery, you should increase the generation. |
(Appears on:PhoenixAIClusterStatus)
DisasterRecoveryStatus represents the status of disaster recovery. Note: you should create a new instance of DisasterRecoveryStatus by NewDisasterRecoveryStatus.
| Field | Description |
|---|---|
phaseDRPhase |
the available phase include: todo, doing, done |
reasonstring |
the reason of disaster recovery. |
startTimestampint64 |
the unix time of starting disaster recovery. |
endTimestampint64 |
the unix time of ending disaster recovery. |
observedGenerationint64 |
the observed generation of disaster recovery. If the observed generation is less than the generation, it will trigger disaster recovery. |
(Appears on:AutoScalingPolicy)
| Field | Description |
|---|---|
metrics[]Kubernetes autoscaling/v2beta2.MetricSpec |
(Optional)
Metrics specifies how to scale based on a single metric the struct copy from k8s.io/api/autoscaling/v2beta2/types.go. the redundancy code will hide the restriction about HorizontalPodAutoscaler version and kubernetes releases matching issue. the splice will have unsafe.Pointer convert, so be careful to edit the struct fields. |
behaviorKubernetes autoscaling/v2beta2.HorizontalPodAutoscalerBehavior |
(Optional)
HorizontalPodAutoscalerBehavior configures the scaling behavior of the target. the struct copy from k8s.io/api/autoscaling/v2beta2/types.go. the redundancy code will hide the restriction about HorizontalPodAutoscaler version and kubernetes releases matching issue. the |
(Appears on:PhoenixAICnStatus)
| Field | Description |
|---|---|
namestring |
the horizontal scaler name |
versionAutoScalerVersion |
the horizontal version. |
MountInfo The reason why we do not support defaultMode is that we use hash.HashObject to calculate the actual volume name. This volume name is used in pod template of statefulset, and if this MountInfo type has been changed, the volume name will be changed too, and that will make pods restart. The default mode is 0644, and in order to support to set permission information for a configMap or secret, we add should specify the subPath and specify a command or args in the container. And It will be set 0755.
| Field | Description |
|---|---|
namestring |
This must match the Name of a ConfigMap or Secret in the same namespace, and the length of name must not more than 50 characters. |
mountPathstring |
Path within the container at which the volume should be mounted. Must not contain ‘:’. |
subPathstring |
(Optional)
SubPath within the volume from which the container’s volume should be mounted. Defaults to “” (volume’s root). |
string alias)(Appears on:PhoenixAIClusterStatus)
Phase is defined under status, e.g. 1. PhoenixAIClusterStatus.Phase represents the phase of PhoenixAI cluster. 2. PhoenixAIWarehouseStatus.Phase represents the phase of PhoenixAI warehouse. The possible value for cluster phase are: running, failed, pending, deleting.
| Value | Description |
|---|---|
"failed" |
ClusterFailed represents PhoenixAI cluster failed. |
"reconciling" |
ClusterReconciling represents some component is reconciling |
"running" |
ClusterRunning represents PhoenixAI cluster is running. |
(Appears on:PhoenixAIClusterSpec)
PhoenixAIBeSpec defines the desired state of be.
| Field | Description |
|---|---|
PhoenixAIComponentSpecPhoenixAIComponentSpec |
(Members of |
beEnvVars[]Kubernetes core/v1.EnvVar |
(Optional)
beEnvVars is a slice of environment variables that are added to the pods, the default is empty. |
(Appears on:PhoenixAIClusterStatus)
PhoenixAIBeStatus represents the status of PhoenixAI be.
| Field | Description |
|---|---|
PhoenixAIComponentStatusPhoenixAIComponentStatus |
(Members of |
PhoenixAICluster defines a PhoenixAI cluster deployment.
| Field | Description | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||||||
specPhoenixAIClusterSpec |
Specification of the desired state of the PhoenixAI cluster.
|
||||||||||||||
statusPhoenixAIClusterStatus |
Most recent observed status of the PhoenixAI cluster |
(Appears on:PhoenixAICluster)
PhoenixAIClusterSpec defines the desired state of PhoenixAICluster
| Field | Description |
|---|---|
serviceAccountstring |
(Optional)
Specify a Service Account for PhoenixAICluster use k8s cluster. Deprecated: component use serviceAccount in own’s field. |
phoenixAIFeSpecPhoenixAIFeSpec |
PhoenixAIFeSpec define fe configuration for start fe service. |
phoenixAIBeSpecPhoenixAIBeSpec |
PhoenixAIBeSpec define be configuration for start be service. |
phoenixAICnSpecPhoenixAICnSpec |
PhoenixAICnSpec define cn configuration for start cn service. |
phoenixAIFeProxySpecPhoenixAIFeProxySpec |
PhoenixAILoadSpec define a proxy for fe. |
disasterRecoveryDisasterRecovery |
(Optional)
DisasterRecovery is used to determine whether to enter disaster recovery mode. |
waitForFullRolloutbool |
(Optional)
WaitForFullRollout controls rolling upgrade behavior. When set to true, the operator will wait for FE StatefulSet to be fully rolled out (all replicas ready and at the same revision) before updating BE/CN components. This prevents cascading failures if a bad FE version is deployed. When false (default), BE/CN updates can proceed as soon as any FE pod is ready. Defaults to false for backward compatibility. |
(Appears on:PhoenixAICluster)
PhoenixAIClusterStatus defines the observed state of PhoenixAICluster.
| Field | Description |
|---|---|
phasePhase |
Represents the state of cluster. the possible value are: running, failed, pending |
reasonstring |
Reason represents the errors when calling sub-controllers |
phoenixAIFeStatusPhoenixAIFeStatus |
Represents the status of fe. the status have running, failed and creating pods. |
phoenixAIBeStatusPhoenixAIBeStatus |
Represents the status of be. the status have running, failed and creating pods. |
phoenixAICnStatusPhoenixAICnStatus |
Represents the status of cn. the status have running, failed and creating pods. |
phoenixAIFeProxyStatusPhoenixAIFeProxyStatus |
Represents the status of fe proxy. the status have running, failed and creating pods. |
disasterRecoveryStatusDisasterRecoveryStatus |
(Optional)
DisasterRecoveryStatus represents the status of disaster recovery. |
(Appears on:PhoenixAIClusterSpec)
PhoenixAICnSpec defines the desired state of cn.
| Field | Description |
|---|---|
PhoenixAIComponentSpecPhoenixAIComponentSpec |
(Members of |
cnEnvVars[]Kubernetes core/v1.EnvVar |
(Optional)
cnEnvVars is a slice of environment variables that are added to the pods, the default is empty. |
autoScalingPolicyAutoScalingPolicy |
AutoScalingPolicy auto scaling strategy |
(Appears on:PhoenixAIClusterStatus, PhoenixAIWarehouseStatus)
WarehouseComponentStatus represents the status of component.
| Field | Description |
|---|---|
PhoenixAIComponentStatusPhoenixAIComponentStatus |
(Members of |
hpaNamestring |
The policy name of autoScale. Deprecated |
horizontalScalerHorizontalScaler |
HorizontalAutoscaler have the autoscaler information. |
replicasint32 |
Replicas is the total number of non-terminated CN pods targeted. |
selectorstring |
Selector for CN pods. The HPA will use this selector to know which pods to monitor. |
(Appears on:PhoenixAIBeSpec, PhoenixAICnSpec, PhoenixAIFeSpec, WarehouseComponentSpec)
PhoenixAIComponentSpec defines the shared specification for all PhoenixAI components except FE Proxy
| Field | Description |
|---|---|
PhoenixAILoadSpecPhoenixAILoadSpec |
(Members of |
runAsNonRootbool |
RunAsNonRoot is used to determine whether to run PhoenixAI as a normal user. If RunAsNonRoot is true, operator will set RunAsUser and RunAsGroup to 1000 in securityContext. default: nil |
capabilitiesKubernetes core/v1.Capabilities |
(Optional)
refer to https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-capabilities-for-a-container grant certain privileges to a process without granting all the privileges of the root user |
configMaps[]ConfigMapReference |
(Optional)
the reference for configMap which allow users to mount any files to container. |
secrets[]SecretReference |
(Optional)
the reference for secrets. |
hostAliases[]Kubernetes core/v1.HostAlias |
(Optional)
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. |
terminationGracePeriodSecondsint64 |
(Optional)
TerminationGracePeriodSeconds defines duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 120 seconds. |
sidecars[]Kubernetes core/v1.Container |
(Optional)
Sidecars is an optional list of containers that are run in the same pod as the PhoenixAI component. You can use this field to launch helper containers that provide additional functionality to the main container. See https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#Container for how to configure a container. |
initContainers[]Kubernetes core/v1.Container |
InitContainers is an optional list of containers that are run in the same pod as the PhoenixAI component. You can use this field to launch helper containers that run before the main container starts. See https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#Container for how to configure a container. |
command[]string |
(Optional)
Entrypoint array. Not executed within a shell. If this is not provided, it will use default entrypoint for different components: 1. For FE, it will use /opt/starrocks/fe_entrypoint.sh as the entrypoint. 2. For BE, it will use /opt/starrocks/be_entrypoint.sh as the entrypoint. 3. For CN, it will use /opt/starrocks/cn_entrypoint.sh as the entrypoint. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
args[]string |
(Optional)
Arguments to the entrypoint. If this is not provided, it will use $(FE_SERVICE_NAME) for all components. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. “$$(VAR_NAME)” will produce the string literal “$(VAR_NAME)”. Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
updateStrategyKubernetes apps/v1.StatefulSetUpdateStrategy |
(Optional)
PhoenixAICluster use StatefulSet to deploy FE/BE/CN components. UpdateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. See https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#rolling-updates for more details. Note: The maxUnavailable field is in Alpha stage and it is honored only by API servers that are running with the MaxUnavailableStatefulSet feature gate enabled. |
readOnlyRootFilesystembool |
(Optional)
Whether this container has a read-only root filesystem. Default is false. Note that: 1. This field cannot be set when spec.os.name is windows. 2. The FE/BE/CN container should support read-only root filesystem. The newest version of FE/BE/CN is 3.3.6, and does not support read-only root filesystem |
sysctls[]Kubernetes core/v1.Sysctl |
Sysctls defines a list of namespaced sysctls for the podSecurityContext.sysctls See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. |
persistentVolumeClaimRetentionPolicyKubernetes apps/v1.StatefulSetPersistentVolumeClaimRetentionPolicy |
PersistentVolumeClaimRetentionPolicy specifies the retention policy for PersistentVolumeClaims associated with the component. The WhenDeleted field is supported for all components, and it determines whether to delete PVCs when the StatefulSet is deleted. The WhenScaled field is only supported for the CN component. |
minReadySecondsint32 |
(Optional)
MinReadySeconds specifies the minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready). |
podManagementPolicyKubernetes apps/v1.PodManagementPolicyType |
(Optional)
podManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is Parallel which is not the same as statefulset’s default policy which maybe a not a good choice to use a different default value. |
(Appears on:PhoenixAIBeStatus, PhoenixAICnStatus, PhoenixAIFeProxyStatus, PhoenixAIFeStatus)
PhoenixAIComponentStatus represents the status of a PhoenixAI component.
| Field | Description |
|---|---|
serviceNamestring |
the name of fe service exposed for user. |
failedInstances[]string |
FailedInstances failed pod names. |
creatingInstances[]string |
CreatingInstances in creating pod names. |
runningInstances[]string |
RunningInstances in running status pod names. |
resourceNames[]string |
ResourceNames the statefulset names of fe. |
phaseComponentPhase |
Phase the value from all pods of component status. If component have one failed pod phase=failed, also if fe have one creating pod phase=creating, also if component all running phase=running, others unknown. |
reasonstring |
Reason represents the reason of not running. |
(Appears on:PhoenixAIClusterSpec)
PhoenixAIFeProxySpec defines the specification for FE Proxy Note: it includes PhoenixAILoadSpec, not PhoenixAIComponentSpec
| Field | Description |
|---|---|
PhoenixAILoadSpecPhoenixAILoadSpec |
(Members of |
resolverstring |
(Appears on:PhoenixAIClusterStatus)
| Field | Description |
|---|---|
PhoenixAIComponentStatusPhoenixAIComponentStatus |
(Members of |
(Appears on:PhoenixAIClusterSpec)
PhoenixAIFeSpec defines the desired state of fe.
| Field | Description |
|---|---|
PhoenixAIComponentSpecPhoenixAIComponentSpec |
(Members of |
feEnvVars[]Kubernetes core/v1.EnvVar |
(Optional)
feEnvVars is a slice of environment variables that are added to the pods, the default is empty. |
(Appears on:PhoenixAIClusterStatus)
PhoenixAIFeStatus represents the status of PhoenixAI fe.
| Field | Description |
|---|---|
PhoenixAIComponentStatusPhoenixAIComponentStatus |
(Members of |
(Appears on:PhoenixAIComponentSpec, PhoenixAIFeProxySpec)
| Field | Description |
|---|---|
ResourceRequirementsKubernetes core/v1.ResourceRequirements |
(Members of defines the specification of resource cpu and mem. |
annotationsmap[string]string |
annotation for pods. user can config monitor annotation for collect to monitor system. |
podLabelsmap[string]string |
(Optional)
the pod labels for user select or classify pods. |
replicasint32 |
(Optional)
Replicas is the number of desired Pods. When HPA policy is enabled with a fixed replica count in PhoenixAICnSpec: every time the PhoenixAICluster CR is applied, the replica count of the StatefulSet object in K8S will be reset to the value specified by the ‘Replicas’ field, erasing the value previously set by HPA. |
imagestring |
(Optional)
Image for a PhoenixAI deployment. |
imagePullPolicyKubernetes core/v1.PullPolicy |
(Optional)
Image pull policy. One of Always, Never, IfNotPresent. Defaults to IfNotPresent for compatibility. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
imagePullSecrets[]Kubernetes core/v1.LocalObjectReference |
(Optional)
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 |
schedulerNamestring |
(Optional)
SchedulerName is the name of the kubernetes scheduler that will be used to schedule the pods. |
nodeSelectormap[string]string |
(Optional)
(Optional) If specified, the pod’s nodeSelector,displayName=“Map of nodeSelectors to match when scheduling pods on nodes” |
affinityKubernetes core/v1.Affinity |
(Optional)
If specified, the pod’s scheduling constraints. |
tolerations[]Kubernetes core/v1.Toleration |
(Optional)
(Optional) Tolerations for scheduling pods onto some dedicated nodes |
topologySpreadConstraints[]Kubernetes core/v1.TopologySpreadConstraint |
(Optional)
(Optional) TopologySpreadConstraints for spreading pods across failure-domains More info: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/ |
servicePhoenixAIService |
(Optional)
Service defines the template for the associated Kubernetes Service object. |
storageVolumes[]StorageVolume |
(Optional)
StorageVolumes defines the additional storage for FE meta or BE/CN storage. For FE component If the storage volume name is fe-meta or the volume mount path is /opt/starrocks/fe/meta, then it will be recognized as storing the FE meta. If the storage volume name is fe-log or the volume mount path is /opt/starrocks/fe/log, then it will be recognized as storing the FE log. For BE component If the storage volume name is be-storage(or be-data) or the volume mount path is /opt/starrocks/be/storage, then it will be recognized as storing the BE data. If the storage volume name is be-log or the volume mount path is /opt/starrocks/be/log, then it will be recognized as storing the BE log. For CN component If the storage volume name is cn-log or the volume mount path is /opt/starrocks/cn/log, then it will be recognized as storing the cn log. If operator can’t find the above storage volume names or the volume mount paths, it will create default storage volumes by using emptyDir. |
serviceAccountstring |
serviceAccount for access cloud service. |
configMapInfoConfigMapInfo |
(Optional)
the reference for configMap which store the config info to start PhoenixAI. e.g. be.conf, fe.conf, cn.conf. |
startupProbeFailureSecondsint32 |
(Optional)
StartupProbeFailureSeconds defines the total failure seconds of startup Probe. Default failureThreshold is 60 and the periodSeconds is 5, this means the startup will fail if the pod can’t start in 300 seconds. Your StartupProbeFailureSeconds is the total time of seconds before startupProbe give up and fail the container start. If startupProbeFailureSeconds can’t be divided by defaultPeriodSeconds, the failureThreshold will be rounded up. Note: you can set it to 0 to disable the startup probe. |
livenessProbeFailureSecondsint32 |
(Optional)
LivenessProbeFailureSeconds defines the total failure seconds of liveness Probe. Default failureThreshold is 3 and the periodSeconds is 5, this means the liveness will fail if the pod can’t respond in 15 seconds. Your LivenessProbeFailureSeconds is the total time of seconds before the container restart. If LivenessProbeFailureSeconds can’t be divided by defaultPeriodSeconds, the failureThreshold will be rounded up. Note: you can set it to 0 to disable the liveness probe. |
readinessProbeFailureSecondsint32 |
(Optional)
ReadinessProbeFailureSeconds defines the total failure seconds of readiness Probe. Default failureThreshold is 3 and the periodSeconds is 5, this means the readiness will fail if the pod can’t respond in 15 seconds. Your ReadinessProbeFailureSeconds is the total time of seconds before pods becomes not ready. If ReadinessProbeFailureSeconds can’t be divided by defaultPeriodSeconds, the failureThreshold will be rounded up. Note: you can set it to 0 to disable the readiness probe. |
lifecycleKubernetes core/v1.Lifecycle |
(Optional)
Lifecycle describes actions that the management system should take in response to container lifecycle events. By default, Operator will add corresponding preStop hooks for different components. For example, the preStop script for the FE Component is /opt/starrocks/fe_prestop.sh, for the BE Component is /opt/starrocks/be_prestop.sh, and for the CN Component is /opt/starrocks/cn_prestop.sh. |
shareProcessNamespacebool |
(Optional)
Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. Optional: Default to false. |
PhoenixAIProbe defines the mode for probe be alive.
| Field | Description |
|---|---|
typestring |
Type identifies the mode of probe main container |
initialDelaySecondsint32 |
(Optional)
Number of seconds after the container has started before liveness probes are initiated. Default to 10 seconds. |
periodSecondsint32 |
(Optional)
How often (in seconds) to perform the probe. Default to Kubernetes default (10 seconds). Minimum value is 1. |
(Appears on:PhoenixAILoadSpec)
PhoenixAIService defines external service for PhoenixAI component.
| Field | Description |
|---|---|
annotationsmap[string]string |
(Optional)
Annotations’ store Kubernetes Service annotations. These will be added to the external service only (not internal). |
labelsmap[string]string |
(Optional)
Labels store Kubernetes Service labels. These will be added to the external service only (not internal). PhoenixAI may add its own default labels. |
typeKubernetes core/v1.ServiceType |
(Optional)
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 |
loadBalancerIPstring |
(Optional)
Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature. This field was under-specified and its meaning varies across implementations, and it cannot support dual-stack. As of Kubernetes v1.24, users are encouraged to use implementation-specific annotations when available. This field may be removed in a future API version. |
ports[]PhoenixAIServicePort |
(Optional)
Ports are the ports that are exposed by this service. You can override the default port information by specifying the same PhoenixAIServicePort.Name in the ports list. e.g. if you want to use a dedicated node port, you can just specify the PhoenixAIServicePort.Name and PhoenixAIServicePort.NodePort field. |
loadBalancerSourceRanges[]string |
(Optional)
If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature. More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ |
externalTrafficPolicyKubernetes core/v1.ServiceExternalTrafficPolicyType |
(Optional)
ExternalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service’s “externally-facing” addresses (NodePorts, ExternalIPs, and LoadBalancer IPs). “Local” preserves the client source IP and avoids a second hop, but risks unbalanced traffic spreading. “Cluster” obscures the client source IP and may cause a second hop to another node, but should have good overall load-spreading. Kubernetes only allows this field when type is NodePort or LoadBalancer; if it is set for a service of another type, reconciliation fails and the error is reported in the cluster status. More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip |
(Appears on:PhoenixAIService)
PhoenixAIServicePort defines the port that will be exposed by this service. To assign a specific port or nodePort to a service, you should specify them by the corresponding name or containerPort in the service configuration. If both containerPort and name are specified, containerPort takes precedence.
| Field | Description |
|---|---|
namestring |
(Optional)
Name of this port within the service. For fe, port name can be http, query, rpc, edit-log, and their default container port is 8030, 9030, 9020, 9010. For be, port name can be webserver, heartbeat, brpc, be, and their default container port is 8040, 9050, 8060, 9060. For cn, port name can be webserver, heartbeat, brpc, thrift, and their default container port is 8040, 9050, 8060, 9060. For fe proxy, port name can be http-port, and its default container port is 8080. |
portint32 |
(Optional)
Port that will be exposed by this service. |
containerPortint32 |
(Optional)
ContainerPort of the service port. For fe, port name can be http, query, rpc, edit-log, and their default container port is 8030, 9030, 9020, 9010. For be, port name can be webserver, heartbeat, brpc, be, and their default container port is 8040, 9050, 8060, 9060. For cn, port name can be webserver, heartbeat, brpc, thrift, and their default container port is 8040, 9050, 8060, 9060. For fe proxy, port name can be http-port, and its default container port is 8080. |
nodePortint32 |
(Optional)
NodePort is used to specify the port on each node on which the service is exposed. The range of valid ports is 30000-32767 |
PhoenixAIWarehouse defines a PhoenixAI warehouse.
| Field | Description | ||||
|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||
specPhoenixAIWarehouseSpec |
Spec represents the specification of desired state of a PhoenixAI warehouse.
|
||||
statusPhoenixAIWarehouseStatus |
Status represents the recent observed status of the PhoenixAI warehouse. |
(Appears on:PhoenixAIWarehouse)
PhoenixAIWarehouseSpec defines the desired state of PhoenixAIWarehouse
| Field | Description |
|---|---|
phoenixAIClusterstring |
PhoenixAICluster is the name of a PhoenixAICluster which the warehouse belongs to. |
templateWarehouseComponentSpec |
Template define component configuration. |
(Appears on:PhoenixAIWarehouse)
PhoenixAIWarehouseStatus defines the observed state of PhoenixAIWarehouse.
| Field | Description |
|---|---|
WarehouseComponentStatusPhoenixAICnStatus |
(Members of |
(Appears on:PhoenixAIComponentSpec)
| Field | Description |
|---|---|
namestring |
This must match the Name of a ConfigMap or Secret in the same namespace, and the length of name must not more than 50 characters. |
mountPathstring |
Path within the container at which the volume should be mounted. Must not contain ‘:’. |
subPathstring |
(Optional)
SubPath within the volume from which the container’s volume should be mounted. Defaults to “” (volume’s root). |
SpecInterface defines the common interface that must be implemented by all PhoenixAI component specs (FE, BE, CN, FE Proxy). It provides methods to configure pod and container settings like security context, lifecycle hooks, networking, and storage. All components including PhoenixAIFeSpec, PhoenixAIBeSpec, PhoenixAICnSpec, PhoenixAIFeProxySpec have implemented the SpecInterface. If a method has the same implementation, we will implement in PhoenixAILoadSpec which implements the loadInterface interface.
(Appears on:PhoenixAILoadSpec)
StorageVolume defines additional PVC template for StatefulSets and volumeMount for pods that mount this PVC.
| Field | Description |
|---|---|
namestring |
name of a storage volume. |
storageClassNamestring |
(Optional)
storageClassName is the name of the StorageClass required by the claim. If storageClassName is not set, the default StorageClass of kubernetes will be used. there are some special storageClassName: emptyDir, hostPath, csi. In this case, It will use emptyDir, hostPath or an ephemeral inline CSI volume, not PVC. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
storageSizestring |
(Optional)
StorageSize is a valid memory size type based on powers-of-2, so 1Mi is 1024Ki.
Supported units:Mi, Gi, GiB, Ti, Ti, Pi, Ei, Ex: |
hostPathKubernetes core/v1.HostPathVolumeSource |
(Optional)
HostPath Represents a host path mapped into a pod. If StorageClassName is hostPath, HostPath is required. |
csiKubernetes core/v1.CSIVolumeSource |
(Optional)
CSI represents an ephemeral inline CSI volume mounted into the pod, for example the SPIFFE workload API socket provided by driver csi.spiffe.io. Unlike a PVC-backed volume, its lifecycle is tied to the pod and no PersistentVolumeClaim is created for it. If StorageClassName is csi, CSI is required. |
mountPathstring |
MountPath specify the path of volume mount. |
subPathstring |
SubPath within the volume from which the container’s volume should be mounted. Defaults to “” (volume’s root). |
readOnlybool |
(Optional)
ReadOnly mounts the volume read-only inside the container if true, read-write otherwise. This sets readOnly on the container’s volumeMount, which is what the container’s mount table reports. It is independent of any read-only flag on the volume source itself: for a CSI volume, csi.readOnly asks the driver to publish the volume read-only, while this field controls how the volume is mounted into the container. Setting both is the usual intent. Defaults to false. |
(Appears on:PhoenixAIWarehouseSpec)
WarehouseComponentSpec defines the desired state of component.
| Field | Description |
|---|---|
PhoenixAIComponentSpecPhoenixAIComponentSpec |
(Members of |
envVars[]Kubernetes core/v1.EnvVar |
(Optional)
envVars is a slice of environment variables that are added to the pods, the default is empty. |
autoScalingPolicyAutoScalingPolicy |
AutoScalingPolicy defines auto scaling policy |
Generated with gen-crd-api-reference-docs
on git commit c8281bb8.