You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For more details, visit the [multicloud-operators-subscription GitHub page](https://github.com/open-cluster-management-io/multicloud-operators-subscription).
28
+
For more details, visit the
29
+
[Argo CD Pull Integration GitHub page](https://github.com/open-cluster-management-io/argocd-pull-integration).
17
30
18
31
## Prerequisite
19
32
20
33
You must meet the following prerequisites to install the application lifecycle management add-on:
21
34
22
-
- Ensure [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) and [kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/) are installed.
35
+
- Ensure [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) are installed.
36
+
37
+
- Ensure the OCM _cluster manager_ is installed. See [Start the control plane]({{< ref "docs/getting-started/installation/start-the-control-plane" >}}) for more information.
23
38
24
-
- Ensure the `open-cluster-management`_cluster manager_is installed. See [Start the control plane]({{< ref "docs/getting-started/installation/start-the-control-plane" >}}) for more information.
39
+
- Ensure the OCM _klusterlet_is installed. See [Register a cluster]({{< ref "docs/getting-started/installation/register-a-cluster" >}}) for more information.
25
40
26
-
- Ensure the `open-cluster-management`_klusterlet_is installed. See [Register a cluster]({{< ref "docs/getting-started/installation/register-a-cluster" >}}) for more information.
41
+
- Ensure `clusteradm` CLI tool is installed. Download and extract the [clusteradm binary](https://github.com/open-cluster-management-io/clusteradm/releases/latest). For more details see the [clusteradm GitHub page](https://github.com/open-cluster-management-io/clusteradm/blob/main/README.md#quick-start).
27
42
28
-
## Install via Clusteradm CLI tool
43
+
## Installation
29
44
30
-
Ensure `clusteradm` CLI tool is installed. Download and extract the [clusteradm binary](https://github.com/open-cluster-management-io/clusteradm/releases/latest). For more details see the [clusteradm GitHub page](https://github.com/open-cluster-management-io/clusteradm/blob/main/README.md#quick-start).
Create the `open-cluster-management-agent-addon` namespace on the managed cluster and it's optional if `clusteradm` is used which create the ns during `join` action.
90
+
**Note:** The Application template inside the ApplicationSet must contain the following content:
Deploy the subscription add-on in corresponding managed cluster namespace on the hub cluster.
100
+
The label allows the pull model controller to select the Application for processing.
102
101
103
-
```Shell
104
-
$ kubectl config use-context ${CTX_HUB_CLUSTER}
105
-
$ make deploy-addon
106
-
$ kubectl -n ${MANAGED_CLUSTER_NAME} get managedclusteraddon # kubectl -n cluster1 get managedclusteraddon
107
-
NAME AVAILABLE DEGRADED PROGRESSING
108
-
application-manager True
109
-
```
102
+
The `skip-reconcile` annotation is to prevent the Application from reconciling on the Hub cluster.
110
103
111
-
Check the the subscription add-on deployment on the managed cluster.
104
+
The `ocm-managed-cluster` annotation is for the ApplicationSet to generate multiple Application based on each cluster generator targets.
112
105
113
-
```Shell
114
-
$ kubectl -n open-cluster-management-agent-addon get deploy --context ${CTX_MANAGED_CLUSTER}
115
-
NAME READY UP-TO-DATE AVAILABLE AGE
116
-
application-manager 1/1 1 1 103s
117
-
```
106
+
When this guestbook ApplicationSet reconciles, it will generate an Application for the registered Managed clusters. For example:
118
107
119
-
## What is next
108
+
```shell
109
+
$ kubectl -n argocd get appset
110
+
NAME AGE
111
+
guestbook-app 84s
112
+
$ kubectl -n argocd get app
113
+
NAME SYNC STATUS HEALTH STATUS
114
+
cluster1-guestbook-app
115
+
cluster2-guestbook-app
116
+
```
120
117
121
-
After a successful deployment, test the subscription operator with a `helm` subscription. Run the following command where the examples/helmrepo-hub-channel locates at [here](https://github.com/open-cluster-management-io/multicloud-operators-subscription/tree/main/examples/helmrepo-hub-channel):
118
+
On the Hub cluster, the pull controller will wrap the Application with a ManifestWork. For example:
After a while, you should see the subscription is propagated to the managed cluster and the Helm app is installed. By default, when a subscribed applications is deployed to the target clusters, the applications are installed in the coresponding subscription namespace. To confirm, run the following command:
126
+
On a Managed cluster, you should see that the Application is pulled down successfully. For example:
128
127
129
-
```Shell
130
-
$ kubectl get subscriptions.apps --context ${CTX_MANAGED_CLUSTER}
131
-
NAME STATUS AGE LOCAL PLACEMENT TIME WINDOW
132
-
nginx-sub Subscribed 107m true
133
-
$ kubectl get pod --context ${CTX_MANAGED_CLUSTER}
Let [VScode Extension]({{< ref "docs/developer-guides/vscode-extension" >}}) help you out!
137
+
On the Hub cluster, the status controller will sync the dormant Application with the ManifestWork status feedback. For example:
142
138
143
-
Create a Bootstrap Project specifically tailored to your channel type, with all the Custom Resource (CR) templates you will need already auto-generated to get you started!
0 commit comments