Skip to content

Commit

Permalink
Update content/zh/concepts/manifestworkreplicaset.md
Browse files Browse the repository at this point in the history
Update content/zh/concepts/multicluster-controlplane.md

Co-authored-by: Dale Haiducek <[email protected]>
Signed-off-by: haoqing0110 <[email protected]>
  • Loading branch information
haoqing0110 and dhaiducek committed Nov 15, 2023
1 parent 0917793 commit 52b8c6d
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 30 deletions.
12 changes: 6 additions & 6 deletions content/en/concepts/manifestworkreplicaset.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ weight: 7

## What is `ManifestWorkReplicaSet`

`ManifestWorkReplicaSet` is an aggregator API that use [Manifestwork](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/manifestwork.md) and [Placement](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/placement.md) to create manifeswork for the placement selected clusters.
`ManifestWorkReplicaSet` is an aggregator API that uses [Manifestwork](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/manifestwork.md) and [Placement](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/placement.md) to create manifestwork for the placement-selected clusters.

An example of `ManifestWorkReplicaSet` to deploy a CronJob and Namespace for a group of clusters selected by a placement.
View an example of a `ManifestWorkReplicaSet` to deploy a CronJob and Namespace for a group of clusters selected by a placement.

```yaml
apiVersion: work.open-cluster-management.io/v1alpha1
Expand Down Expand Up @@ -78,11 +78,11 @@ The placement reference must be in the same namespace as the manifestWorkReplica
## Status tracking
Assuming the used placement reference in the previous example **plcament-byname** has 10 clusters selected. The manifestWorkReplicaSet monitor the Placement selected clusters and create/delete manifestWork for the placement clusters's. The ManifestWorkReplicaSet track the status conditions of the created manifestWorks and report a summery for all manifestWorks status in the manifestWorkReplicaSet status.
Let's assume the placement reference used in the previous example **placement-byname** has 10 clusters selected. The ManifestWorkReplicaSet monitors the Placement-selected clusters and creates/deletes ManifestWork for the placement clusters. The ManifestWorkReplicaSet tracks the status conditions of the created ManifestWorks and reports a summary for all ManifestWork statuses in the ManifestWorkReplicaSet status.
The manifestWorkReplicaSet has two status conditions;
The ManifestWorkReplicaSet has two status conditions;
1. **PlacementVerified** to verify the placementRefs (not exist or empty cluster selection).
1. **ManifestWorkApplied** to verify all the created manifestWork status conditions (applied, progressing, degraded or available).
1. **ManifestWorkApplied** to verify all the created ManifestWork status conditions (applied, progressing, degraded or available).
Here is an example.
Expand Down Expand Up @@ -118,7 +118,7 @@ status:
```
## Release and Enable Feature
ManifeastWorkReplicaSet is in alpha release and it is not enable by default. In order to enable the ManifeastWorkReplicaSet feature, it has to be enabled in the cluster-manager instance in the hub. Use the following command to edit the cluster-manager CR (custom resource) in the hub cluster.
ManifestWorkReplicaSet is in alpha release and it is not enabled by default. In order to enable the ManifestWorkReplicaSet feature, it has to be enabled in the cluster-manager instance in the hub. Use the following command to edit the cluster-manager CR (custom resource) in the hub cluster.
```shell
$ oc edit ClusterManager cluster-manager
Expand Down
18 changes: 9 additions & 9 deletions content/en/concepts/multicluster-controlplane.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,20 @@ weight: 10
<!-- spellchecker-enable -->

## What is `Multicluster Control Plane`
The multicluster control plane is a lightweight Open Cluster Manager (OCM) control plane that is easy to install and has a small footprint. It can be running anywhere with or without kubernetes environment to sever the OCM control plane capabilities.
The multicluster control plane is a lightweight Open Cluster Manager (OCM) control plane that is easy to install and has a small footprint. It can be running anywhere with or without a Kubernetes environment to serve the OCM control plane capabilities.

## Why use `Multicluster Control Plane`
1. Some kubernetes environments do not have CSR (e.g., EKS) so that the standard OCM control plane cannot be installed. The multicluster control plane can be able to install in these environments and expose the OCM control plane API via loadbalancer.
1. Some Kubernetes environments do not have CSR (e.g., EKS) so that the standard OCM control plane cannot be installed. The multicluster control plane can be able to install in these environments and expose the OCM control plane API via loadbalancer.

2. Some users want to run multiple OCM control plane to isolate the data. The typical case is that the user wants to run one OCM control plane for production and another OCM control plane for development. The multicluster control plane can be able to install in the different namespace in a single cluster. Each multicluster control plane is running independently and serving the OCM control plane capabilities.
2. Some users may want to run multiple OCM control planes to isolate the data. The typical case is that the user wants to run one OCM control plane for production and another OCM control plane for development. The multicluster control plane is able to be installed in different namespaces in a single cluster. Each multicluster control plane is running independently and serving the OCM control plane capabilities.

3. Some users want to run OCM control plane without kubernetes environment. The multicluster control plane can be running in a standalone mode. for example, it can be running in a VM. Expose the control plane API to the outside so the managed clusters can register to it.
3. Some users may want to run the OCM control plane without a Kubernetes environment. The multicluster control plane can run in a standalone mode, for example, running in a VM. Expose the control plane API to the outside so the managed clusters can register to it.

## How to use `Multicluster Control Plane`

### Start the standalone multicluster control plane

You need build `multicluster-controlplane` in your local host. Following below steps to build the binary and start the multicluster control plane.
You need build `multicluster-controlplane` in your local host. Follow the below steps to build the binary and start the multicluster control plane.

```Shell
git clone https://github.com/open-cluster-management-io/multicluster-controlplane.git
Expand All @@ -33,7 +33,7 @@ make run

Once the control plane is running, you can access the control plane by using `kubectl --kubeconfig=./_output/controlplane/.ocm/cert/kube-aggregator.kubeconfig`.

You can customize the control plane configurations by creating a config file and using the environment variable `CONFIG_DIR` to specify your config file directory. Please check [here](https://github.com/open-cluster-management-io/multicluster-controlplane#run-controlplane-as-a-local-binary) for details.
You can customize the control plane configurations by creating a config file and using the environment variable `CONFIG_DIR` to specify your config file directory. Please check the [repository documentation](https://github.com/open-cluster-management-io/multicluster-controlplane#run-controlplane-as-a-local-binary) for details.

### Install via clusteradm

Expand All @@ -47,7 +47,7 @@ curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/
```
#### Install multicluster control plane

You can use `clusteradm init` to deploy the multicluster control plane in your kubernetes environment.
You can use `clusteradm init` to deploy the multicluster control plane in your Kubernetes environment.

1. Set the environment variable KUBECONFIG to your cluster kubeconfig path. For instance, create a new KinD cluster and deploy multicluster control plane in it.

Expand All @@ -62,7 +62,7 @@ export mc_cp_node_ip=$(kubectl get nodes -o=jsonpath='{.items[0].status.addresse
```Shell
clusteradm init --singleton=true --set route.enabled=false --set nodeport.enabled=true --set nodeport.port=30443 --set apiserver.externalHostname=$mc_cp_node_ip --set apiserver.externalPort=30443 --singleton-name multicluster-controlplane
```
Refer to [here](https://github.com/open-cluster-management-io/multicluster-controlplane#use-helm-to-deploy-controlplane-in-a-cluster) for how to customize the control plane configurations.
Refer to the [repository documentation](https://github.com/open-cluster-management-io/multicluster-controlplane#use-helm-to-deploy-controlplane-in-a-cluster) for how to customize the control plane configurations.

3. Get the control plane kubeconfig by running the following command:

Expand All @@ -88,4 +88,4 @@ kubectl --kubeconfig=/tmp/multicluster-controlplane.kubeconfig get managedcluste
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE
cluster1 true https://cluster1-control-plane:6443 True True 5m25s
```
You should see the managedcluster joins to the multicluster control plane. Congratulation!
You should see the managedcluster joins to the multicluster control plane. Congratulations!
12 changes: 6 additions & 6 deletions content/zh/concepts/manifestworkreplicaset.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ weight: 7

## What is `ManifestWorkReplicaSet`

`ManifestWorkReplicaSet` is an aggregator API that use [Manifestwork](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/manifestwork.md) and [Placement](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/placement.md) to create manifeswork for the placement selected clusters.
`ManifestWorkReplicaSet` is an aggregator API that uses [Manifestwork](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/manifestwork.md) and [Placement](https://github.com/open-cluster-management-io/open-cluster-management-io.github.io/blob/main/content/en/concepts/placement.md) to create manifestwork for the placement-selected clusters.

An example of `ManifestWorkReplicaSet` to deploy a CronJob and Namespace for a group of clusters selected by a placement.
View an example of a `ManifestWorkReplicaSet` to deploy a CronJob and Namespace for a group of clusters selected by a placement.

```yaml
apiVersion: work.open-cluster-management.io/v1alpha1
Expand Down Expand Up @@ -78,11 +78,11 @@ The placement reference must be in the same namespace as the manifestWorkReplica
## Status tracking
Assuming the used placement reference in the previous example **plcament-byname** has 10 clusters selected. The manifestWorkReplicaSet monitor the Placement selected clusters and create/delete manifestWork for the placement clusters's. The ManifestWorkReplicaSet track the status conditions of the created manifestWorks and report a summery for all manifestWorks status in the manifestWorkReplicaSet status.
Let's assume the placement reference used in the previous example **placement-byname** has 10 clusters selected. The ManifestWorkReplicaSet monitors the Placement-selected clusters and creates/deletes ManifestWork for the placement clusters. The ManifestWorkReplicaSet tracks the status conditions of the created ManifestWorks and reports a summary for all ManifestWork statuses in the ManifestWorkReplicaSet status.
The manifestWorkReplicaSet has two status conditions;
The ManifestWorkReplicaSet has two status conditions;
1. **PlacementVerified** to verify the placementRefs (not exist or empty cluster selection).
1. **ManifestWorkApplied** to verify all the created manifestWork status conditions (applied, progressing, degraded or available).
1. **ManifestWorkApplied** to verify all the created ManifestWork status conditions (applied, progressing, degraded or available).
Here is an example.
Expand Down Expand Up @@ -118,7 +118,7 @@ status:
```
## Release and Enable Feature
ManifeastWorkReplicaSet is in alpha release and it is not enable by default. In order to enable the ManifeastWorkReplicaSet feature, it has to be enabled in the cluster-manager instance in the hub. Use the following command to edit the cluster-manager CR (custom resource) in the hub cluster.
ManifestWorkReplicaSet is in alpha release and it is not enabled by default. In order to enable the ManifestWorkReplicaSet feature, it has to be enabled in the cluster-manager instance in the hub. Use the following command to edit the cluster-manager CR (custom resource) in the hub cluster.
```shell
$ oc edit ClusterManager cluster-manager
Expand Down
18 changes: 9 additions & 9 deletions content/zh/concepts/multicluster-controlplane.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,20 @@ weight: 10
<!-- spellchecker-enable -->

## What is `Multicluster Control Plane`
The multicluster control plane is a lightweight Open Cluster Manager (OCM) control plane that is easy to install and has a small footprint. It can be running anywhere with or without kubernetes environment to sever the OCM control plane capabilities.
The multicluster control plane is a lightweight Open Cluster Manager (OCM) control plane that is easy to install and has a small footprint. It can be running anywhere with or without a Kubernetes environment to serve the OCM control plane capabilities.

## Why use `Multicluster Control Plane`
1. Some kubernetes environments do not have CSR (e.g., EKS) so that the standard OCM control plane cannot be installed. The multicluster control plane can be able to install in these environments and expose the OCM control plane API via loadbalancer.
1. Some Kubernetes environments do not have CSR (e.g., EKS) so that the standard OCM control plane cannot be installed. The multicluster control plane can be able to install in these environments and expose the OCM control plane API via loadbalancer.

2. Some users want to run multiple OCM control plane to isolate the data. The typical case is that the user wants to run one OCM control plane for production and another OCM control plane for development. The multicluster control plane can be able to install in the different namespace in a single cluster. Each multicluster control plane is running independently and serving the OCM control plane capabilities.
2. Some users may want to run multiple OCM control planes to isolate the data. The typical case is that the user wants to run one OCM control plane for production and another OCM control plane for development. The multicluster control plane is able to be installed in different namespaces in a single cluster. Each multicluster control plane is running independently and serving the OCM control plane capabilities.

3. Some users want to run OCM control plane without kubernetes environment. The multicluster control plane can be running in a standalone mode. for example, it can be running in a VM. Expose the control plane API to the outside so the managed clusters can register to it.
3. Some users may want to run the OCM control plane without a Kubernetes environment. The multicluster control plane can run in a standalone mode, for example, running in a VM. Expose the control plane API to the outside so the managed clusters can register to it.

## How to use `Multicluster Control Plane`

### Start the standalone multicluster control plane

You need build `multicluster-controlplane` in your local host. Following below steps to build the binary and start the multicluster control plane.
You need build `multicluster-controlplane` in your local host. Follow the below steps to build the binary and start the multicluster control plane.

```Shell
git clone https://github.com/open-cluster-management-io/multicluster-controlplane.git
Expand All @@ -33,7 +33,7 @@ make run

Once the control plane is running, you can access the control plane by using `kubectl --kubeconfig=./_output/controlplane/.ocm/cert/kube-aggregator.kubeconfig`.

You can customize the control plane configurations by creating a config file and using the environment variable `CONFIG_DIR` to specify your config file directory. Please check [here](https://github.com/open-cluster-management-io/multicluster-controlplane#run-controlplane-as-a-local-binary) for details.
You can customize the control plane configurations by creating a config file and using the environment variable `CONFIG_DIR` to specify your config file directory. Please check the [repository documentation](https://github.com/open-cluster-management-io/multicluster-controlplane#run-controlplane-as-a-local-binary) for details.

### Install via clusteradm

Expand All @@ -47,7 +47,7 @@ curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/
```
#### Install multicluster control plane

You can use `clusteradm init` to deploy the multicluster control plane in your kubernetes environment.
You can use `clusteradm init` to deploy the multicluster control plane in your Kubernetes environment.

1. Set the environment variable KUBECONFIG to your cluster kubeconfig path. For instance, create a new KinD cluster and deploy multicluster control plane in it.

Expand All @@ -62,7 +62,7 @@ export mc_cp_node_ip=$(kubectl get nodes -o=jsonpath='{.items[0].status.addresse
```Shell
clusteradm init --singleton=true --set route.enabled=false --set nodeport.enabled=true --set nodeport.port=30443 --set apiserver.externalHostname=$mc_cp_node_ip --set apiserver.externalPort=30443 --singleton-name multicluster-controlplane
```
Refer to [here](https://github.com/open-cluster-management-io/multicluster-controlplane#use-helm-to-deploy-controlplane-in-a-cluster) for how to customize the control plane configurations.
Refer to the [repository documentation](https://github.com/open-cluster-management-io/multicluster-controlplane#use-helm-to-deploy-controlplane-in-a-cluster) for how to customize the control plane configurations.

3. Get the control plane kubeconfig by running the following command:

Expand All @@ -88,4 +88,4 @@ kubectl --kubeconfig=/tmp/multicluster-controlplane.kubeconfig get managedcluste
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE
cluster1 true https://cluster1-control-plane:6443 True True 5m25s
```
You should see the managedcluster joins to the multicluster control plane. Congratulation!
You should see the managedcluster joins to the multicluster control plane. Congratulations!

0 comments on commit 52b8c6d

Please sign in to comment.