Documentation ¶
Index ¶
- Constants
- Variables
- func APIResource(dynamic *dynamic.Interface, resource *schema.GroupVersionResource, name string, ...) error
- func BuildErrorMsg(msgArr *[]string, msg string)
- func BuildInitializationStepsOrder(task *migrationv1.MigrationTask, template *migrationv1.MigrationTemplate) []string
- func CliStepChangeToStructure() (map[string]string, []string)
- func IsMigrationCrdValidWithDynamic(dynamic *dynamic.Interface) (bool, error)
- func IsMigrationCrdValidWithFactory(factory cmdutil.Factory) (bool, error)
- func NewMigrationCmd(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command
- func NewMigrationCreateCmd(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command
- func NewMigrationDescribeCmd(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command
- func NewMigrationListCmd(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command
- func NewMigrationLogsCmd(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command
- func NewMigrationTemplatesCmd(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command
- func NewMigrationTerminateCmd(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command
- func PrintCrdInvalidError(err error)
- type CreateMigrationOptions
- func (o *CreateMigrationOptions) BuildWithResources() error
- func (o *CreateMigrationOptions) BuildWithRuntimeParams() error
- func (o *CreateMigrationOptions) BuildWithSteps(errMsgArr *[]string) error
- func (o *CreateMigrationOptions) BuildWithTolerations() error
- func (o *CreateMigrationOptions) Validate() error
- type DBObjectExpress
- type EndpointModel
- type LogsOptions
- type MigrationObjectModel
- type TableObjectExpress
- type TaskTypeEnum
Constants ¶
View Source
const ( MigrationTaskLabel = "datamigration.apecloud.io/migrationtask" MigrationTaskStepAnnotation = "datamigration.apecloud.io/step" SerialJobOrderAnnotation = "common.apecloud.io/serial_job_order" )
View Source
const ( StringBoolTrue = "true" StringBoolFalse = "false" )
Variables ¶
View Source
var ( CreateTemplate = templates.Examples(` # Create a migration task to migrate the entire database under mysql: mydb1 and mytable1 under database: mydb2 to the target mysql kbcli migration create mytask --template apecloud-mysql2mysql --source user:123456@127.0.0.1:3306 --sink user:123456@127.0.0.1:3305 --migration-object '"mydb1","mydb2.mytable1"' # Create a migration task to migrate the schema: myschema under database: mydb1 under PostgreSQL to the target PostgreSQL kbcli migration create mytask --template apecloud-pg2pg --source user:123456@127.0.0.1:3306/mydb1 --sink user:123456@127.0.0.1:3305/mydb1 --migration-object '"myschema"' # Use prechecks, data initialization, CDC, but do not perform structure initialization kbcli migration create mytask --template apecloud-pg2pg --source user:123456@127.0.0.1:3306/mydb1 --sink user:123456@127.0.0.1:3305/mydb1 --migration-object '"myschema"' --steps precheck=true,init-struct=false,init-data=true,cdc=true # Create a migration task with two tolerations kbcli migration create mytask --template apecloud-pg2pg --source user:123456@127.0.0.1:3306/mydb1 --sink user:123456@127.0.0.1:3305/mydb1 --migration-object '"myschema"' --tolerations '"step=global,key=engineType,value=pg,operator=Equal,effect=NoSchedule","step=init-data,key=diskType,value=ssd,operator=Equal,effect=NoSchedule"' # Limit resource usage when performing data initialization kbcli migration create mytask --template apecloud-pg2pg --source user:123456@127.0.0.1:3306/mydb1 --sink user:123456@127.0.0.1:3305/mydb1 --migration-object '"myschema"' --resources '"step=init-data,cpu=1000m,memory=1Gi"' `) DescribeExample = templates.Examples(` # describe a specified migration task kbcli migration describe mytask `) ListExample = templates.Examples(` # list all migration tasks kbcli migration list # list a single migration task with specified NAME kbcli migration list mytask # list a single migration task in YAML output format kbcli migration list mytask -o yaml # list a single migration task in JSON output format kbcli migration list mytask -o json # list a single migration task in wide output format kbcli migration list mytask -o wide `) TemplateExample = templates.Examples(` # list all migration templates kbcli migration templates # list a single migration template with specified NAME kbcli migration templates mytemplate # list a single migration template in YAML output format kbcli migration templates mytemplate -o yaml # list a single migration template in JSON output format kbcli migration templates mytemplate -o json # list a single migration template in wide output format kbcli migration templates mytemplate -o wide `) DeleteExample = templates.Examples(` # terminate a migration task named mytask and delete resources in k8s without affecting source and target data in database kbcli migration terminate mytask `) LogsExample = templates.Examples(` # Logs when returning to the "init-struct" step from the migration task mytask kbcli migration logs mytask --step init-struct # Logs only the most recent 20 lines when returning to the "cdc" step from the migration task mytask kbcli migration logs mytask --step cdc --tail=20 `) )
Cli Migration Command Examples
View Source
var ( AllStepsArr = []string{ migrationv1.CliStepGlobal.String(), migrationv1.CliStepPreCheck.String(), migrationv1.CliStepCdc.String(), migrationv1.CliStepInitStruct.String(), migrationv1.CliStepInitData.String(), } )
Functions ¶
func APIResource ¶
func BuildErrorMsg ¶
func BuildInitializationStepsOrder ¶
func BuildInitializationStepsOrder(task *migrationv1.MigrationTask, template *migrationv1.MigrationTemplate) []string
func NewMigrationCmd ¶
NewMigrationCmd creates the cluster command
func NewMigrationCreateCmd ¶
func NewMigrationDescribeCmd ¶
func NewMigrationListCmd ¶
func NewMigrationLogsCmd ¶
func PrintCrdInvalidError ¶
func PrintCrdInvalidError(err error)
Types ¶
type CreateMigrationOptions ¶
type CreateMigrationOptions struct { Template string `json:"template"` TaskType string `json:"taskType,omitempty"` Source string `json:"source"` SourceEndpointModel EndpointModel `json:"sourceEndpointModel,omitempty"` Sink string `json:"sink"` SinkEndpointModel EndpointModel `json:"sinkEndpointModel,omitempty"` MigrationObject []string `json:"migrationObject"` MigrationObjectModel MigrationObjectModel `json:"migrationObjectModel,omitempty"` Steps []string `json:"steps,omitempty"` StepsModel []string `json:"stepsModel,omitempty"` Tolerations []string `json:"tolerations,omitempty"` TolerationModel map[string][]interface{} `json:"tolerationModel,omitempty"` Resources []string `json:"resources,omitempty"` ResourceModel map[string]interface{} `json:"resourceModel,omitempty"` ServerID uint32 `json:"serverId,omitempty"` action.CreateOptions `json:"-"` }
func (*CreateMigrationOptions) BuildWithResources ¶
func (o *CreateMigrationOptions) BuildWithResources() error
func (*CreateMigrationOptions) BuildWithRuntimeParams ¶
func (o *CreateMigrationOptions) BuildWithRuntimeParams() error
func (*CreateMigrationOptions) BuildWithSteps ¶
func (o *CreateMigrationOptions) BuildWithSteps(errMsgArr *[]string) error
func (*CreateMigrationOptions) BuildWithTolerations ¶
func (o *CreateMigrationOptions) BuildWithTolerations() error
func (*CreateMigrationOptions) Validate ¶
func (o *CreateMigrationOptions) Validate() error
type DBObjectExpress ¶
type DBObjectExpress struct { SchemaName string `json:"schemaName"` // +optional IsAll bool `json:"isAll"` // +optional TableList []TableObjectExpress `json:"tableList"` }
type EndpointModel ¶
type EndpointModel struct { UserName string `json:"userName"` Password string `json:"password"` Address string `json:"address"` // +optional Database string `json:"databaseName,omitempty"` }
func (*EndpointModel) BuildFromStr ¶
func (e *EndpointModel) BuildFromStr(msgArr *[]string, endpointStr string) error
type LogsOptions ¶
type LogsOptions struct { Client *kubernetes.Clientset Dynamic dynamic.Interface *action.ExecOptions // contains filtered or unexported fields }
type MigrationObjectModel ¶
type MigrationObjectModel struct {
WhiteList []DBObjectExpress `json:"whiteList"`
}
func (*MigrationObjectModel) BuildFromStrs ¶
func (m *MigrationObjectModel) BuildFromStrs(errMsgArr *[]string, objStrs []string) error
func (*MigrationObjectModel) ContainSchema ¶
func (m *MigrationObjectModel) ContainSchema(schemaName string) (*DBObjectExpress, error)
type TableObjectExpress ¶
type TaskTypeEnum ¶
type TaskTypeEnum string
const ( Initialization TaskTypeEnum = "initialization" InitializationAndCdc TaskTypeEnum = "initialization-and-cdc" // default value )
func (TaskTypeEnum) String ¶
func (s TaskTypeEnum) String() string
Click to show internal directories.
Click to hide internal directories.