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
@@ -7,142 +7,25 @@ In this tutorial we’ll cover the basics of how to use Cluster API to create on
7
7
### Prerequisites
8
8
9
9
- Install and setup [kubectl] in your local environment
10
-
- Install [Kind] and [Docker]
11
-
- An existing [Tinkerbell] installation running at least versions mentioned in v0.6.0 of [sandbox](https://github.com/tinkerbell/sandbox/tree/v0.6.0), this guide assumes deployment using the sandbox with an IP address of 192.168.1.1, so modifications will be needed if Tinkerbell was deployed with a different method or if the IP address is different.
12
-
13
-
### Install and/or configure a Kubernetes cluster
14
-
15
-
Cluster API requires an existing Kubernetes cluster accessible via kubectl. During the installation process the
16
-
Kubernetes cluster will be transformed into a [management cluster] by installing the Cluster API [provider components], so it
17
-
is recommended to keep it separated from any application workload.
18
-
19
-
It is a common practice to create a temporary, local bootstrap cluster which is then used to provision
20
-
a target [management cluster] on the selected [infrastructure provider].
21
-
22
-
Choose one of the options below:
23
-
24
-
1.**Existing Management Cluster**
25
-
26
-
For production use-cases a "real" Kubernetes cluster should be used with appropriate backup and DR policies and procedures in place. The Kubernetes cluster must be at least v1.19.1.
27
-
28
-
```bash
29
-
export KUBECONFIG=<...>
30
-
```
31
-
32
-
2.**Kind**
33
-
34
-
**NOTE**[kind] is not designed for production use.
35
-
36
-
**Minimum [kind] supported version**: v0.9.0
37
-
38
-
[kind] can be used for creating a local Kubernetes cluster for development environments or for
39
-
the creation of a temporary [bootstrap cluster] used to provision a target [management cluster] on the selected infrastructure provider.
40
-
41
-
Create the kind cluster:
42
-
43
-
```bash
44
-
kind create cluster
45
-
```
46
-
47
-
Test to ensure the local kind cluster is ready:
48
-
49
-
```
50
-
kubectl cluster-info
51
-
```
52
-
53
-
### Install clusterctl
54
-
55
-
The clusterctl CLI tool handles the lifecycle of a Cluster API management cluster.
Test to ensure the version you installed is up-to-date:
110
-
111
-
```
112
-
clusterctl version
113
-
```
114
-
115
-
#### Install clusterctl with homebrew on macOS and linux
116
-
117
-
Install the latest release using homebrew:
118
-
119
-
```bash
120
-
brew install clusterctl
121
-
```
122
-
123
-
Test to ensure the version you installed is up-to-date:
124
-
125
-
```
126
-
clusterctl version
127
-
```
10
+
- Install [clusterctl]
11
+
- Tinkerbell stack with all services using a kubernetes backend. *Full docs for this don't exist yet. These docs are scheduled to be included in the v0.3.0 release.*
128
12
129
13
### Initialize the management cluster
130
14
131
15
Now that we've got clusterctl installed and all the prerequisites in place, let's transform the Kubernetes cluster
132
-
into a management cluster by using `clusterctl init`.
16
+
into a management cluster by using `clusterctl init`. This only needs to be run once.
133
17
134
18
The command accepts as input a list of providers to install; when executed for the first time, `clusterctl init`
135
19
automatically adds to the list the `cluster-api` core provider, and if unspecified, it also adds the `kubeadm` bootstrap
136
20
and `kubeadm` control-plane providers.
137
21
138
-
#### Initialization for the Tinkerbell provider
22
+
`clusterctl` doesn't include the Tinkerbell CAPI provider (CAPT) so we need to configure this:
139
23
140
24
```sh
141
-
# Let clusterctl know about the Tinkerbell provider
**NOTE** IMPORTANT: In order to ensure a proper cleanup of your infrastructure you must always delete the cluster object. Deleting the entire cluster template with `kubectl delete -f capi-quickstart.yaml` might lead to pending resources to be cleaned up manually.
394
277
395
-
Delete management cluster
396
-
397
-
```bash
398
-
kind delete cluster
399
-
```
400
-
401
-
## Next steps
402
-
403
-
See the [clusterctl] documentation for more detail about clusterctl supported actions.
0 commit comments