Skip to content

Commit 28a1012

Browse files
authored
Streamline documentation for CAPIBM (#1508)
1 parent fbf38c2 commit 28a1012

File tree

9 files changed

+78
-85
lines changed

9 files changed

+78
-85
lines changed

docs/book/src/SUMMARY.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
- [Image Commands](./topics/capibmadm/vpc/image.md)
2929
- [Key Commands](./topics/capibmadm/vpc/key.md)
3030
- [Developer Guide](./developer/index.md)
31-
- [Podman setup for tilt](./developer/tilt-with-podman.md)
3231
- [Rapid iterative development with Tilt](./developer/tilt.md)
3332
- [Guide for API conversions](./developer/conversion.md)
3433
- [Release Process](./developer/release.md)

docs/book/src/developer/index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,7 @@
22

33
- [Rapid iterative development with Tilt](/developer/tilt.html)
44
- [Guide for API conversions](/developer/conversion.html)
5-
- [Release process](/developer/release.html)
6-
- [How to build machine boot images](/developer/build-images.html)
5+
- [Release Process](/developer/release.html)
6+
- [How to build the machine boot images](/developer/build-images.html)
7+
- [Modules and tools dependencies](/developer/dependencies.html)
8+
- [E2E testing](/developer/e2e.html)

docs/book/src/developer/tilt-with-podman.md

Lines changed: 0 additions & 41 deletions
This file was deleted.

docs/book/src/developer/tilt.md

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ This document describes how to use [kind](https://kind.sigs.k8s.io) and [Tilt](h
66

77
## Prerequisites
88

9-
1. [Docker](https://docs.docker.com/install/) v19.03 or newer
9+
1. Container Runtime Interface
10+
* [Docker](https://docs.docker.com/install/) - v19.03 or newer
11+
* [Podman](https://podman.io/docs/installation) - v3.0 or newer
1012
2. [kind](https://kind.sigs.k8s.io) v0.9 or newer (other clusters can be
1113
used if `preload_images_for_kind` is set to false)
1214
3. [kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/)
@@ -17,23 +19,59 @@ This document describes how to use [kind](https://kind.sigs.k8s.io) and [Tilt](h
1719
locally
1820
7. Clone the [cluster-api-provider-ibmcloud](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud) repository you want to deploy locally as well
1921

22+
---
23+
If the user prefers to have Podman as the CRI, then follow the steps listed below:
24+
25+
1. Emulate Docker CLI with Podman: Instructions can be found [here](https://podman-desktop.io/docs/migrating-from-docker/emulating-docker-cli-with-podman)
26+
2. On `Mac OS` migrate from Docker to Podman: Instructions can be found
27+
[here](https://podman-desktop.io/docs/migrating-from-docker/using-podman-mac-helper).
28+
29+
### 1. Create Podman machine
30+
31+
```shell
32+
$ podman machine init
33+
$ podman machine start
34+
```
35+
36+
### 2. Configure podman to use local registry
37+
38+
```shell
39+
$ podman machine ssh
40+
$ sudo vi /etc/containers/registries.conf
41+
42+
## at the end of the file add below content
43+
44+
[[registry]]
45+
location = "localhost:5001"
46+
insecure = true
47+
```
48+
### 3. Restart Podman machine
49+
50+
```shell
51+
podman machine stop
52+
podman machine start
53+
```
54+
---
55+
2056
## Create a kind cluster
2157

2258
First, make sure you have a kind cluster and that your `KUBECONFIG` is set up correctly:
2359

2460
``` bash
25-
kind create cluster
61+
make kind-cluster
2662
```
2763

28-
This local cluster will be running all the cluster api controllers and become the management cluster which then can be used to spin up workload clusters on IBM Cloud.
64+
This local cluster will host the cluster-api controllers, which makes it the management cluster. The management cluster can be used to create and manage workload clusters on IBM Cloud.
65+
66+
---
2967

3068
## Create a tilt-settings.yaml file
3169

3270
Next, create a `tilt-settings.yaml` file and place it in your local copy of `cluster-api`. Here is an example:
3371

3472
**Example `tilt-settings.yaml` for CAPI-IBM clusters:**
3573

36-
Make sure to replace the parameter `IBMCLOUD_API_KEY` with a valid API key.
74+
Make sure to set a valid API key for the field `IBMCLOUD_API_KEY`.
3775

3876
```yaml
3977
default_registry: "gcr.io/you-project-name-here"
@@ -54,30 +92,16 @@ extra_args:
5492
ibmcloud:
5593
- '-v=5'
5694
```
95+
---
96+
## Different flavors of deploying workload clusters using CAPIBM.
5797
58-
### 1. Configuration to deploy PowerVS workload cluster with external cloud controller manager
59-
60-
To deploy workload cluster with [PowerVS cloud controller manager](/topics/powervs/external-cloud-provider.html) which is currently in experimental stage, Set `PROVIDER_ID_FORMAT` to `v2` and enable cluster resourceset feature gate under kustomize_substitutions.
61-
Currently, [ClusterResourceset](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-resource-set.html) is experimental feature so we need to enable the feature gate by setting `EXP_CLUSTER_RESOURCE_SET` variable under kustomize_substitutions.
98+
> **Note:** Currently, both [ClusterClass](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-class/index.html) and [ClusterResourceset](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-resource-set.html) are experimental features.
6299
63-
```yaml
64-
default_registry: "gcr.io/you-project-name-here"
65-
provider_repos:
66-
- ../cluster-api-provider-ibmcloud
67-
enable_providers:
68-
- ibmcloud
69-
- kubeadm-bootstrap
70-
- kubeadm-control-plane
71-
kustomize_substitutions:
72-
IBMCLOUD_API_KEY: "XXXXXXXXXXXXXXXXXX"
73-
PROVIDER_ID_FORMAT: "v2"
74-
EXP_CLUSTER_RESOURCE_SET: "true"
75-
```
100+
### 1. Configuration to deploy PowerVS workload cluster with external cloud controller manager
76101
77-
### 2. Configuration to deploy VPC workload cluster with external cloud controller manager
102+
To deploy workload cluster with [PowerVS cloud controller manager](/topics/powervs/external-cloud-provider.html)(experimental) or to deploy workload cluster with [cloud controller manager](/topics/vpc/load-balancer.html)(experimental), set `PROVIDER_ID_FORMAT` to `v2` and enable cluster resourceset feature gate under kustomize_substitutions.
78103

79-
To deploy workload cluster with [cloud controller manager](/topics/vpc/load-balancer.html) which is currently in experimental stage, Set `PROVIDER_ID_FORMAT` to `v2` and enable cluster resourceset feature gate under kustomize_substitutions.
80-
Currently, [ClusterResourceset](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-resource-set.html) is experimental feature so we need to enable the feature gate by setting `EXP_CLUSTER_RESOURCE_SET` variable under kustomize_substitutions.
104+
This requires setting the feature gate `EXP_CLUSTER_RESOURCE_SET` to `true` under kustomize_substitutions.
81105

82106
```yaml
83107
default_registry: "gcr.io/you-project-name-here"
@@ -93,10 +117,11 @@ kustomize_substitutions:
93117
EXP_CLUSTER_RESOURCE_SET: "true"
94118
```
95119

96-
### 3. Configuration to deploy workload cluster from ClusterClass template
120+
### 2. Configuration to deploy workload cluster from ClusterClass template
121+
122+
To deploy workload cluster with [clusterclass-template](/topics/powervs/clusterclass-cluster.html), set the `PROVIDER_ID_FORMAT` to `v2` under kustomize_substitutions.
97123

98-
To deploy workload cluster with [clusterclass-template](/topics/powervs/clusterclass-cluster.html) under kustomize_substitutions set `PROVIDER_ID_FORMAT` to `v2`.
99-
Currently, both [ClusterClass](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-class/index.html) and [ClusterResourceset](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-resource-set.html) are experimental feature so we need to enable the feature gate by setting `EXP_CLUSTER_RESOURCE_SET`, `CLUSTER_TOPOLOGY` variable under kustomize_substitutions.
124+
This requires setting the feature gates `EXP_CLUSTER_RESOURCE_SET` and `CLUSTER_TOPOLOGY` to `true` under kustomize_substitutions.
100125

101126
```yaml
102127
default_registry: "gcr.io/you-project-name-here"
@@ -113,7 +138,7 @@ kustomize_substitutions:
113138
CLUSTER_TOPOLOGY: "true"
114139
```
115140

116-
### 4. Configuration to deploy workload cluster with Custom Service Endpoint
141+
### 3. Configuration to deploy workload cluster with Custom Service Endpoint
117142

118143
To deploy workload cluster with Custom Service Endpoint, Set `SERVICE_ENDPOINT` environmental variable in semi-colon separated format: `${ServiceRegion}:${ServiceID1}=${URL1},${ServiceID2}=${URL2...}`
119144
```yaml

docs/book/src/getting-started.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,22 +88,18 @@ it into a management cluster using `clusterctl`.
8888

8989
6. Once the management cluster is ready with the required providers up and running, proceed to provisioning the workload cluster. Check the respective sections for [VPC](/topics/vpc/creating-a-cluster.html) and [PowerVS](/topics/powervs/creating-a-cluster.html) to deploy the cluster.
9090

91-
7. For deploying with your workload cluster with Cloud Controller manager or Cluster Class template, refer to [deploy with cloud controller manager](#deploy-with-cloud-contoller-manager) and [deploy PowerVS cluster with cluster class template](#deploy-powervs-cluster-with-clusterclass-template) sections respectively.
91+
7. For deploying with your workload cluster with Cloud Controller manager or Cluster Class template, refer to [deploy with cloud controller manager](#deploy-with-cloud-controller-manager) and [deploy PowerVS cluster with cluster class template](#deploy-powervs-cluster-with-clusterclass-template) sections respectively.
9292

9393

94-
### Deploy with Cloud Contoller manager
94+
### Deploy with Cloud Controller manager
9595

96-
1. To deploy VPC workload cluster with [IBM cloud controller manager](/topics/vpc/load-balancer.html), set the `PROVIDER_ID_FORMAT` environmental variable.
97-
```console
98-
export PROVIDER_ID_FORMAT=v2
99-
export EXP_CLUSTER_RESOURCE_SET=true
100-
```
96+
To deploy VPC workload cluster with [IBM cloud controller manager](/topics/vpc/load-balancer.html), or with [PowerVS cloud controller manager](/topics/powervs/external-cloud-provider.html), set the `PROVIDER_ID_FORMAT` environmental variable to `v2`.
10197

102-
2. To deploy workload cluster with [PowerVS cloud controller manager](/topics/powervs/external-cloud-provider.html), set the `PROVIDER_ID_FORMAT` environmental variable.
103-
```console
98+
```console
10499
export PROVIDER_ID_FORMAT=v2
105100
export EXP_CLUSTER_RESOURCE_SET=true
106-
```
101+
```
102+
107103
> Note: `EXP_CLUSTER_RESOURCE_SET` should be set for deploying workload cluster with Cloud Controller manager.
108104
109105
### Deploy PowerVS cluster or VPC cluster with ClusterClass template

docs/book/src/machine-images/index.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@ CAPIBM requires a “machine image” containing pre-installed, matching version
44

55
Pre-built public Images are published by the maintainers regularly for each new Kubernetes version.
66

7-
>Note: These images are only for the test purpose
7+
>Note: These images are only for the test purpose
8+
9+
- [IBM Cloud VPC Images](/machine-images/vpc.html)
10+
- [IBM Cloud PowerVS Images](/machine-images/powervs.html)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
11
# Reference
2+
3+
Further references to the Cluster API Provider IBM Cloud - CAPIBM project.
4+
5+
- [API reference](/reference/api-references.html)
6+
- [Regions-Zones Mapping](/reference/regions-zones-mapping.html)

docs/book/src/topics/index.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
# Topics
22

3-
This section contains information about using IBM Cloud features with Cluster API Provider IBM Cloud.
3+
This section contains information about using IBM Cloud features with Cluster API Provider IBM Cloud.
4+
5+
- [IBM Cloud VPC Cluster](/topics/vpc/index.html)
6+
- [IBM Cloud PowerVS Cluster](/topics/powervs/index.html)

docs/book/src/topics/vpc/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
- [Prerequisites](/topics/vpc/prerequisites.html)
55
- [Uploading an image](/topics/vpc/uploading-an-image.html)
66
- [Creating a cluster](/topics/vpc/creating-a-cluster.html)
7-
- [Creating a cluster from ClusterClass](/topics/vpc/clusterclass-cluster.md)
7+
- [Creating a cluster with Load Balancer and external cloud provider](/topics/vpc/load-balancer.md)
8+
- [Creating a cluster from ClusterClass](/topics/vpc/clusterclass-cluster.md)

0 commit comments

Comments
 (0)