diff --git a/pkg/apis/pingcap/v1alpha1/validation/validation.go b/pkg/apis/pingcap/v1alpha1/validation/validation.go index 2f9a20ea509..c33af448860 100644 --- a/pkg/apis/pingcap/v1alpha1/validation/validation.go +++ b/pkg/apis/pingcap/v1alpha1/validation/validation.go @@ -127,9 +127,9 @@ func validateTiDBClusterSpec(spec *v1alpha1.TidbClusterSpec, fldPath *field.Path if spec.TiCDC != nil { allErrs = append(allErrs, validateTiCDCSpec(spec.TiCDC, fldPath.Child("ticdc"))...) } - if spec.PDAddresses != nil { - allErrs = append(allErrs, validatePDAddresses(spec.PDAddresses, fldPath.Child("pdAddresses"))...) - } + // if spec.PDAddresses != nil { + // allErrs = append(allErrs, validatePDAddresses(spec.PDAddresses, fldPath.Child("pdAddresses"))...) + // } return allErrs } diff --git a/pkg/manager/member/pd_member_manager.go b/pkg/manager/member/pd_member_manager.go index 53c1eac80cf..aebd831685c 100644 --- a/pkg/manager/member/pd_member_manager.go +++ b/pkg/manager/member/pd_member_manager.go @@ -829,6 +829,8 @@ func getNewPDSetForTidbCluster(tc *v1alpha1.TidbCluster, cm *corev1.ConfigMap) ( return pdSet, nil } +const PDNamePrefixAnnKey = "tidb.pingcap.com/pd-name-prefix" + func getPDConfigMap(tc *v1alpha1.TidbCluster) (*corev1.ConfigMap, error) { // For backward compatibility, only sync tidb configmap when .tidb.config is non-nil if tc.Spec.PD.Config == nil { @@ -873,6 +875,11 @@ func getPDConfigMap(tc *v1alpha1.TidbCluster) (*corev1.ConfigMap, error) { Scheme: tc.Scheme(), DataDir: filepath.Join(pdDataVolumeMountPath, tc.Spec.PD.DataSubDir), } + + if v, ok := tc.Annotations[PDNamePrefixAnnKey]; ok { + sm.PDNamePrefix = v + } + if tc.Spec.PD.StartUpScriptVersion == "v1" { sm.CheckDomainScript = checkDNSV1 } diff --git a/pkg/manager/member/template.go b/pkg/manager/member/template.go index b7ae38593bc..9a0af0acfd5 100644 --- a/pkg/manager/member/template.go +++ b/pkg/manager/member/template.go @@ -177,7 +177,7 @@ fi {{- else}}{{.CheckDomainScript}}{{end}} done ARGS="--data-dir={{ .DataDir }} \ ---name={{- if or .AcrossK8s .ClusterDomain }}${domain}{{- else }}${POD_NAME}{{- end }} \ +--name={{ .PDNamePrefix }}{{- if or .AcrossK8s .ClusterDomain }}${domain}{{- else }}${POD_NAME}{{- end }} \ --peer-urls={{ .Scheme }}://0.0.0.0:2380 \ --advertise-peer-urls={{ .Scheme }}://${domain}:2380 \ --client-urls={{ .Scheme }}://0.0.0.0:2379 \ @@ -233,6 +233,7 @@ type PDStartScriptModel struct { Scheme string DataDir string CheckDomainScript string + PDNamePrefix string } func RenderPDStartScript(model *PDStartScriptModel) (string, error) {