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
### Deploying to the RKE2 Cluster with Harvester Node Driver
57
57
58
58
When spinning up an RKE2 cluster using the Harvester node driver, select the `Harvester` cloud provider. The node driver will then help deploy both the CSI driver and CCM automatically.
@@ -62,25 +62,88 @@ When spinning up an RKE2 cluster using the Harvester node driver, select the `Ha
62
62
### Deploying to the RKE2 custom cluster (experimental)
63
63
64
64

65
-
1.Use `generate_addon.sh` to generate a cloud-config and place it into the directory `/etc/kubernetes/cloud-config` on every custom node.
65
+
1.Generate cloud config data using the script `generate_addon.sh`, and then place the data on every custom node (directory:`/etc/kubernetes/cloud-config`).
The `generate_addon.sh`script depends on `kubectl` and `jq`to operate the Harvester cluster.
73
+
The script depends on `kubectl` and `jq`when operating the Harvester cluster, and functions only when given access to the `Harvester Cluster` kubeconfig file.
74
74
75
-
The script needs access to the `Harvester Cluster` kubeconfig to work. You can find the `kubeconfig` file from one of the Harvester management nodes in the `/etc/rancher/rke2/rke2.yaml` path.
75
+
You can find the `kubeconfig` file in one of the Harvester management nodes in the `/etc/rancher/rke2/rke2.yaml` path. The server IP must be replaced with the VIP address.
76
+
77
+
Example of content:
78
+
79
+
```yaml
80
+
apiVersion: v1
81
+
clusters:
82
+
- cluster:
83
+
certificate-authority-data: <redacted>
84
+
server: https://127.0.0.1:6443
85
+
name: default
86
+
# ...
87
+
```
76
88
77
-
The namespace needs to be the namespace in which the guest cluster will be created.
89
+
You must specify the namespace in which the guest cluster will be created.
78
90
79
91
:::
80
92
93
+
Example of output:
81
94
82
-
2. Configure the **Cloud Provider** to `Harvester` and select **Create** to spin up the cluster.
1. On the **Basics** tab of the **Cluster Configuration** screen, select**Harvester** as the **Cloud Provider** and thenselect**Create** to spin up the cluster.
141
+
142
+

143
+
144
+
1. On the **Registration** tab, perform the steps required to run the RKE2 registration command on the VM.
2. Find the cloud provider chart and select⋮**> Edit/Upgrade**.
191
-
3. Select **Version**.
254
+
3. Select **Version**.
192
255
4. Click **Next > Update**.
193
256
194
257
:::info
195
258
196
-
The upgrade process for a [single-node guest cluster](../advanced/singlenodeclusters) may stall when the new `harvester-cloud-provider` pod is stuck in the *Pending* state. This issue is caused by a section in the `harvester-cloud-provider` deployment that describes the rolling update strategy. Specifically, the default value conflicts with the `podAntiAffinity` configuration in single-node clusters.
259
+
The upgrade process fora [single-node guest cluster](../advanced/singlenodeclusters) may stall when the new `harvester-cloud-provider` pod is stuckin the *Pending* state. This issue is caused by a section in the `harvester-cloud-provider` deployment that describes the rolling update strategy. Specifically, the default value conflicts with the `podAntiAffinity` configuration in single-node clusters.
197
260
198
261
For more information, see [this GitHub issue comment](https://github.com/harvester/harvester/issues/5348#issuecomment-2055453709). To address the issue, manually delete the old `harvester-cloud-provider` pod. You might need to do this multiple timesuntil the new pod can be successfully scheduled.
199
262
@@ -203,7 +266,7 @@ For more information, see [this GitHub issue comment](https://github.com/harvest
203
266
Once you've deployed the Harvester cloud provider, you can leverage the Kubernetes `LoadBalancer` service to expose a microservice within the guest cluster to the external world. Creating a Kubernetes `LoadBalancer` service assigns a dedicated Harvester load balancer to the service, and you can make adjustments through the `Add-on Config` within the Rancher UI.
204
267
205
268

206
-
269
+
207
270
208
271
### IPAM
209
272
Harvester's built-in load balancer offers both **DHCP** and **Pool** modes, and you can configure it by adding the annotation `cloudprovider.harvesterhci.io/ipam: $mode` to its corresponding service. Starting from Harvester cloud provider >= v0.2.0, it also introduces a unique **Share IP** mode. A service shares its load balancer IP with other services in this mode.
### Deploying to the RKE2 Cluster with Harvester Node Driver
57
57
58
58
When spinning up an RKE2 cluster using the Harvester node driver, select the `Harvester` cloud provider. The node driver will then help deploy both the CSI driver and CCM automatically.
@@ -62,25 +62,88 @@ When spinning up an RKE2 cluster using the Harvester node driver, select the `Ha
62
62
### Deploying to the RKE2 custom cluster (experimental)
63
63
64
64

65
-
1.Use `generate_addon.sh` to generate a cloud-config and place it into the directory `/etc/kubernetes/cloud-config` on every custom node.
65
+
1.Generate cloud config data using the script `generate_addon.sh`, and then place the data on every custom node (directory:`/etc/kubernetes/cloud-config`).
The `generate_addon.sh`script depends on `kubectl` and `jq`to operate the Harvester cluster.
73
+
The script depends on `kubectl` and `jq`when operating the Harvester cluster, and functions only when given access to the `Harvester Cluster` kubeconfig file.
74
74
75
-
The script needs access to the `Harvester Cluster` kubeconfig to work. You can find the `kubeconfig` file from one of the Harvester management nodes in the `/etc/rancher/rke2/rke2.yaml` path.
75
+
You can find the `kubeconfig` file in one of the Harvester management nodes in the `/etc/rancher/rke2/rke2.yaml` path. The server IP must be replaced with the VIP address.
76
+
77
+
Example of content:
78
+
79
+
```yaml
80
+
apiVersion: v1
81
+
clusters:
82
+
- cluster:
83
+
certificate-authority-data: <redacted>
84
+
server: https://127.0.0.1:6443
85
+
name: default
86
+
# ...
87
+
```
76
88
77
-
The namespace needs to be the namespace in which the guest cluster will be created.
89
+
You must specify the namespace in which the guest cluster will be created.
78
90
79
91
:::
80
92
93
+
Example of output:
81
94
82
-
2. Configure the **Cloud Provider** to `Harvester` and select **Create** to spin up the cluster.
1. On the **Basics** tab of the **Cluster Configuration** screen, select**Harvester** as the **Cloud Provider** and thenselect**Create** to spin up the cluster.
141
+
142
+

143
+
144
+
1. On the **Registration** tab, perform the steps required to run the RKE2 registration command on the VM.
2. Find the cloud provider chart and select⋮**> Edit/Upgrade**.
191
-
3. Select **Version**.
254
+
3. Select **Version**.
192
255
4. Click **Next > Update**.
193
256
194
257
:::note
195
258
196
-
The upgrade process for a [single-node guest cluster](../advanced/singlenodeclusters) may stall when the new `harvester-cloud-provider` pod is stuck in the *Pending* state. This issue is caused by a section in the `harvester-cloud-provider` deployment that describes the rolling update strategy. Specifically, the default value conflicts with the `podAntiAffinity` configuration in single-node clusters.
259
+
The upgrade process fora [single-node guest cluster](../advanced/singlenodeclusters) may stall when the new `harvester-cloud-provider` pod is stuckin the *Pending* state. This issue is caused by a section in the `harvester-cloud-provider` deployment that describes the rolling update strategy. Specifically, the default value conflicts with the `podAntiAffinity` configuration in single-node clusters.
197
260
198
261
For more information, see [this GitHub issue comment](https://github.com/harvester/harvester/issues/5348#issuecomment-2055453709). To address the issue, manually delete the old `harvester-cloud-provider` pod. You might need to do this multiple timesuntil the new pod can be successfully scheduled.
199
262
@@ -203,7 +266,7 @@ For more information, see [this GitHub issue comment](https://github.com/harvest
203
266
Once you've deployed the Harvester cloud provider, you can leverage the Kubernetes `LoadBalancer` service to expose a microservice within the guest cluster to the external world. Creating a Kubernetes `LoadBalancer` service assigns a dedicated Harvester load balancer to the service, and you can make adjustments through the `Add-on Config` within the Rancher UI.
204
267
205
268

206
-
269
+
207
270
208
271
### IPAM
209
272
Harvester's built-in load balancer offers both **DHCP** and **Pool** modes, and you can configure it by adding the annotation `cloudprovider.harvesterhci.io/ipam: $mode` to its corresponding service. Starting from Harvester cloud provider >= v0.2.0, it also introduces a unique **Share IP** mode. A service shares its load balancer IP with other services in this mode.
0 commit comments