From cfa56e6a59ecaf0e973ae9cebcef253de2b6e317 Mon Sep 17 00:00:00 2001 From: wangyelei Date: Thu, 22 May 2025 16:11:50 +0800 Subject: [PATCH 1/4] fix: init playgroud bug --- pkg/cloudprovider/k3d.go | 2 +- pkg/cmd/cluster/create_subcmds.go | 8 +++ pkg/cmd/cluster/dataprotection.go | 5 +- pkg/cmd/playground/init.go | 64 ++++++++++++++++- .../snapshot-controller-addon.yaml | 71 +++++++++++++++++++ .../snapshot-controller-cm.yaml | 33 +++++++++ pkg/cmd/playground/types.go | 2 +- 7 files changed, 181 insertions(+), 4 deletions(-) create mode 100644 pkg/cmd/playground/snapshot-controller/snapshot-controller-addon.yaml create mode 100644 pkg/cmd/playground/snapshot-controller/snapshot-controller-cm.yaml diff --git a/pkg/cloudprovider/k3d.go b/pkg/cloudprovider/k3d.go index 6e16922bd..e2a9b15d3 100644 --- a/pkg/cloudprovider/k3d.go +++ b/pkg/cloudprovider/k3d.go @@ -282,7 +282,7 @@ func buildClusterConfig(clusterName string, opts k3d.ClusterCreateOpts, k3sImage Role: k3d.ServerRole, Image: k3sImage, ServerOpts: k3d.ServerOpts{}, - Args: []string{"--disable=metrics-server", "--disable=traefik", "--disable=local-storage"}, + Args: []string{"--disable=metrics-server", "--disable=traefik"}, } nodes = append(nodes, &serverNode) diff --git a/pkg/cmd/cluster/create_subcmds.go b/pkg/cmd/cluster/create_subcmds.go index fb29ac41c..2c4acb3e5 100644 --- a/pkg/cmd/cluster/create_subcmds.go +++ b/pkg/cmd/cluster/create_subcmds.go @@ -160,6 +160,14 @@ func (o *CreateSubCmdsOptions) Complete(cmd *cobra.Command) error { } } + if o.Tenancy == "" { + o.Tenancy = "SharedNode" + } + + if o.PodAntiAffinity == "" { + o.PodAntiAffinity = "Preferred" + } + // get values from flags if cmd != nil { o.Values = getValuesFromFlags(cmd.LocalNonPersistentFlags()) diff --git a/pkg/cmd/cluster/dataprotection.go b/pkg/cmd/cluster/dataprotection.go index 338e17277..2102fa3fe 100644 --- a/pkg/cmd/cluster/dataprotection.go +++ b/pkg/cmd/cluster/dataprotection.go @@ -93,8 +93,11 @@ var ( kbcli cluster list-restores --names r1,r2 `) describeBackupExample = templates.Examples(` + # describe backups of the cluster + kbcli cluster describe-backup + # describe a backup - kbcli cluster describe-backup backup-default-mycluster-20230616190023 + kbcli cluster describe-backup --names `) describeBackupPolicyExample = templates.Examples(` # describe the default backup policy of the cluster diff --git a/pkg/cmd/playground/init.go b/pkg/cmd/playground/init.go index af4b4adb1..0698d937b 100644 --- a/pkg/cmd/playground/init.go +++ b/pkg/cmd/playground/init.go @@ -23,6 +23,7 @@ import ( "fmt" "os" "path/filepath" + "runtime" "strings" "time" @@ -30,12 +31,16 @@ import ( "github.com/pkg/errors" "github.com/spf13/cobra" "golang.org/x/exp/slices" + "golang.org/x/net/context" apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/util/rand" "k8s.io/cli-runtime/pkg/genericiooptions" "k8s.io/klog/v2" cmdutil "k8s.io/kubectl/pkg/cmd/util" "k8s.io/kubectl/pkg/util/templates" + "sigs.k8s.io/yaml" cp "github.com/apecloud/kbcli/pkg/cloudprovider" "github.com/apecloud/kbcli/pkg/cluster" @@ -72,7 +77,8 @@ on the created kubernetes cluster, and an apecloud-mysql cluster named mycluster kbcli cluster describe mycluster # connect to database - kbcli cluster connect mycluster + kbcli exec -it mycluster-mysql-0 bash + mysql -h 127.1 -u root -p$MYSQL_ROOT_PASSWORD # view the Grafana kbcli dashboard open kubeblocks-grafana @@ -207,6 +213,18 @@ func (o *initOptions) local() error { } } + if clusterInfo.K3sImage == "" { + if o.prevCluster != nil { + playgrouddir, err := initPlaygroundDir() + if err != nil { + return err + } + return fmt.Errorf(fmt.Sprintf("k3s image not specified, you can run `rm -rf %s ` and retry", playgrouddir)) + } + clusterInfo.K3sImage = cp.K3sImageDefault + clusterInfo.K3dProxyImage = cp.K3dProxyImageDefault + } + if err = writeClusterInfo(o.stateFilePath, clusterInfo); err != nil { return errors.Wrapf(err, "failed to write kubernetes cluster info to state file %s:\n %v", o.stateFilePath, clusterInfo) } @@ -410,6 +428,10 @@ func (o *initOptions) installKBAndCluster(info *cp.K8sClusterInfo) error { return errors.Wrap(err, "failed to install KubeBlocks") } klog.V(1).Info("KubeBlocks installed successfully") + if err = o.createSnapshotController(); err != nil { + return errors.Wrap(err, "failed to install snapshot controller") + } + klog.V(1).Info("create snapshot controller addon successfully") // install database cluster clusterInfo := "ClusterType: " + o.clusterType s := spinner.New(o.Out, spinnerMsg("Create cluster %s (%s)", kbClusterName, clusterInfo)) @@ -494,6 +516,46 @@ func (o *initOptions) installKubeBlocks(k8sClusterName string) error { return insOpts.Install() } +func (o *initOptions) createSnapshotController() error { + if o.cloudProvider != cp.Local { + return nil + } + cli, err := util.NewFactory().DynamicClient() + if err != nil { + return err + } + _, currentFile, _, _ := runtime.Caller(1) + baseDir := filepath.Dir(currentFile) + getUnstructured := func(fileName string) (*unstructured.Unstructured, error) { + cmBytes, err := os.ReadFile(fileName) + if err != nil { + return nil, err + } + cm := &unstructured.Unstructured{} + if err := yaml.Unmarshal(cmBytes, cm); err != nil { + return nil, err + } + return cm, err + } + snapshotControllerCM, err := getUnstructured(baseDir + "/snapshot-controller/snapshot-controller-cm.yaml") + if err != nil { + return err + } + snapshotControllerCM.SetNamespace(defaultNamespace) + if _, err = cli.Resource(types.ConfigmapGVR()).Namespace(defaultNamespace).Create(context.TODO(), snapshotControllerCM, metav1.CreateOptions{}); err != nil { + return err + } + + snapshotControllerAddon, err := getUnstructured(baseDir + "/snapshot-controller/snapshot-controller-addon.yaml") + if err != nil { + return err + } + if _, err = cli.Resource(types.AddonGVR()).Namespace("").Create(context.TODO(), snapshotControllerAddon, metav1.CreateOptions{}); err != nil { + return err + } + return nil +} + // createCluster constructs a cluster create options and run func (o *initOptions) createCluster() error { c, err := cmdcluster.NewSubCmdsOptions(&cmdcluster.NewCreateOptions(util.NewFactory(), genericiooptions.NewTestIOStreamsDiscard()).CreateOptions, cluster.ClusterType(o.clusterType)) diff --git a/pkg/cmd/playground/snapshot-controller/snapshot-controller-addon.yaml b/pkg/cmd/playground/snapshot-controller/snapshot-controller-addon.yaml new file mode 100644 index 000000000..b2e31c0d8 --- /dev/null +++ b/pkg/cmd/playground/snapshot-controller/snapshot-controller-addon.yaml @@ -0,0 +1,71 @@ +apiVersion: extensions.kubeblocks.io/v1alpha1 +kind: Addon +metadata: + name: snapshot-controller +spec: + defaultInstallValues: + - enabled: true + resources: {} + tolerations: '[{"effect":"NoSchedule","key":"kb-controller","operator":"Equal","value":"true"}]' + - resources: {} + selectors: + - key: KubeGitVersion + operator: Contains + values: + - eks + storageClass: ebs.csi.aws.com + tolerations: '[{"effect":"NoSchedule","key":"kb-controller","operator":"Equal","value":"true"}]' + - resources: {} + selectors: + - key: KubeGitVersion + operator: Contains + values: + - gke + storageClass: pd.csi.storage.gke.io + tolerations: '[{"effect":"NoSchedule","key":"kb-controller","operator":"Equal","value":"true"}]' + - resources: {} + selectors: + - key: KubeGitVersion + operator: Contains + values: + - aks + storageClass: disk.csi.azure.com + tolerations: '[{"effect":"NoSchedule","key":"kb-controller","operator":"Equal","value":"true"}]' + description: 'Deploys a Snapshot Controller in a cluster. Snapshot Controllers are + often bundled with the Kubernetes distribution, this chart is meant for cases + where it is not. ' + helm: + chartLocationURL: file:///snapshot-controller-1.7.2.tgz + chartsImage: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-charts:0.9.3 + chartsPathInImage: /charts + installValues: + configMapRefs: + - key: values-kubeblocks-override.yaml + name: snapshot-controller-chart-kubeblocks-values + valuesMapping: + jsonMap: + tolerations: tolerations + resources: + cpu: + limits: resources.limits.cpu + requests: resources.requests.cpu + memory: + limits: resources.limits.memory + requests: resources.requests.memory + valueMap: + replicaCount: replicaCount + storageClass: volumeSnapshotClasses[0].driver + installable: + autoInstall: true + selectors: + - key: KubeGitVersion + operator: DoesNotContain + values: + - tke + - aliyun. + - key: KubeProvider + operator: DoesNotContain + values: + - huaweiCloud + - azure + type: Helm diff --git a/pkg/cmd/playground/snapshot-controller/snapshot-controller-cm.yaml b/pkg/cmd/playground/snapshot-controller/snapshot-controller-cm.yaml new file mode 100644 index 000000000..04aeeae42 --- /dev/null +++ b/pkg/cmd/playground/snapshot-controller/snapshot-controller-cm.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +data: + values-kubeblocks-override.yaml: |- + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - preference: + matchExpressions: + - key: kb-controller + operator: In + values: + - "true" + weight: 100 + enabled: true + image: + repository: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/snapshot-controller + tag: v6.2.1 + replicaCount: 1 + tolerations: + - effect: NoSchedule + key: kb-controller + operator: Equal + value: "true" + volumeSnapshotClasses: + - deletionPolicy: Delete + driver: hostpath.csi.k8s.io + name: default-vsc +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: kubeblocks + app.kubernetes.io/name: kubeblocks + name: snapshot-controller-chart-kubeblocks-values diff --git a/pkg/cmd/playground/types.go b/pkg/cmd/playground/types.go index 1bfe60d86..069e77aa7 100644 --- a/pkg/cmd/playground/types.go +++ b/pkg/cmd/playground/types.go @@ -32,7 +32,7 @@ const ( const ( defaultCloudProvider = cloudprovider.Local - defaultClusterType = "apecloud-mysql" + defaultClusterType = "mysql" // defaultNamespace is the namespace of playground cluster defaultNamespace = "default" From f0306eb11b79c00ba2ccc29f09d6887ba072785d Mon Sep 17 00:00:00 2001 From: wangyelei Date: Thu, 22 May 2025 08:13:28 +0000 Subject: [PATCH 2/4] chore: auto update cli doc changes --- docs/user_docs/cli/kbcli_cluster_describe-backup.md | 5 ++++- docs/user_docs/cli/kbcli_playground_init.md | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/user_docs/cli/kbcli_cluster_describe-backup.md b/docs/user_docs/cli/kbcli_cluster_describe-backup.md index 1aa5eb805..898aebd53 100644 --- a/docs/user_docs/cli/kbcli_cluster_describe-backup.md +++ b/docs/user_docs/cli/kbcli_cluster_describe-backup.md @@ -11,8 +11,11 @@ kbcli cluster describe-backup BACKUP-NAME [flags] ### Examples ``` + # describe backups of the cluster + kbcli cluster describe-backup + # describe a backup - kbcli cluster describe-backup backup-default-mycluster-20230616190023 + kbcli cluster describe-backup --names ``` ### Options diff --git a/docs/user_docs/cli/kbcli_playground_init.md b/docs/user_docs/cli/kbcli_playground_init.md index 5acd4a857..9e2924b2a 100644 --- a/docs/user_docs/cli/kbcli_playground_init.md +++ b/docs/user_docs/cli/kbcli_playground_init.md @@ -31,7 +31,8 @@ kbcli playground init [flags] kbcli cluster describe mycluster # connect to database - kbcli cluster connect mycluster + kbcli exec -it mycluster-mysql-0 bash + mysql -h 127.1 -u root -p$MYSQL_ROOT_PASSWORD # view the Grafana kbcli dashboard open kubeblocks-grafana @@ -45,7 +46,7 @@ kbcli playground init [flags] ``` --auto-approve Skip interactive approval during the initialization of playground --cloud-provider string Cloud provider type, one of [local aws] (default "local") - --cluster-type string Specify the cluster type to create, use 'kbcli cluster create --help' to get the available cluster type. (default "apecloud-mysql") + --cluster-type string Specify the cluster type to create, use 'kbcli cluster create --help' to get the available cluster type. (default "mysql") -h, --help help for init --k3d-proxy-image string Specify k3d proxy image if you want to init playground locally (default "docker.io/apecloud/k3d-proxy:5.4.4") --k3s-image string Specify k3s image that you want to use for the nodes if you want to init playground locally (default "rancher/k3s:v1.23.8-k3s1") From b986c016d6c4b70a6c9e1b99823198ef5a18d908 Mon Sep 17 00:00:00 2001 From: wangyelei Date: Thu, 22 May 2025 16:14:52 +0800 Subject: [PATCH 3/4] fix bug --- docs/user_docs/cli/kbcli_cluster_create.md | 10 ++++ .../kbcli_cluster_create_apecloud-mysql.md | 54 ++++++++----------- .../user_docs/cli/kbcli_cluster_custom-ops.md | 3 ++ 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/docs/user_docs/cli/kbcli_cluster_create.md b/docs/user_docs/cli/kbcli_cluster_create.md index 6c3805622..cec4d416f 100644 --- a/docs/user_docs/cli/kbcli_cluster_create.md +++ b/docs/user_docs/cli/kbcli_cluster_create.md @@ -55,14 +55,24 @@ kbcli cluster create [ClusterType] [flags] * [kbcli cluster](kbcli_cluster.md) - Cluster command. * [kbcli cluster create apecloud-mysql](kbcli_cluster_create_apecloud-mysql.md) - Create a apecloud-mysql cluster. +* [kbcli cluster create clickhouse](kbcli_cluster_create_clickhouse.md) - Create a clickhouse cluster. * [kbcli cluster create etcd](kbcli_cluster_create_etcd.md) - Create a etcd cluster. +* [kbcli cluster create greptime](kbcli_cluster_create_greptime.md) - Create a greptime cluster. * [kbcli cluster create kafka](kbcli_cluster_create_kafka.md) - Create a kafka cluster. +* [kbcli cluster create loki](kbcli_cluster_create_loki.md) - Create a loki cluster. +* [kbcli cluster create milvus](kbcli_cluster_create_milvus.md) - Create a milvus cluster. +* [kbcli cluster create minio](kbcli_cluster_create_minio.md) - Create a minio cluster. * [kbcli cluster create mongodb](kbcli_cluster_create_mongodb.md) - Create a mongodb cluster. * [kbcli cluster create mysql](kbcli_cluster_create_mysql.md) - Create a mysql cluster. +* [kbcli cluster create oceanbase](kbcli_cluster_create_oceanbase.md) - Create a oceanbase cluster. +* [kbcli cluster create orchestrator](kbcli_cluster_create_orchestrator.md) - Create a orchestrator cluster. +* [kbcli cluster create polardbx](kbcli_cluster_create_polardbx.md) - Create a polardbx cluster. * [kbcli cluster create postgresql](kbcli_cluster_create_postgresql.md) - Create a postgresql cluster. +* [kbcli cluster create pulsar](kbcli_cluster_create_pulsar.md) - Create a pulsar cluster. * [kbcli cluster create qdrant](kbcli_cluster_create_qdrant.md) - Create a qdrant cluster. * [kbcli cluster create rabbitmq](kbcli_cluster_create_rabbitmq.md) - Create a rabbitmq cluster. * [kbcli cluster create redis](kbcli_cluster_create_redis.md) - Create a redis cluster. +* [kbcli cluster create victoria-metrics](kbcli_cluster_create_victoria-metrics.md) - Create a victoria-metrics cluster. #### Go Back to [CLI Overview](cli.md) Homepage. diff --git a/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md b/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md index e654ed265..b8ca2c109 100644 --- a/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md +++ b/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md @@ -21,37 +21,29 @@ kbcli cluster create apecloud-mysql NAME [flags] ### Options ``` - --cpu float CPU cores. Value range [0.5, 64]. (default 0.5) - --disable-exporter Enable or disable monitor. (default true) - --dry-run string[="unchanged"] Must be "client", or "server". If with client strategy, only print the object that would be sent, and no data is actually sent. If with server strategy, submit the server-side request, but no data is persistent. (default "none") - --edit Edit the API resource before creating - --etcd.local.etcdctl-api string (default "3") - --etcd.local.replicas int Value range [1, 3]. (default 3) - --etcd.local.resources.storage string (default "20Gi") - --etcd.local.service-version string (default "3.5.6") - --etcd.mode string Legal values [serviceRef, local]. (default "local") - --etcd.service-ref.cluster.component string (default "etcd") - --etcd.service-ref.cluster.credential string - --etcd.service-ref.cluster.name string - --etcd.service-ref.cluster.port string (default "client") - --etcd.service-ref.cluster.service string (default "headless") - --etcd.service-ref.namespace string (default "default") - --etcd.service-ref.service-descriptor string - -h, --help help for apecloud-mysql - --memory float Memory, the unit is Gi. Value range [0.5, 1000]. (default 0.5) - --mode string Cluster topology mode. Legal values [standalone, raftGroup]. (default "standalone") - --node-labels stringToString Node label selector (default []) - -o, --output format Prints the output in the specified format. Allowed values: JSON and YAML (default yaml) - --pod-anti-affinity string Pod anti-affinity type, one of: (Preferred, Required) (default "Preferred") - --proxy-enabled Enable proxy or not. - --replicas int The number of replicas, for standalone mode, the replicas is 1, for raftGroup mode, the default replicas is 3. Value range [1, 5]. (default 1) - --storage float Storage size, the unit is Gi. Value range [1, 10000]. (default 20) - --storage-class-name string Storage class name of the data volume - --tenancy string Tenancy options, one of: (SharedNode, DedicatedNode) (default "SharedNode") - --termination-policy string The termination policy of cluster. Legal values [DoNotTerminate, Delete, WipeOut]. (default "Delete") - --tolerations strings Tolerations for cluster, such as "key=value:effect,key:effect", for example '"engineType=mongo:NoSchedule", "diskType:NoSchedule"' - --topology-keys stringArray Topology keys for affinity - --version string MySQL Service Version. (default "8.0.30") + --availability-policy string The availability policy of cluster. Legal values [none, node, zone]. (default "node") + --cpu float CPU cores. Value range [0.5, 64]. (default 0.5) + --disable-exporter Enable or disable monitor. (default true) + --dry-run string[="unchanged"] Must be "client", or "server". If with client strategy, only print the object that would be sent, and no data is actually sent. If with server strategy, submit the server-side request, but no data is persistent. (default "none") + --edit Edit the API resource before creating + -h, --help help for apecloud-mysql + --host-network-accessible Specify whether the cluster can be accessed from within the VPC. + --memory float Memory, the unit is Gi. Value range [0.5, 1000]. (default 0.5) + --mode string Cluster topology mode. Legal values [standalone, raftGroup]. (default "standalone") + --node-labels stringToString Node label selector (default []) + -o, --output format Prints the output in the specified format. Allowed values: JSON and YAML (default yaml) + --pod-anti-affinity string Pod anti-affinity type, one of: (Preferred, Required) (default "Preferred") + --proxy-enabled Enable proxy or not. + --publicly-accessible Specify whether the cluster can be accessed from the public internet. + --rbac-enabled Specify whether rbac resources will be created by client, otherwise KubeBlocks server will try to create rbac resources. + --replicas int The number of replicas, for standalone mode, the replicas is 1, for raftGroup mode, the default replicas is 3. Value range [1, 5]. (default 1) + --storage float Storage size, the unit is Gi. Value range [1, 10000]. (default 20) + --storage-class-name string Storage class name of the data volume + --tenancy string The tenancy of cluster. Legal values [SharedNode, DedicatedNode]. (default "SharedNode") + --termination-policy string The termination policy of cluster. Legal values [DoNotTerminate, Halt, Delete, WipeOut]. (default "Delete") + --tolerations strings Tolerations for cluster, such as "key=value:effect,key:effect", for example '"engineType=mongo:NoSchedule", "diskType:NoSchedule"' + --topology-keys stringArray Topology keys for affinity + --version string Cluster version. (default "ac-mysql-8.0.30") ``` ### Options inherited from parent commands diff --git a/docs/user_docs/cli/kbcli_cluster_custom-ops.md b/docs/user_docs/cli/kbcli_cluster_custom-ops.md index 8bd6e19e2..680f3bfb1 100644 --- a/docs/user_docs/cli/kbcli_cluster_custom-ops.md +++ b/docs/user_docs/cli/kbcli_cluster_custom-ops.md @@ -57,6 +57,9 @@ kbcli cluster custom-ops OpsDef --cluster [fl ### SEE ALSO * [kbcli cluster](kbcli_cluster.md) - Cluster command. +* [kbcli cluster custom-ops kafka-quota](kbcli_cluster_custom-ops_kafka-quota.md) - Create a custom ops with opsDef kafka-quota +* [kbcli cluster custom-ops kafka-topic](kbcli_cluster_custom-ops_kafka-topic.md) - Create a custom ops with opsDef kafka-topic +* [kbcli cluster custom-ops kafka-user-acl](kbcli_cluster_custom-ops_kafka-user-acl.md) - Create a custom ops with opsDef kafka-user-acl #### Go Back to [CLI Overview](cli.md) Homepage. From e497387da2e7fb3678f4ddd0e3503a61b2724e2b Mon Sep 17 00:00:00 2001 From: wangyelei Date: Thu, 22 May 2025 08:17:17 +0000 Subject: [PATCH 4/4] chore: auto update cli doc changes --- docs/user_docs/cli/kbcli_cluster_create.md | 10 ---- .../kbcli_cluster_create_apecloud-mysql.md | 54 +++++++++++-------- .../user_docs/cli/kbcli_cluster_custom-ops.md | 3 -- 3 files changed, 31 insertions(+), 36 deletions(-) diff --git a/docs/user_docs/cli/kbcli_cluster_create.md b/docs/user_docs/cli/kbcli_cluster_create.md index cec4d416f..6c3805622 100644 --- a/docs/user_docs/cli/kbcli_cluster_create.md +++ b/docs/user_docs/cli/kbcli_cluster_create.md @@ -55,24 +55,14 @@ kbcli cluster create [ClusterType] [flags] * [kbcli cluster](kbcli_cluster.md) - Cluster command. * [kbcli cluster create apecloud-mysql](kbcli_cluster_create_apecloud-mysql.md) - Create a apecloud-mysql cluster. -* [kbcli cluster create clickhouse](kbcli_cluster_create_clickhouse.md) - Create a clickhouse cluster. * [kbcli cluster create etcd](kbcli_cluster_create_etcd.md) - Create a etcd cluster. -* [kbcli cluster create greptime](kbcli_cluster_create_greptime.md) - Create a greptime cluster. * [kbcli cluster create kafka](kbcli_cluster_create_kafka.md) - Create a kafka cluster. -* [kbcli cluster create loki](kbcli_cluster_create_loki.md) - Create a loki cluster. -* [kbcli cluster create milvus](kbcli_cluster_create_milvus.md) - Create a milvus cluster. -* [kbcli cluster create minio](kbcli_cluster_create_minio.md) - Create a minio cluster. * [kbcli cluster create mongodb](kbcli_cluster_create_mongodb.md) - Create a mongodb cluster. * [kbcli cluster create mysql](kbcli_cluster_create_mysql.md) - Create a mysql cluster. -* [kbcli cluster create oceanbase](kbcli_cluster_create_oceanbase.md) - Create a oceanbase cluster. -* [kbcli cluster create orchestrator](kbcli_cluster_create_orchestrator.md) - Create a orchestrator cluster. -* [kbcli cluster create polardbx](kbcli_cluster_create_polardbx.md) - Create a polardbx cluster. * [kbcli cluster create postgresql](kbcli_cluster_create_postgresql.md) - Create a postgresql cluster. -* [kbcli cluster create pulsar](kbcli_cluster_create_pulsar.md) - Create a pulsar cluster. * [kbcli cluster create qdrant](kbcli_cluster_create_qdrant.md) - Create a qdrant cluster. * [kbcli cluster create rabbitmq](kbcli_cluster_create_rabbitmq.md) - Create a rabbitmq cluster. * [kbcli cluster create redis](kbcli_cluster_create_redis.md) - Create a redis cluster. -* [kbcli cluster create victoria-metrics](kbcli_cluster_create_victoria-metrics.md) - Create a victoria-metrics cluster. #### Go Back to [CLI Overview](cli.md) Homepage. diff --git a/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md b/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md index b8ca2c109..e654ed265 100644 --- a/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md +++ b/docs/user_docs/cli/kbcli_cluster_create_apecloud-mysql.md @@ -21,29 +21,37 @@ kbcli cluster create apecloud-mysql NAME [flags] ### Options ``` - --availability-policy string The availability policy of cluster. Legal values [none, node, zone]. (default "node") - --cpu float CPU cores. Value range [0.5, 64]. (default 0.5) - --disable-exporter Enable or disable monitor. (default true) - --dry-run string[="unchanged"] Must be "client", or "server". If with client strategy, only print the object that would be sent, and no data is actually sent. If with server strategy, submit the server-side request, but no data is persistent. (default "none") - --edit Edit the API resource before creating - -h, --help help for apecloud-mysql - --host-network-accessible Specify whether the cluster can be accessed from within the VPC. - --memory float Memory, the unit is Gi. Value range [0.5, 1000]. (default 0.5) - --mode string Cluster topology mode. Legal values [standalone, raftGroup]. (default "standalone") - --node-labels stringToString Node label selector (default []) - -o, --output format Prints the output in the specified format. Allowed values: JSON and YAML (default yaml) - --pod-anti-affinity string Pod anti-affinity type, one of: (Preferred, Required) (default "Preferred") - --proxy-enabled Enable proxy or not. - --publicly-accessible Specify whether the cluster can be accessed from the public internet. - --rbac-enabled Specify whether rbac resources will be created by client, otherwise KubeBlocks server will try to create rbac resources. - --replicas int The number of replicas, for standalone mode, the replicas is 1, for raftGroup mode, the default replicas is 3. Value range [1, 5]. (default 1) - --storage float Storage size, the unit is Gi. Value range [1, 10000]. (default 20) - --storage-class-name string Storage class name of the data volume - --tenancy string The tenancy of cluster. Legal values [SharedNode, DedicatedNode]. (default "SharedNode") - --termination-policy string The termination policy of cluster. Legal values [DoNotTerminate, Halt, Delete, WipeOut]. (default "Delete") - --tolerations strings Tolerations for cluster, such as "key=value:effect,key:effect", for example '"engineType=mongo:NoSchedule", "diskType:NoSchedule"' - --topology-keys stringArray Topology keys for affinity - --version string Cluster version. (default "ac-mysql-8.0.30") + --cpu float CPU cores. Value range [0.5, 64]. (default 0.5) + --disable-exporter Enable or disable monitor. (default true) + --dry-run string[="unchanged"] Must be "client", or "server". If with client strategy, only print the object that would be sent, and no data is actually sent. If with server strategy, submit the server-side request, but no data is persistent. (default "none") + --edit Edit the API resource before creating + --etcd.local.etcdctl-api string (default "3") + --etcd.local.replicas int Value range [1, 3]. (default 3) + --etcd.local.resources.storage string (default "20Gi") + --etcd.local.service-version string (default "3.5.6") + --etcd.mode string Legal values [serviceRef, local]. (default "local") + --etcd.service-ref.cluster.component string (default "etcd") + --etcd.service-ref.cluster.credential string + --etcd.service-ref.cluster.name string + --etcd.service-ref.cluster.port string (default "client") + --etcd.service-ref.cluster.service string (default "headless") + --etcd.service-ref.namespace string (default "default") + --etcd.service-ref.service-descriptor string + -h, --help help for apecloud-mysql + --memory float Memory, the unit is Gi. Value range [0.5, 1000]. (default 0.5) + --mode string Cluster topology mode. Legal values [standalone, raftGroup]. (default "standalone") + --node-labels stringToString Node label selector (default []) + -o, --output format Prints the output in the specified format. Allowed values: JSON and YAML (default yaml) + --pod-anti-affinity string Pod anti-affinity type, one of: (Preferred, Required) (default "Preferred") + --proxy-enabled Enable proxy or not. + --replicas int The number of replicas, for standalone mode, the replicas is 1, for raftGroup mode, the default replicas is 3. Value range [1, 5]. (default 1) + --storage float Storage size, the unit is Gi. Value range [1, 10000]. (default 20) + --storage-class-name string Storage class name of the data volume + --tenancy string Tenancy options, one of: (SharedNode, DedicatedNode) (default "SharedNode") + --termination-policy string The termination policy of cluster. Legal values [DoNotTerminate, Delete, WipeOut]. (default "Delete") + --tolerations strings Tolerations for cluster, such as "key=value:effect,key:effect", for example '"engineType=mongo:NoSchedule", "diskType:NoSchedule"' + --topology-keys stringArray Topology keys for affinity + --version string MySQL Service Version. (default "8.0.30") ``` ### Options inherited from parent commands diff --git a/docs/user_docs/cli/kbcli_cluster_custom-ops.md b/docs/user_docs/cli/kbcli_cluster_custom-ops.md index 680f3bfb1..8bd6e19e2 100644 --- a/docs/user_docs/cli/kbcli_cluster_custom-ops.md +++ b/docs/user_docs/cli/kbcli_cluster_custom-ops.md @@ -57,9 +57,6 @@ kbcli cluster custom-ops OpsDef --cluster [fl ### SEE ALSO * [kbcli cluster](kbcli_cluster.md) - Cluster command. -* [kbcli cluster custom-ops kafka-quota](kbcli_cluster_custom-ops_kafka-quota.md) - Create a custom ops with opsDef kafka-quota -* [kbcli cluster custom-ops kafka-topic](kbcli_cluster_custom-ops_kafka-topic.md) - Create a custom ops with opsDef kafka-topic -* [kbcli cluster custom-ops kafka-user-acl](kbcli_cluster_custom-ops_kafka-user-acl.md) - Create a custom ops with opsDef kafka-user-acl #### Go Back to [CLI Overview](cli.md) Homepage.