From cc06838263fb5debdb285ff14f3e564dc125135b Mon Sep 17 00:00:00 2001 From: Ashley Dumaine Date: Tue, 13 Feb 2024 16:11:10 -0500 Subject: [PATCH] include info on CCM and CNI --- docs/book/src/SUMMARY.md | 1 - docs/book/src/developers/development.md | 19 +++++++--- docs/book/src/topics/addons.md | 40 ++++++++++++++++++++- docs/book/src/topics/api-server-endpoint.md | 1 - 4 files changed, 54 insertions(+), 7 deletions(-) delete mode 100644 docs/book/src/topics/api-server-endpoint.md diff --git a/docs/book/src/SUMMARY.md b/docs/book/src/SUMMARY.md index 31e79d968..22ae96fce 100644 --- a/docs/book/src/SUMMARY.md +++ b/docs/book/src/SUMMARY.md @@ -5,6 +5,5 @@ - [Getting Started](./topics/getting-started.md) - [Troubleshooting](./topics/troubleshooting.md) - [Addons](./topics/addons.md) - - [API Server Endpoint](./topics/api-server-endpoint.md) - [Development](./developers/development.md) - [Reference](./reference/reference.md) diff --git a/docs/book/src/developers/development.md b/docs/book/src/developers/development.md index fe74a7081..060673475 100644 --- a/docs/book/src/developers/development.md +++ b/docs/book/src/developers/development.md @@ -19,6 +19,7 @@ - [Deploying a workload cluster](#deploying-a-workload-cluster) - [Customizing the cluster deployment](#customizing-the-cluster-deployment) - [Creating the workload cluster](#creating-the-workload-cluster) + - [Cleaning up the workload cluster](#cleaning-up-the-workload-cluster) - [Automated Testing](#automated-testing) - [E2E Testing](#e2e-testing) @@ -154,14 +155,24 @@ clusterctl generate cluster $CLUSTER_NAME \ | kubectl apply -f - ``` -To delete the cluster: +This will provision the cluster with the CNI defaulted to cilium. + +Once the cluster control-plane is reachable, you'll need to install +the linode-ccm in order for the Node `InternalIP` and `ExternalIP` to be set correctly. +Please refer to the [CCM](../topics/addons#CCM) section. This is a temporary manual +step until the linode-ccm can be installed via CAAPH (see [this GitHub issue](https://github.com/linode/cluster-api-provider-linode/issues/101)). + +> For any issues, please refer to the [troubleshooting guide](../topics/troubleshooting.md). + +#### Cleaning up the workload cluster + +To delete the cluster, simply run: ```bash -clusterctl delete cluster $CLUSTER_NAME +kubectl delete cluster $CLUSTER_NAME ``` -> For any issues, please refere to the [troubleshooting guide](../topics/troubleshooting.md). - +> For any issues, please refer to the [troubleshooting guide](../topics/troubleshooting.md). ### Automated Testing diff --git a/docs/book/src/topics/addons.md b/docs/book/src/topics/addons.md index 5af4f3843..e608d0c9f 100644 --- a/docs/book/src/topics/addons.md +++ b/docs/book/src/topics/addons.md @@ -1 +1,39 @@ -# Addons +# Overview + +This section provides examples for addons for self-managed clusters. + +# CNI + +By default, the CNI plugin is not installed for self-managed clusters. + +[Cluster API Addon Provider Helm (CAAPH)](https://github.com/kubernetes-sigs/cluster-api-addon-provider-helm) +can be used to install a CNI via a Helm Chart, which is installed by default in +the KIND cluster created by `make tilt-cluster` + +## Cilium + +To install [Cilium](https://cilium.io/) on a self-managed cluster, +simply apply the `cni: cilium` label on the `Cluster` resource. +``` +kubectl label cluster $CLUSTER_NAME cni=cilium` +``` + +Cilium will be automatically installed via CAAPH into the labeled self-managed cluster. + +# CCM + +In order for the `InternalIP` and `ExternalIP` of the provisioned Nodes to be set correctly, +the [linode-cloud-controller-manager (linode-ccm)](https://github.com/linode/linode-cloud-controller-manager) +must be installed into provisioned clusters. + +At this time, CAAPH cannot install the linode-ccm so it must be manually generated and installed into +a self-managed cluster. +Please refer to the section on [generating a manifest for deployment](https://github.com/linode/linode-cloud-controller-manager?tab=readme-ov-file#generating-a-manifest-for-deployment). + +Once you have generated the `ccm-linode.yaml`, get the kubeconfig for the self-managed cluster +via `clusterctl` and apply it: + +```bash +clusterctl get kubeconfig $CLUSTER_NAME > $CLUSTER_NAME-kubeconfig.yaml +kubectl apply -f ccm-linode.yaml --kubeconfig $CLUSTER_NAME-kubeconfig.yaml +``` diff --git a/docs/book/src/topics/api-server-endpoint.md b/docs/book/src/topics/api-server-endpoint.md deleted file mode 100644 index f49f28887..000000000 --- a/docs/book/src/topics/api-server-endpoint.md +++ /dev/null @@ -1 +0,0 @@ -# API Server Endpoint