Skip to content

Commit 1a19e06

Browse files
authored
Merge pull request #7004 from oscr/docs-add-vcluster
📖 Add vcluster to CAPI book Quick Start
2 parents 50d525e + 6bce0c3 commit 1a19e06

File tree

1 file changed

+61
-19
lines changed

1 file changed

+61
-19
lines changed

docs/book/src/user/quick-start.md

Lines changed: 61 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ Additional documentation about experimental features can be found in [Experiment
206206
Depending on the infrastructure provider you are planning to use, some additional prerequisites should be satisfied
207207
before getting started with Cluster API. See below for the expected settings for common providers.
208208
209-
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,IBM Cloud,Metal3,Nutanix,Kubevirt,OCI,OpenStack,VCD,vSphere"}}
209+
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,IBM Cloud,Metal3,Nutanix,Kubevirt,OCI,OpenStack,VCD,vcluster,vSphere"}}
210210
{{#tab AWS}}
211211
212212
Download the latest binary of `clusterawsadm` from the [AWS provider releases].
@@ -475,6 +475,15 @@ EXP_CLUSTER_RESOURCE_SET: "true"
475475
clusterctl init --infrastructure vcd
476476
```
477477
478+
{{#/tab }}
479+
{{#tab vcluster}}
480+
481+
```bash
482+
clusterctl init --infrastructure vcluster
483+
```
484+
485+
Please follow the Cluster API Provider for [vcluster Quick Start Guide](https://github.com/loft-sh/cluster-api-provider-vcluster/blob/main/docs/quick-start.md)
486+
478487
{{#/tab }}
479488
{{#tab vSphere}}
480489
@@ -562,7 +571,7 @@ before configuring a cluster with Cluster API. Instructions are provided for com
562571
Otherwise, you can look at the `clusterctl generate cluster` [command][clusterctl generate cluster] documentation for details about how to
563572
discover the list of variables required by a cluster templates.
564573
565-
{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,Metal3,Nutanix,Kubevirt,OpenStack,vSphere"}}
574+
{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,Metal3,Nutanix,Kubevirt,OpenStack,VCD,vcluster,vSphere"}}
566575
{{#tab AWS}}
567576
568577
```bash
@@ -855,9 +864,21 @@ see [CAPVCD](https://github.com/vmware/cluster-api-provider-cloud-director)
855864
To see all required VCD environment variables execute:
856865
```bash
857866
clusterctl generate cluster --infrastructure vcd --list-variables capi-quickstart
858-
``
867+
```
859868
860869
870+
{{#/tab }}
871+
{{#tab vcluster}}
872+
873+
```bash
874+
export CLUSTER_NAME=kind
875+
export CLUSTER_NAMESPACE=vcluster
876+
export KUBERNETES_VERSION=1.23.4
877+
export HELM_VALUES="service:\n type: NodePort"
878+
```
879+
880+
Please see the [vcluster installation instructions](https://github.com/loft-sh/cluster-api-provider-vcluster#installation-instructions) for more details.
881+
861882
{{#/tab }}
862883
{{#tab vSphere}}
863884
@@ -897,30 +918,46 @@ For more information about prerequisites, credentials management, or permissions
897918
898919
For the purpose of this tutorial, we'll name our cluster capi-quickstart.
899920
900-
{{#tabs name:"tab-clusterctl-config-cluster" tabs:"Azure|AWS|CloudStack|DigitalOcean|Equinix Metal|GCP|Metal3|Nutanix|Kubevirt|OpenStack|vSphere,Docker"}}
901-
{{#tab Azure|AWS|CloudStack|DigitalOcean|Equinix Metal|GCP|Metal3|OpenStack|vSphere}}
921+
{{#tabs name:"tab-clusterctl-config-cluster" tabs:"Docker, vcluster, others..."}}
922+
{{#tab Docker}}
923+
924+
<aside class="note warning">
925+
926+
<h1>Warning</h1>
927+
928+
The Docker provider is not designed for production use and is intended for development environments only.
929+
930+
</aside>
902931
903932
```bash
904-
clusterctl generate cluster capi-quickstart \
933+
clusterctl generate cluster capi-quickstart --flavor development \
905934
--kubernetes-version v1.24.0 \
906935
--control-plane-machine-count=3 \
907936
--worker-machine-count=3 \
908937
> capi-quickstart.yaml
909938
```
910939
911940
{{#/tab }}
912-
{{#tab Docker}}
913-
914-
<aside class="note warning">
941+
{{#tab vcluster}}
915942
916-
<h1>Warning</h1>
943+
```bash
944+
export CLUSTER_NAME=kind
945+
export CLUSTER_NAMESPACE=vcluster
946+
export KUBERNETES_VERSION=1.23.4
947+
export HELM_VALUES="service:\n type: NodePort"
917948
918-
The Docker provider is not designed for production use and is intended for development environments only.
949+
kubectl create namespace ${CLUSTER_NAMESPACE}
950+
clusterctl generate cluster ${CLUSTER_NAME} \
951+
--infrastructure vcluster \
952+
--kubernetes-version ${KUBERNETES_VERSION} \
953+
--target-namespace ${CLUSTER_NAMESPACE} | kubectl apply -f -
954+
```
919955
920-
</aside>
956+
{{#/tab }}
957+
{{#tab others...}}
921958
922959
```bash
923-
clusterctl generate cluster capi-quickstart --flavor development \
960+
clusterctl generate cluster capi-quickstart \
924961
--kubernetes-version v1.24.0 \
925962
--control-plane-machine-count=3 \
926963
--worker-machine-count=3 \
@@ -1010,12 +1047,14 @@ If you're using Docker Desktop on macOS, or Docker Desktop (Docker Engine works
10101047
10111048
Calico is used here as an example.
10121049
1013-
{{#tabs name:"tab-deploy-cni" tabs:"AWS|CloudStack|DigitalOcean|Docker|Equinix Metal|GCP|Metal3|Nutanix|Kubevirt|OpenStack|vSphere,Azure"}}
1014-
{{#tab AWS|CloudStack|DigitalOcean|Docker|Equinix Metal|GCP|Metal3|OpenStack|vSphere}}
1050+
{{#tabs name:"tab-deploy-cni" tabs:"Azure,vcluster,others..."}}
1051+
{{#tab Azure}}
1052+
1053+
Azure [does not currently support Calico networking](https://docs.projectcalico.org/reference/public-cloud/azure). As a workaround, it is recommended that Azure clusters use the Calico spec below that uses VXLAN.
10151054
10161055
```bash
10171056
kubectl --kubeconfig=./capi-quickstart.kubeconfig \
1018-
apply -f https://docs.projectcalico.org/v3.21/manifests/calico.yaml
1057+
apply -f https://raw.githubusercontent.com/kubernetes-sigs/cluster-api-provider-azure/main/templates/addons/calico.yaml
10191058
```
10201059
10211060
After a short while, our nodes should be running and in `Ready` state,
@@ -1026,13 +1065,16 @@ kubectl --kubeconfig=./capi-quickstart.kubeconfig get nodes
10261065
```
10271066
10281067
{{#/tab }}
1029-
{{#tab Azure}}
1068+
{{#tab vcluster}}
10301069
1031-
Azure [does not currently support Calico networking](https://docs.projectcalico.org/reference/public-cloud/azure). As a workaround, it is recommended that Azure clusters use the Calico spec below that uses VXLAN.
1070+
Calico not required for vcluster.
1071+
1072+
{{#/tab }}
1073+
{{#tab others...}}
10321074
10331075
```bash
10341076
kubectl --kubeconfig=./capi-quickstart.kubeconfig \
1035-
apply -f https://raw.githubusercontent.com/kubernetes-sigs/cluster-api-provider-azure/main/templates/addons/calico.yaml
1077+
apply -f https://docs.projectcalico.org/v3.21/manifests/calico.yaml
10361078
```
10371079
10381080
After a short while, our nodes should be running and in `Ready` state,

0 commit comments

Comments
 (0)