in pkg/controller/sub_controller/disaggregated_cluster/metaservice/statefulset.go [53:91]
func (dms *DisaggregatedMSController) newStatefulset(ddc *v1.DorisDisaggregatedCluster, confMap map[string]interface{}) *appv1.StatefulSet {
st := dms.NewDefaultStatefulset(ddc)
func() {
st.Name = ddc.GetMSStatefulsetName()
st.Labels = dms.newMSSchedulerLabels(ddc.Name)
}()
msSpec := ddc.Spec.MetaService
matchLabels := dms.newMSPodsSelector(ddc.Name)
var volumeClaimTemplates []corev1.PersistentVolumeClaim
cpv := msSpec.PersistentVolume
if cpv != nil {
pvc := corev1.PersistentVolumeClaim{
ObjectMeta: metav1.ObjectMeta{
Name: defaultLogPrefixName,
Annotations: resource.NewAnnotations(),
},
Spec: cpv.PersistentVolumeClaimSpec,
}
volumeClaimTemplates = append(volumeClaimTemplates, pvc)
}
replicas := metadata.GetInt32Pointer(v1.DefaultMetaserviceNumber)
if msSpec.Replicas != nil {
replicas = msSpec.Replicas
}
func() {
st.Spec.Replicas = replicas
st.Spec.Selector = &metav1.LabelSelector{
MatchLabels: matchLabels,
}
st.Spec.Template = dms.NewPodTemplateSpec(ddc, matchLabels, confMap)
st.Spec.ServiceName = ddc.GetMSServiceName()
st.Spec.VolumeClaimTemplates = volumeClaimTemplates
}()
return st
}