Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions content/en/docs/getting-started/installation/register-a-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,47 @@ up the external client.
{{% /tab %}}
{{< /tabpane >}}

### Configure CPU and memory resources

You can configure CPU and memory resources for the klusterlet agent components by adding resource flags to the `clusteradm join` command. These flags indicate that all components in the klusterlet agent will use the same resource requirement or limit:

{{< tabpane text=true >}}
{{% tab header="kind" %}}
```shell
# Configure resource requests and limits for klusterlet components
clusteradm join \
--hub-token <your token data> \
--hub-apiserver <your hub cluster endpoint> \
--wait \
--cluster-name "cluster1" \
--resource-qos-class ResourceRequirement \
--resource-limits cpu=800m,memory=800Mi \
--resource-requests cpu=400m,memory=400Mi \
--force-internal-endpoint-lookup \
--context ${CTX_MANAGED_CLUSTER}
```
{{% /tab %}}
{{% tab header="k3s, openshift 4.X" %}}
```shell
# Configure resource requests and limits for klusterlet components
clusteradm join \
--hub-token <your token data> \
--hub-apiserver <your hub cluster endpoint> \
--wait \
--cluster-name "cluster1" \
--resource-qos-class ResourceRequirement \
--resource-limits cpu=800m,memory=800Mi \
--resource-requests cpu=400m,memory=400Mi \
--context ${CTX_MANAGED_CLUSTER}
```
{{% /tab %}}
{{< /tabpane >}}

Available resource configuration flags:
- `--resource-qos-class`: Sets the resource QoS class (`Default`, `BestEffort`, or `ResourceRequirement`)
- `--resource-limits`: Specifies resource limits as key-value pairs (e.g., `cpu=800m,memory=800Mi`)
- `--resource-requests`: Specifies resource requests as key-value pairs (e.g., `cpu=500m,memory=500Mi`)

### Bootstrap a klusterlet in hosted mode(Optional)

Using the above command, the klusterlet components(registration-agent and work-agent) will be deployed on the managed
Expand Down Expand Up @@ -127,6 +168,46 @@ to the hosting cluster to register the managed cluster to the hub.
{{% /tab %}}
{{< /tabpane >}}

**Resource configuration in hosted mode:**

You can also configure CPU and memory resources when using hosted mode by adding the same resource flags:

{{< tabpane text=true >}}
{{% tab header="kind" %}}
```shell
# Configure resource requests and limits for klusterlet components in hosted mode
clusteradm join \
--hub-token <your token data> \
--hub-apiserver <your hub cluster endpoint> \
--wait \
--cluster-name "cluster1" \
--mode hosted \
--managed-cluster-kubeconfig <your managed cluster kubeconfig> \
--resource-qos-class ResourceRequirement \
--resource-limits cpu=800m,memory=800Mi \
--resource-requests cpu=400m,memory=400Mi \
--force-internal-endpoint-lookup \
--context <your hosting cluster context>
```
{{% /tab %}}
{{% tab header="k3s, openshift 4.X" %}}
```shell
# Configure resource requests and limits for klusterlet components in hosted mode
clusteradm join \
--hub-token <your token data> \
--hub-apiserver <your hub cluster endpoint> \
--wait \
--cluster-name "cluster1" \
--mode hosted \
--managed-cluster-kubeconfig <your managed cluster kubeconfig> \
--resource-qos-class ResourceRequirement \
--resource-limits cpu=800m,memory=800Mi \
--resource-requests cpu=400m,memory=400Mi \
--context <your hosting cluster context>
```
{{% /tab %}}
{{< /tabpane >}}

### Bootstrap a klusterlet in singleton mode

To reduce the footprint of agent in the managed cluster, singleton mode is introduced since `v0.12.0`.
Expand Down Expand Up @@ -163,6 +244,44 @@ cluster.
{{% /tab %}}
{{< /tabpane >}}

**Resource configuration in singleton mode:**

You can also configure CPU and memory resources when using singleton mode:

{{< tabpane text=true >}}
{{% tab header="kind" %}}
```shell
# Configure resource requests and limits for klusterlet components in singleton mode
clusteradm join \
--hub-token <your token data> \
--hub-apiserver <your hub cluster endpoint> \
--wait \
--cluster-name "cluster1" \
--singleton \
--resource-qos-class ResourceRequirement \
--resource-limits cpu=600m,memory=600Mi \
--resource-requests cpu=300m,memory=300Mi \
--force-internal-endpoint-lookup \
--context ${CTX_MANAGED_CLUSTER}
```
{{% /tab %}}
{{% tab header="k3s, openshift 4.X" %}}
```shell
# Configure resource requests and limits for klusterlet components in singleton mode
clusteradm join \
--hub-token <your token data> \
--hub-apiserver <your hub cluster endpoint> \
--wait \
--cluster-name "cluster1" \
--singleton \
--resource-qos-class ResourceRequirement \
--resource-limits cpu=600m,memory=600Mi \
--resource-requests cpu=300m,memory=300Mi \
--context ${CTX_MANAGED_CLUSTER}
```
{{% /tab %}}
{{< /tabpane >}}

## Accept the join request and verify

After the OCM agent is running on your managed cluster, it will be sending a "handshake" to your
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,24 @@ Call `clusteradm init`:
clusteradm init --wait --context ${CTX_HUB_CLUSTER}
```

### Configure CPU and memory resources

You can configure CPU and memory resources for the cluster manager components by adding resource flags to the `clusteradm init` command. These flags indicate that all components in the hub controller will use the same resource requirement or limit:

```shell
# Configure resource requests and limits for cluster manager components
clusteradm init \
--resource-qos-class ResourceRequirement \
--resource-limits cpu=1000m,memory=1Gi \
--resource-requests cpu=500m,memory=512Mi \
--wait --context ${CTX_HUB_CLUSTER}
```

Available resource configuration flags:
- `--resource-qos-class`: Sets the resource QoS class (`Default`, `BestEffort`, or `ResourceRequirement`)
- `--resource-limits`: Specifies resource limits as key-value pairs (e.g., `cpu=800m,memory=800Mi`)
- `--resource-requests`: Specifies resource requests as key-value pairs (e.g., `cpu=500m,memory=500Mi`)

The `clusteradm init` command installs the
[registration-operator](https://github.com/open-cluster-management-io/ocm/tree/main/cmd/registration-operator)
on the hub cluster, which is responsible for consistently installing
Expand Down