You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2023/06/20 02:24:18 UTC

[shardingsphere-on-cloud] branch main updated: chore: update examples and operator charts (#420)

This is an automated email from the ASF dual-hosted git repository.

sunnianjun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shardingsphere-on-cloud.git


The following commit(s) were added to refs/heads/main by this push:
     new e950ee3  chore: update examples and operator charts (#420)
e950ee3 is described below

commit e950ee3726a34863e2bbce0ac19081e9aafb1749
Author: liyao <ma...@126.com>
AuthorDate: Tue Jun 20 10:24:12 2023 +0800

    chore: update examples and operator charts (#420)
    
    * chore: rename example crds
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: rename chaos crd examples
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: update crds yaml in operator charts
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: update examples of computenode
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * docs: update default replicas of operator in docs
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: remove computenode and shardingsphereproxy crd
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * fix: fix license header
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * fix: fix operator it
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * fix: fix operator it
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: update operator it
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: update operator it
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: update example
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * fix: fix operator
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: update operator it
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: enable computenode in operator it
    
    Signed-off-by: mlycore <ma...@126.com>
    
    * chore: add kubernetes crs for operator it
    
    Signed-off-by: mlycore <ma...@126.com>
    
    ---------
    
    Signed-off-by: mlycore <ma...@126.com>
---
 .../shardingsphere-computenode-mysql-cluster.yaml  |   2 +-
 .github/workflows/operator-integration.yml         |  10 +-
 .../shardingsphere.apache.org_computenodes.yaml    | 111 ++++----
 ...ingsphere.apache.org_shardingsphereproxies.yaml |  56 ++--
 ...pache.org_shardingsphereproxyserverconfigs.yaml |  32 +--
 .../shardingsphere.apache.org_storagenodes.yaml    | 315 +++++++++++----------
 .../shardingsphere_v1alpha1_computenode.yaml       |  80 ------
 ...hardingsphere_v1alpha1_shardingsphereproxy.yaml |  43 ---
 .../user-manual/cn-sn-operator/_index.cn.md        |   3 +-
 ...eproxy-mysql-standalone.yaml => chaos-cpu.yaml} |  34 ++-
 ...eproxy-mysql-standalone.yaml => chaos-mem.yaml} |  35 ++-
 ...xy-mysql-standalone.yaml => chaos-network.yaml} |  33 ++-
 ...eproxy-mysql-standalone.yaml => chaos-pod.yaml} |  34 +--
 ...here-computenode-mysql-cluster-with-agent.yaml} |  15 +-
 ... shardingsphere-computenode-mysql-cluster.yaml} |   2 +-
 ...ardingsphere-computenode-mysql-standalone.yaml} |   0
 ...dingsphere-storagenode-aws-aurora-cluster.yaml} |  15 -
 ...hardingsphere-storagenode-aws-rds-cluster.yaml} |   0
 ...ardingsphere-storagenode-aws-rds-instance.yaml} |  16 --
 ...gsphere-storageprovider-aws-aurora-cluster.yaml |  17 +-
 ...ingsphere-storageprovider-aws-rds-cluster.yaml} |   0
 ...ngsphere-storageprovider-aws-rds-instance.yaml} |  15 +-
 22 files changed, 381 insertions(+), 487 deletions(-)

diff --git a/examples/operator/shardingsphereproxy-mysql-cluster.yaml b/.github/kubernetes/shardingsphere-computenode-mysql-cluster.yaml
similarity index 99%
copy from examples/operator/shardingsphereproxy-mysql-cluster.yaml
copy to .github/kubernetes/shardingsphere-computenode-mysql-cluster.yaml
index 806438b..196d418 100644
--- a/examples/operator/shardingsphereproxy-mysql-cluster.yaml
+++ b/.github/kubernetes/shardingsphere-computenode-mysql-cluster.yaml
@@ -50,7 +50,7 @@ spec:
           type: ZooKeeper
           props:
             timeToLiveSeconds: "600"
-            server-lists: ${PLEASE_REPLACE_THIS_WITH_YOUR_ZOOKEEPER_SERVICE} 
+            server-lists: ${PLEASE_REPLACE_THIS_WITH_YOUR_ZOOKEEPER_SERVICE}
             retryIntervalMilliseconds: "500"
             operationTimeoutMilliseconds: "5000"
             namespace: governance_ds
diff --git a/.github/workflows/operator-integration.yml b/.github/workflows/operator-integration.yml
index c69fe76..a6dd62f 100644
--- a/.github/workflows/operator-integration.yml
+++ b/.github/workflows/operator-integration.yml
@@ -54,11 +54,17 @@ jobs:
           cd charts/apache-shardingsphere-operator-charts/
           helm dependency build
           cd ../
-          helm install shardingsphere-operator apache-shardingsphere-operator-charts -n shardingsphere-operator --set replicaCount=1 
+          helm install shardingsphere-operator apache-shardingsphere-operator-charts -n shardingsphere-operator --set replicaCount=1 --set operator.featureGates.computeNode=true 
           sleep 60
           kubectl wait --timeout=120s --for=condition=Ready --all pod -n shardingsphere-operator 
           kubectl get pod -n shardingsphere-operator --show-labels
-          kubectl port-forward svc/shardingsphere-operator-shardingsphere-proxy 3307:3307 -n shardingsphere-operator &
+      - name: "Install ComputeNode"
+        run: |
+          sed -i 's#${PLEASE_REPLACE_THIS_WITH_YOUR_ZOOKEEPER_SERVICE}#shardingsphere-operator-zookeeper.shardingsphere-operator:2181#g' .github/kubernetes/shardingsphere-computenode-mysql-cluster.yaml
+          kubectl apply -f .github/kubernetes/shardingsphere-computenode-mysql-cluster.yaml 
+          kubectl wait --timeout=120s --for=condition=Ready --all pod -n default 
+          kubectl get pod -n default --show-labels
+          kubectl port-forward svc/foo 3307:3307 &
       - name: "Prepare MySQL for ShardingSphere Proxy test"
         run: |
           set -x 
diff --git a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_computenodes.yaml b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_computenodes.yaml
index e39107e..b49de5d 100644
--- a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_computenodes.yaml
+++ b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_computenodes.yaml
@@ -1,19 +1,19 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+ #
+ # Licensed to the Apache Software Foundation (ASF) under one or more
+ # contributor license agreements.  See the NOTICE file distributed with
+ # this work for additional information regarding copyright ownership.
+ # The ASF licenses this file to You under the Apache License, Version 2.0
+ # (the "License"); you may not use this file except in compliance with
+ # the License.  You may obtain a copy of the License at
+ #
+ #     http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
 ---
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
@@ -32,11 +32,11 @@ spec:
   scope: Namespaced
   versions:
   - additionalPrinterColumns:
-    - jsonPath: .status.readyInstances
-      name: ReadyInstances
-      type: integer
+    - jsonPath: .status.ready
+      name: Ready
+      type: string
     - jsonPath: .status.phase
-      name: Phase
+      name: Status
       type: string
     - jsonPath: .status.loadBalancer.clusterIP
       name: Cluster-IP
@@ -114,19 +114,21 @@ spec:
                           tracing:
                             description: PluginTracing defines the plugin for tracing
                             properties:
-                              openTracing:
+                              openTelemetry:
                                 properties:
                                   props:
                                     additionalProperties:
                                       type: string
                                     type: object
+                                    x-kubernetes-preserve-unknown-fields: true
                                 type: object
-                              openTelemetry:
+                              openTracing:
                                 properties:
                                   props:
                                     additionalProperties:
                                       type: string
                                     type: object
+                                    x-kubernetes-preserve-unknown-fields: true
                                 type: object
                             type: object
                         type: object
@@ -139,8 +141,9 @@ spec:
                       Proxy
                     properties:
                       authority:
-                        description: ComputeNodeAuth  is used to set up initial user
-                          to login compute node, and authority data of storage node.
+                        description: ComputeNodeAuthority  is used to set up initial
+                          user to login compute node, and authority data of storage
+                          node.
                         properties:
                           privilege:
                             description: ComputeNodePrivilege for storage node, the
@@ -148,8 +151,6 @@ spec:
                             properties:
                               type:
                                 type: string
-                            required:
-                            - type
                             type: object
                           users:
                             items:
@@ -167,8 +168,6 @@ spec:
                               - user
                               type: object
                             type: array
-                        required:
-                        - users
                         type: object
                       mode:
                         description: ComputeNodeServerMode is the mode for ShardingSphere
@@ -181,8 +180,7 @@ spec:
                               props:
                                 additionalProperties:
                                   type: string
-                                description: properties of metadata repository Props
-                                  ComputeNodeClusterProps `json:"props,omitempty"`
+                                description: properties of metadata repository
                                 type: object
                                 x-kubernetes-preserve-unknown-fields: true
                               type:
@@ -191,23 +189,15 @@ spec:
                                 - ZooKeeper
                                 - Etcd
                                 type: string
-                            required:
-                            - type
                             type: object
                           type:
                             type: string
-                        required:
-                        - type
                         type: object
                       props:
                         additionalProperties:
                           type: string
-                        description: Props *ComputeNodeProps `json:"props,omitempty"`
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
-                    required:
-                    - authority
-                    - mode
                     type: object
                 type: object
               env:
@@ -824,6 +814,27 @@ spec:
               resources:
                 description: ResourceRequirements describes the compute resource requirements.
                 properties:
+                  claims:
+                    description: "Claims lists the names of resources, defined in
+                      spec.resourceClaims, that are used by this container. \n This
+                      is an alpha field and requires enabling the DynamicResourceAllocation
+                      feature gate. \n This field is immutable. It can only be set
+                      for containers."
+                    items:
+                      description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+                      properties:
+                        name:
+                          description: Name must match the name of one entry in pod.spec.resourceClaims
+                            of the Pod where this field is used. It makes that resource
+                            available inside a container.
+                          type: string
+                      required:
+                      - name
+                      type: object
+                    type: array
+                    x-kubernetes-list-map-keys:
+                    - name
+                    x-kubernetes-list-type: map
                   limits:
                     additionalProperties:
                       anyOf:
@@ -928,16 +939,11 @@ spec:
                 description: Conditions The conditions array, the reason and message
                   fields
                 items:
-                  description: ComputeNodeCondition | **phase** | **condition**  |
-                    **descriptions**| | ------------- | ---------- | ----------------------------------------------------
-                    | | NotReady      | Deployed   | pods are deployed but are not
-                    created or currently pending| | NotReady      | Started    | pods
-                    are started but not satisfy ready requirements| | Ready         |
-                    Ready      | minimum pods satisfy ready requirements| | NotReady      |
-                    Unknown    | can not locate the status of pods | | NotReady      |
-                    Failed     | ShardingSphere-Proxy failed to start correctly due
-                    to some problems|
+                  description: ComputeNodeCondition defines a condition template
                   properties:
+                    lastTransitionTime:
+                      format: date-time
+                      type: string
                     lastUpdateTime:
                       format: date-time
                       type: string
@@ -946,8 +952,12 @@ spec:
                     reason:
                       type: string
                     status:
+                      description: ConditionStatus represents the validation status
+                        of a condition
                       type: string
                     type:
+                      description: ComputeNodeConditioType represents the type of
+                        a compute node condition during the startup process of ShardingSphere-Proxy
                       type: string
                   required:
                   - message
@@ -1027,11 +1037,8 @@ spec:
                   Ready: ShardingSphere-Proxy can already provide external services
                   NotReady: ShardingSphere-Proxy cannot provide external services'
                 type: string
-              readyInstances:
-                description: ReadyInstances shows the number of replicas that ShardingSphere-Proxy
-                  is running normally
-                format: int32
-                type: integer
+              ready:
+                type: string
               replicas:
                 format: int32
                 type: integer
diff --git a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxies.yaml b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxies.yaml
index 3dd133a..7705e01 100644
--- a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxies.yaml
+++ b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxies.yaml
@@ -1,19 +1,20 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+ #
+ # Licensed to the Apache Software Foundation (ASF) under one or more
+ # contributor license agreements.  See the NOTICE file distributed with
+ # this work for additional information regarding copyright ownership.
+ # The ASF licenses this file to You under the Apache License, Version 2.0
+ # (the "License"); you may not use this file except in compliance with
+ # the License.  You may obtain a copy of the License at
+ #
+ #     http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+
 ---
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
@@ -252,7 +253,7 @@ spec:
                                   description: API version of the referent
                                   type: string
                                 kind:
-                                  description: 'Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
+                                  description: 'Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                   type: string
                                 name:
                                   description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names'
@@ -884,6 +885,27 @@ spec:
               resources:
                 description: ResourceRequirements describes the compute resource requirements.
                 properties:
+                  claims:
+                    description: "Claims lists the names of resources, defined in
+                      spec.resourceClaims, that are used by this container. \n This
+                      is an alpha field and requires enabling the DynamicResourceAllocation
+                      feature gate. \n This field is immutable. It can only be set
+                      for containers."
+                    items:
+                      description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+                      properties:
+                        name:
+                          description: Name must match the name of one entry in pod.spec.resourceClaims
+                            of the Pod where this field is used. It makes that resource
+                            available inside a container.
+                          type: string
+                      required:
+                      - name
+                      type: object
+                    type: array
+                    x-kubernetes-list-map-keys:
+                    - name
+                    x-kubernetes-list-type: map
                   limits:
                     additionalProperties:
                       anyOf:
diff --git a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxyserverconfigs.yaml b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxyserverconfigs.yaml
index 7ae13c5..e837926 100644
--- a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxyserverconfigs.yaml
+++ b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_shardingsphereproxyserverconfigs.yaml
@@ -1,19 +1,19 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+ #
+ # Licensed to the Apache Software Foundation (ASF) under one or more
+ # contributor license agreements.  See the NOTICE file distributed with
+ # this work for additional information regarding copyright ownership.
+ # The ASF licenses this file to You under the Apache License, Version 2.0
+ # (the "License"); you may not use this file except in compliance with
+ # the License.  You may obtain a copy of the License at
+ #
+ #     http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
 ---
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
diff --git a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_storagenodes.yaml b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_storagenodes.yaml
index 87f7ca7..b6d830f 100644
--- a/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_storagenodes.yaml
+++ b/charts/apache-shardingsphere-operator-charts/crds/shardingsphere.apache.org_storagenodes.yaml
@@ -1,19 +1,19 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
+ #
+ # Licensed to the Apache Software Foundation (ASF) under one or more
+ # contributor license agreements.  See the NOTICE file distributed with
+ # this work for additional information regarding copyright ownership.
+ # The ASF licenses this file to You under the Apache License, Version 2.0
+ # (the "License"); you may not use this file except in compliance with
+ # the License.  You may obtain a copy of the License at
+ #
+ #     http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
 ---
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
@@ -31,64 +31,131 @@ spec:
     singular: storagenode
   scope: Namespaced
   versions:
-    - additionalPrinterColumns:
-        - jsonPath: .metadata.creationTimestamp
-          name: Age
-          type: date
-        - jsonPath: .status.phase
-          name: Phase
-          type: string
-        - jsonPath: .status.cluster.status
-          name: ClusterStatus
-          type: string
-        - jsonPath: .status.Registered
-          name: registered
-          priority: 1
-          type: boolean
-      name: v1alpha1
-      schema:
-        openAPIV3Schema:
-          description: StorageNode is the Schema for the ShardingSphere storage unit
-          properties:
-            apiVersion:
-              description: 'APIVersion defines the versioned schema of this representation
+  - additionalPrinterColumns:
+    - jsonPath: .status.phase
+      name: Phase
+      type: string
+    - jsonPath: .status.cluster.status
+      name: ClusterStatus
+      type: string
+    - jsonPath: .status.registered
+      name: registered
+      priority: 1
+      type: boolean
+    - jsonPath: .spec.storageProviderName
+      name: StorageProvider
+      type: string
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      type: date
+    name: v1alpha1
+    schema:
+      openAPIV3Schema:
+        description: StorageNode is the Schema for the ShardingSphere storage unit
+        properties:
+          apiVersion:
+            description: 'APIVersion defines the versioned schema of this representation
               of an object. Servers should convert recognized schemas to the latest
               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
-              type: string
-            kind:
-              description: 'Kind is a string value representing the REST resource this
+            type: string
+          kind:
+            description: 'Kind is a string value representing the REST resource this
               object represents. Servers may infer this from the endpoint the client
               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
-              type: string
-            metadata:
-              type: object
-            spec:
-              description: StorageNodeSpec defines the desired state of a set of storage
-                units
-              properties:
-                replicas:
-                  default: 1
-                  description: Only for aws aurora storage provider right now. And the
-                    default value is 1. aws rds instance is always 1. aws rds cluster
-                    will auto create 3 instances(1 primary and 2 replicas).
-                  format: int32
-                  type: integer
-                schema:
-                  description: if not set, will NOT create database
-                  type: string
-                storageProviderName:
-                  type: string
-              required:
-                - schema
-                - storageProviderName
-              type: object
-            status:
-              description: StorageNodeStatus defines the actual state of a set of storage
-                units
-              properties:
-                cluster:
-                  description: Cluster contains the current status of the StorageNode
-                    cluster
+            type: string
+          metadata:
+            type: object
+          spec:
+            description: StorageNodeSpec defines the desired state of a set of storage
+              units
+            properties:
+              replicas:
+                default: 1
+                description: Only for aws aurora storage provider right now. And the
+                  default value is 1. aws rds instance is always 1. aws rds cluster
+                  will auto create 3 instances(1 primary and 2 replicas).
+                format: int32
+                type: integer
+              schema:
+                description: the default database name of the storage node. if not
+                  set, will NOT create database
+                type: string
+              storageProviderName:
+                type: string
+            required:
+            - storageProviderName
+            type: object
+          status:
+            description: StorageNodeStatus defines the actual state of a set of storage
+              units
+            properties:
+              cluster:
+                description: Cluster contains the current status of the StorageNode
+                  cluster
+                properties:
+                  primaryEndpoint:
+                    properties:
+                      address:
+                        type: string
+                      port:
+                        format: int32
+                        type: integer
+                    required:
+                    - address
+                    - port
+                    type: object
+                  properties:
+                    additionalProperties:
+                      type: string
+                    type: object
+                  readerEndpoints:
+                    items:
+                      properties:
+                        address:
+                          type: string
+                        port:
+                          format: int32
+                          type: integer
+                      required:
+                      - address
+                      - port
+                      type: object
+                    type: array
+                  status:
+                    type: string
+                required:
+                - primaryEndpoint
+                - status
+                type: object
+              conditions:
+                description: Conditions The conditions array, the reason and message
+                  fields
+                items:
+                  description: StorageNodeCondition contains details for the current
+                    condition of this StorageNode.
+                  properties:
+                    lastUpdateTime:
+                      format: date-time
+                      type: string
+                    message:
+                      type: string
+                    reason:
+                      type: string
+                    status:
+                      type: string
+                    type:
+                      type: string
+                  required:
+                  - message
+                  - reason
+                  - status
+                  - type
+                  type: object
+                type: array
+              instances:
+                description: Instances contains the current status of the StorageNode
+                  instance
+                items:
                   properties:
                     primaryEndpoint:
                       properties:
@@ -98,101 +165,37 @@ spec:
                           format: int32
                           type: integer
                       required:
-                        - address
-                        - port
+                      - address
+                      - port
                       type: object
                     properties:
                       additionalProperties:
                         type: string
                       type: object
-                    readerEndpoints:
-                      items:
-                        properties:
-                          address:
-                            type: string
-                          port:
-                            format: int32
-                            type: integer
-                        required:
-                          - address
-                          - port
-                        type: object
-                      type: array
                     status:
                       type: string
                   required:
-                    - primaryEndpoint
-                    - status
+                  - primaryEndpoint
+                  - status
                   type: object
-                conditions:
-                  description: Conditions The conditions array, the reason and message
-                    fields
-                  items:
-                    description: StorageNodeCondition contains details for the current
-                      condition of this StorageNode.
-                    properties:
-                      lastUpdateTime:
-                        format: date-time
-                        type: string
-                      message:
-                        type: string
-                      reason:
-                        type: string
-                      status:
-                        type: string
-                      type:
-                        type: string
-                    required:
-                      - message
-                      - reason
-                      - status
-                      - type
-                    type: object
-                  type: array
-                instances:
-                  description: Instances contains the current status of the StorageNode
-                    instance
-                  items:
-                    properties:
-                      primaryEndpoint:
-                        properties:
-                          address:
-                            type: string
-                          port:
-                            format: int32
-                            type: integer
-                        required:
-                          - address
-                          - port
-                        type: object
-                      properties:
-                        additionalProperties:
-                          type: string
-                        type: object
-                      status:
-                        type: string
-                    required:
-                      - primaryEndpoint
-                      - status
-                    type: object
-                  type: array
-                observedGeneration:
-                  description: The generation observed by the StorageNode controller.
-                  format: int64
-                  type: integer
-                phase:
-                  description: 'Phase is a brief summary of the StorageNode life cycle
+                type: array
+              observedGeneration:
+                description: The generation observed by the StorageNode controller.
+                format: int64
+                type: integer
+              phase:
+                description: 'Phase is a brief summary of the StorageNode life cycle
                   There are two possible phase values: Ready: StorageNode can already
                   provide external services NotReady: StorageNode cannot provide external
                   services'
-                  type: string
-                registered:
-                  description: Registered indicates whether the StorageNode has been
-                    registered to shardingsphere
-                  type: boolean
-              type: object
-          type: object
-      served: true
-      storage: true
-      subresources:
-        status: {}
+                type: string
+              registered:
+                description: Registered indicates whether the StorageNode has been
+                  registered to shardingsphere
+                type: boolean
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}
diff --git a/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_computenode.yaml b/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_computenode.yaml
deleted file mode 100644
index 813b282..0000000
--- a/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_computenode.yaml
+++ /dev/null
@@ -1,80 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-{{- if .Values.operator.featureGates.computeNode }}
-apiVersion: shardingsphere.apache.org/v1alpha1
-kind: ComputeNode
-metadata:
-  name: {{ template "common.names.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    "app": {{ template "common.names.fullname" .}}
-spec:
-  storageNodeConnector:
-    type: {{ .Values.computeNode.storageNodeConnector.type }}
-    version: {{ .Values.computeNode.storageNodeConnector.version| quote}}
-  serverVersion: {{ .Values.computeNode.serverVersion | default .Chart.AppVersion }}
-  replicas: {{ .Values.computeNode.replicas }}
-  selector:
-    matchLabels:
-      "app": {{ template "common.names.fullname" . }}
-  portBindings:
-  {{- range $.Values.computeNode.portBindings }}
-    - name: {{ .name }}
-      containerPort: {{ .containerPort }}
-      servicePort: {{ .servicePort }}
-      protocol: {{ .protocol }}
-  {{- end }}{{/* $.Values.computeNode.portBindings */}}
-  serviceType: {{ .Values.computeNode.serviceType }}
-  {{- if .Values.computeNode.bootstrap }}
-  bootstrap:
-    {{- if .Values.computeNode.bootstrap.serverConfig }}
-    serverConfig:
-      authority:
-        privilege:
-          type: {{ .Values.computeNode.bootstrap.serverConfig.authority.privilege.type }}
-        users:
-        {{- range $.Values.computeNode.bootstrap.serverConfig.authority.users }}
-          - user: {{ .user }}
-            password: {{ .password }}
-        {{- end }}{{/* .Values.computeNode.bootstrap.serverConfig.authority.users */}}
-      mode:
-        type: {{ .Values.computeNode.bootstrap.serverConfig.mode.type }}
-        repository:
-          type: {{ .Values.computeNode.bootstrap.serverConfig.mode.repository.type }}
-          props:
-            timeToLiveSeconds: {{ .Values.computeNode.bootstrap.serverConfig.mode.repository.props.timeToLiveSeconds | quote }}
-            server-lists: {{ printf "%s-zookeeper.%s:2181" .Release.Name .Release.Namespace }}
-            retryIntervalMilliseconds: {{ .Values.computeNode.bootstrap.serverConfig.mode.repository.props.retryIntervalMilliseconds | quote }}
-            operationTimeoutMilliseconds: {{ .Values.computeNode.bootstrap.serverConfig.mode.repository.props.operationTimeoutMilliseconds | quote }}
-            namespace: {{ .Values.computeNode.bootstrap.serverConfig.mode.repository.props.namespace }}
-            maxRetries: {{ .Values.computeNode.bootstrap.serverConfig.mode.repository.props.maxRetries | quote }}
-      props:
-        proxy-frontend-database-protocol-type: {{ .Values.computeNode.bootstrap.serverConfig.props.proxyFrontendDatabaseProtocolType }}
-    {{- end }}{{/* .Values.computeNode.bootstrap.serverConfig */}}
-    {{- if .Values.computeNode.bootstrap.agentConfig }}
-    agentConfig:
-      plugins:
-        metrics:
-          prometheus:
-            host: {{ .Values.computeNode.bootstrap.agentConfig.plugins.metrics.prometheus.host }}
-            port: {{ .Values.computeNode.bootstrap.agentConfig.plugins.metrics.prometheus.port }}
-            props:
-              jvm-information-collector-enabled: {{.Values.computeNode.bootstrap.agentConfig.plugins.metrics.prometheus.props.jvmInformationCollectorEnabled | quote }}
-    {{- end }}
-  {{- end }}{{/* .Values.computeNode.bootstrap */}}
-{{- end }}{{/* .Values.computeNode.enabled */}}
diff --git a/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_shardingsphereproxy.yaml b/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_shardingsphereproxy.yaml
deleted file mode 100644
index 1ebb10e..0000000
--- a/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_shardingsphereproxy.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-{{- if .Values.proxyCluster.enabled }}
-apiVersion: shardingsphere.apache.org/v1alpha1
-kind: ShardingSphereProxy
-metadata:
-  name: {{ template "common.names.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-spec:
-  version: {{ .Values.proxyCluster.proxyVersion | default .Chart.AppVersion }}
-  serviceType:
-    type: {{ .Values.proxyCluster.service.type }}
-  {{- if .Values.proxyCluster.replicaCount }}
-  replicas: {{ .Values.proxyCluster.replicaCount }}
-  {{- end}}
-  {{- if .Values.proxyCluster.automaticScaling.enable }}
-  automaticScaling: {{- toYaml .Values.proxyCluster.automaticScaling | nindent 4}}
-  {{- end }}
-  proxyConfigName: {{ printf "%s-configuration" (include "common.names.fullname" .) | quote}}
-  port: {{ .Values.proxyCluster.startPort }}
-  {{- if .Values.proxyCluster.mySQLDriver.version  }}
-  mySQLDriver:
-    version: {{ .Values.proxyCluster.mySQLDriver.version| quote}}
-  {{- end }}
-  {{- if .Values.proxyCluster.resources }}
-  resources: {{- toYaml .Values.proxyCluster.resources | nindent 4 }}
-  {{- end }}
-{{- end }}
diff --git a/docs/content/user-manual/cn-sn-operator/_index.cn.md b/docs/content/user-manual/cn-sn-operator/_index.cn.md
index a71b2a2..1999ffa 100644
--- a/docs/content/user-manual/cn-sn-operator/_index.cn.md
+++ b/docs/content/user-manual/cn-sn-operator/_index.cn.md
@@ -46,7 +46,7 @@ helm install shardingsphere-cluster apache-shardingsphere-operator-charts -n sha
 #### ShardingSphere Operator 参数
 | 名称 | 描述 | 默认值|
 |-----------------------------------|------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|
-| `operator.replicaCount`           | 副本数| `2`                                                                     |
+| `operator.replicaCount`           | 副本数| `1`                                                                     |
 | `operator.image.repository`       | 镜像名称| `apache/shardingsphere-operator` |
 | `operator.image.pullPolicy`       | 镜像拉取策略                                                                                         | `IfNotPresent`                                                          |
 | `operator.image.tag`              | 镜像版本| `0.3.0`                                                                 |
@@ -73,6 +73,7 @@ helm install shardingsphere-cluster apache-shardingsphere-operator-charts -n sha
 
 ShardingSphereProxy 和 ShardingSphereProxyServerConfig 提供了对 ShardingSphereProxy 部署和配置的基本描述,Operator 会将 CRD 中提供的配置转换为对应的 Kubernetes 负载并提交创建。其中 ShardingSphereProxy 主要影响基础资源相关配置,ShardingSphereProxyServerConfig 影响 `server.yaml` 等运行时配置。
 
+
 注意:ShardingSphereProxy 和 ShardingSphereProxyServerConfig 计划于 0.4.0 版本起停止支持。
 
  
diff --git a/examples/operator/shardingsphereproxy-mysql-standalone.yaml b/examples/operator/chaos-cpu.yaml
similarity index 71%
copy from examples/operator/shardingsphereproxy-mysql-standalone.yaml
copy to examples/operator/chaos-cpu.yaml
index 861f875..1632a7a 100644
--- a/examples/operator/shardingsphereproxy-mysql-standalone.yaml
+++ b/examples/operator/chaos-cpu.yaml
@@ -16,23 +16,21 @@
  #
 
 apiVersion: shardingsphere.apache.org/v1alpha1
-kind: ComputeNode 
+kind: Chaos
 metadata:
-  labels:
-    app: foo 
-  name: foo 
+  name: cpu-chaos 
+  namespace: sschaos-test 
+  annotations:
+    selector.chaos-mesh.org/mode: one 
 spec:
-  storageNodeConnector: 
-    type: mysql
-    version: 5.1.47
-  serverVersion: 5.3.1
-  replicas: 1
-  selector:
-    matchLabels:
-      app: foo 
-  portBindings:
-  - name: server
-    containerPort: 3307
-    servicePort: 3307
-    protocol: TCP
-  serviceType: ClusterIP 
+  podChaos:
+    selector:
+      labelSelectors:
+        app: foo-sphereex-dbplusengine-proxy
+      namespaces: [ "foo-chaos" ]
+    params:
+      cpuStress:
+        duration: 1m
+        cores: 2
+        load: 50 
+    action: "CPUStress"
diff --git a/examples/operator/shardingsphereproxy-mysql-standalone.yaml b/examples/operator/chaos-mem.yaml
similarity index 69%
copy from examples/operator/shardingsphereproxy-mysql-standalone.yaml
copy to examples/operator/chaos-mem.yaml
index 861f875..48dc2b6 100644
--- a/examples/operator/shardingsphereproxy-mysql-standalone.yaml
+++ b/examples/operator/chaos-mem.yaml
@@ -16,23 +16,22 @@
  #
 
 apiVersion: shardingsphere.apache.org/v1alpha1
-kind: ComputeNode 
+kind: Chaos
 metadata:
-  labels:
-    app: foo 
-  name: foo 
+  name: mem-chaos 
+  namespace: sschaos-test 
+  annotations:
+    selector.chaos-mesh.org/mode: one 
 spec:
-  storageNodeConnector: 
-    type: mysql
-    version: 5.1.47
-  serverVersion: 5.3.1
-  replicas: 1
-  selector:
-    matchLabels:
-      app: foo 
-  portBindings:
-  - name: server
-    containerPort: 3307
-    servicePort: 3307
-    protocol: TCP
-  serviceType: ClusterIP 
+  podChaos:
+    selector:
+      labelSelectors:
+        app: foo-sphereex-dbplusengine-proxy
+      namespaces: [ "foo-chaos" ]
+    params:
+      podFailure:
+      memoryStress:
+        duration: 1m
+        workers: 2
+        consumption: "75%" 
+    action: "MemoryStress"
diff --git a/examples/operator/shardingsphereproxy-mysql-standalone.yaml b/examples/operator/chaos-network.yaml
similarity index 70%
copy from examples/operator/shardingsphereproxy-mysql-standalone.yaml
copy to examples/operator/chaos-network.yaml
index 861f875..559be6a 100644
--- a/examples/operator/shardingsphereproxy-mysql-standalone.yaml
+++ b/examples/operator/chaos-network.yaml
@@ -16,23 +16,22 @@
  #
 
 apiVersion: shardingsphere.apache.org/v1alpha1
-kind: ComputeNode 
+kind: ShardingSphereChaos
 metadata:
   labels:
-    app: foo 
-  name: foo 
+    app.kubernetes.io/name: shardingsphereChaos
+  name: test-chaos 
+  namespace: default
+  annotations:
+    selector.chaos-mesh.org/mode: all
 spec:
-  storageNodeConnector: 
-    type: mysql
-    version: 5.1.47
-  serverVersion: 5.3.1
-  replicas: 1
-  selector:
-    matchLabels:
-      app: foo 
-  portBindings:
-  - name: server
-    containerPort: 3307
-    servicePort: 3307
-    protocol: TCP
-  serviceType: ClusterIP 
+  chaosKind: podChaos
+  podChaos:
+    selector:
+      labelSelectors:
+        app: foo 
+      namespaces: [ "default" ]
+    params:
+      podFailure:
+        duration: 1m
+    action: "podFailure"
diff --git a/examples/operator/shardingsphereproxy-mysql-standalone.yaml b/examples/operator/chaos-pod.yaml
similarity index 72%
copy from examples/operator/shardingsphereproxy-mysql-standalone.yaml
copy to examples/operator/chaos-pod.yaml
index 861f875..199ab6a 100644
--- a/examples/operator/shardingsphereproxy-mysql-standalone.yaml
+++ b/examples/operator/chaos-pod.yaml
@@ -14,25 +14,21 @@
  # See the License for the specific language governing permissions and
  # limitations under the License.
  #
-
+ 
 apiVersion: shardingsphere.apache.org/v1alpha1
-kind: ComputeNode 
+kind: Chaos
 metadata:
-  labels:
-    app: foo 
-  name: foo 
+  name: test-chaos 
+  namespace: sschaos-test 
+  annotations:
+    selector.chaos-mesh.org/mode: one 
 spec:
-  storageNodeConnector: 
-    type: mysql
-    version: 5.1.47
-  serverVersion: 5.3.1
-  replicas: 1
-  selector:
-    matchLabels:
-      app: foo 
-  portBindings:
-  - name: server
-    containerPort: 3307
-    servicePort: 3307
-    protocol: TCP
-  serviceType: ClusterIP 
+  podChaos:
+    selector:
+      labelSelectors:
+        app: foo-sphereex-dbplusengine-proxy
+      namespaces: [ "foo-chaos" ]
+    params:
+      podFailure:
+        duration: 1m
+    action: "PodFailure"
diff --git a/examples/operator/shardingsphereproxy-mysql-cluster.yaml b/examples/operator/shardingsphere-computenode-mysql-cluster-with-agent.yaml
similarity index 81%
copy from examples/operator/shardingsphereproxy-mysql-cluster.yaml
copy to examples/operator/shardingsphere-computenode-mysql-cluster-with-agent.yaml
index 806438b..309a8ee 100644
--- a/examples/operator/shardingsphereproxy-mysql-cluster.yaml
+++ b/examples/operator/shardingsphere-computenode-mysql-cluster-with-agent.yaml
@@ -18,6 +18,11 @@
 apiVersion: shardingsphere.apache.org/v1alpha1
 kind: ComputeNode 
 metadata:
+  annotations:
+    shardingsphere.apache.org/java-agent-enabled: "true"
+    prometheus.io/path: "/metrics"
+    prometheus.io/scrape: "true" 
+    prometheus.io/port: "9090"
   labels:
     app: foo 
   name: foo 
@@ -25,7 +30,7 @@ spec:
   storageNodeConnector: 
     type: mysql
     version: 5.1.47
-  serverVersion: 5.3.1
+  serverVersion: 5.3.2
   replicas: 1
   selector:
     matchLabels:
@@ -57,3 +62,11 @@ spec:
             maxRetries: "3"
       props:
         proxy-frontend-database-protocol-type: MySQL
+    agentConfig:
+      plugins:
+        metrics:
+          prometheus:
+            host: "0.0.0.0"
+            port: 9090
+            props:
+              jvm-information-collector-enabled: "true"
diff --git a/examples/operator/shardingsphereproxy-mysql-cluster.yaml b/examples/operator/shardingsphere-computenode-mysql-cluster.yaml
similarity index 99%
rename from examples/operator/shardingsphereproxy-mysql-cluster.yaml
rename to examples/operator/shardingsphere-computenode-mysql-cluster.yaml
index 806438b..196d418 100644
--- a/examples/operator/shardingsphereproxy-mysql-cluster.yaml
+++ b/examples/operator/shardingsphere-computenode-mysql-cluster.yaml
@@ -50,7 +50,7 @@ spec:
           type: ZooKeeper
           props:
             timeToLiveSeconds: "600"
-            server-lists: ${PLEASE_REPLACE_THIS_WITH_YOUR_ZOOKEEPER_SERVICE} 
+            server-lists: ${PLEASE_REPLACE_THIS_WITH_YOUR_ZOOKEEPER_SERVICE}
             retryIntervalMilliseconds: "500"
             operationTimeoutMilliseconds: "5000"
             namespace: governance_ds
diff --git a/examples/operator/shardingsphereproxy-mysql-standalone.yaml b/examples/operator/shardingsphere-computenode-mysql-standalone.yaml
similarity index 100%
rename from examples/operator/shardingsphereproxy-mysql-standalone.yaml
rename to examples/operator/shardingsphere-computenode-mysql-standalone.yaml
diff --git a/examples/operator/shardingsphereproxy-storagenode-aws-aurora-cluster.yaml b/examples/operator/shardingsphere-storagenode-aws-aurora-cluster.yaml
similarity index 80%
rename from examples/operator/shardingsphereproxy-storagenode-aws-aurora-cluster.yaml
rename to examples/operator/shardingsphere-storagenode-aws-aurora-cluster.yaml
index 0f4b129..2add236 100644
--- a/examples/operator/shardingsphereproxy-storagenode-aws-aurora-cluster.yaml
+++ b/examples/operator/shardingsphere-storagenode-aws-aurora-cluster.yaml
@@ -15,21 +15,6 @@
 # limitations under the License.
 #
 
----
-apiVersion: shardingsphere.apache.org/v1alpha1
-kind: StorageProvider
-metadata:
-  name: aws-aurora-cluster-mysql-5.7
-spec:
-  provisioner: storageproviders.shardingsphere.apache.org/aws-aurora
-  reclaimPolicy: Delete
-  parameters:
-    masterUsername: "root"
-    masterUserPassword: "root123456"
-    instanceClass: "db.t3.small"
-    engine: "aurora-mysql"
-    engineVersion: "5.7"
-
 ---
 apiVersion: shardingsphere.apache.org/v1alpha1
 kind: StorageNode
diff --git a/examples/operator/shardingsphereproxy-storagenode-aws-rds-cluster.yaml b/examples/operator/shardingsphere-storagenode-aws-rds-cluster.yaml
similarity index 100%
rename from examples/operator/shardingsphereproxy-storagenode-aws-rds-cluster.yaml
rename to examples/operator/shardingsphere-storagenode-aws-rds-cluster.yaml
diff --git a/examples/operator/shardingsphereproxy-storagenode-aws-rds-instance.yaml b/examples/operator/shardingsphere-storagenode-aws-rds-instance.yaml
similarity index 80%
rename from examples/operator/shardingsphereproxy-storagenode-aws-rds-instance.yaml
rename to examples/operator/shardingsphere-storagenode-aws-rds-instance.yaml
index dc64173..17ea1f0 100644
--- a/examples/operator/shardingsphereproxy-storagenode-aws-rds-instance.yaml
+++ b/examples/operator/shardingsphere-storagenode-aws-rds-instance.yaml
@@ -15,22 +15,6 @@
 # limitations under the License.
 #
 
----
-apiVersion: shardingsphere.apache.org/v1alpha1
-kind: StorageProvider
-metadata:
-  name: aws-rds-instance-mysql-5.7
-spec:
-  provisioner: storageproviders.shardingsphere.apache.org/aws-rds-instance
-  reclaimPolicy: Delete
-  parameters:
-    allocatedStorage: "20"
-    masterUsername: "root"
-    masterUserPassword: "root123456"
-    instanceClass: "db.t3.micro"
-    engine: "mysql"
-    engineVersion: "5.7"
-
 ---
 apiVersion: shardingsphere.apache.org/v1alpha1
 kind: StorageNode
diff --git a/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_shardingsphereproxyserverconfig.yaml b/examples/operator/shardingsphere-storageprovider-aws-aurora-cluster.yaml
similarity index 72%
rename from charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_shardingsphereproxyserverconfig.yaml
rename to examples/operator/shardingsphere-storageprovider-aws-aurora-cluster.yaml
index 39b2c81..903a8fc 100644
--- a/charts/apache-shardingsphere-operator-charts/templates/shardingsphere_v1alpha1_shardingsphereproxyserverconfig.yaml
+++ b/examples/operator/shardingsphere-storageprovider-aws-aurora-cluster.yaml
@@ -15,12 +15,17 @@
 # limitations under the License.
 #
 
-{{- if .Values.proxyCluster.enabled }}
+---
 apiVersion: shardingsphere.apache.org/v1alpha1
-kind: ShardingSphereProxyServerConfig
+kind: StorageProvider
 metadata:
-  name: {{ printf "%s-configuration" (include "common.names.fullname" .) }}
-  namespace: {{ .Release.Namespace }}
+  name: aws-aurora-cluster-mysql-5.7
 spec:
-  {{- include "common.tplvalues.render" (dict "value" .Values.proxyCluster.serverConfig "context" $) | nindent 2 }}
-{{- end }}
+  provisioner: storageproviders.shardingsphere.apache.org/aws-aurora
+  reclaimPolicy: Delete
+  parameters:
+    masterUsername: "root"
+    masterUserPassword: "root123456"
+    instanceClass: "db.t3.small"
+    engine: "aurora-mysql"
+    engineVersion: "5.7"
diff --git a/examples/operator/shardingsphereproxy-storageprovider-aws-rds-cluster.yaml b/examples/operator/shardingsphere-storageprovider-aws-rds-cluster.yaml
similarity index 100%
copy from examples/operator/shardingsphereproxy-storageprovider-aws-rds-cluster.yaml
copy to examples/operator/shardingsphere-storageprovider-aws-rds-cluster.yaml
diff --git a/examples/operator/shardingsphereproxy-storageprovider-aws-rds-cluster.yaml b/examples/operator/shardingsphere-storageprovider-aws-rds-instance.yaml
similarity index 84%
rename from examples/operator/shardingsphereproxy-storageprovider-aws-rds-cluster.yaml
rename to examples/operator/shardingsphere-storageprovider-aws-rds-instance.yaml
index 2eb0e84..07c1f9e 100644
--- a/examples/operator/shardingsphereproxy-storageprovider-aws-rds-cluster.yaml
+++ b/examples/operator/shardingsphere-storageprovider-aws-rds-instance.yaml
@@ -14,20 +14,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+
 ---
 apiVersion: shardingsphere.apache.org/v1alpha1
 kind: StorageProvider
 metadata:
-  name: aws-rds-cluster-mysql-8.0.32
+  name: aws-rds-instance-mysql-5.7
 spec:
-  provisioner: storageproviders.shardingsphere.apache.org/aws-rds-cluster
+  provisioner: storageproviders.shardingsphere.apache.org/aws-rds-instance
   reclaimPolicy: Delete
   parameters:
-    engine: mysql
-    engineVersion: "8.0.32"
-    allocatedStorage: "100"
+    allocatedStorage: "20"
     masterUsername: "root"
     masterUserPassword: "root123456"
-    instanceClass: "db.m5d.large"
-    iops: "1000"
-    storageType: "io1"
+    instanceClass: "db.t3.micro"
+    engine: "mysql"
+