sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/developer/providers/implementers-guide/overview.md (about)

     1  # Overview
     2  
     3  In order to demonstrate how to develop a new Cluster API provider we will use
     4  `kubebuilder` to create an example provider. For more information on `kubebuilder`
     5  and CRDs in general we highly recommend reading the [Kubebuilder Book][kubebuilder-book].
     6  Much of the information here was adapted directly from it.
     7  
     8  This is an _infrastructure_ provider - tasked with managing provider-specific resources for clusters and machines.
     9  There are also [bootstrap providers][bootstrap], which turn machines into Kubernetes nodes.
    10  
    11  [bootstrap]: ../../../reference/providers.md#bootstrap
    12  
    13  ## Prerequisites
    14  
    15  - Install [`kubectl`][kubectl-install]
    16  - Install [`kustomize`][install-kustomize]
    17  - Install [`kubebuilder`][install-kubebuilder]
    18  
    19  ### tl;dr
    20  
    21  {{#tabs name:"kubectl and kustomize" tabs:"MacOS,Linux"}}
    22  {{#tab MacOS}}
    23  
    24  ```bash
    25  # Install kubectl
    26  brew install kubernetes-cli
    27  
    28  # Install kustomize
    29  brew install kustomize
    30  
    31  # Install Kubebuilder
    32  brew install kubebuilder
    33  ```
    34  {{#/tab }}
    35  {{#tab Linux}}
    36  
    37  ```bash
    38  # Install kubectl
    39  KUBECTL_VERSION=$(curl -sfL https://dl.k8s.io/release/stable.txt)
    40  curl -fLO https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl
    41  
    42  # Install kustomize
    43  curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash
    44  chmod +x ./kustomize && sudo mv ./kustomize /usr/local/bin/kustomize
    45  
    46  # Install Kubebuilder
    47  curl -sLo kubebuilder https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH)
    48  chmod +x ./kubebuilder && sudo mv ./kubebuilder /usr/local/bin/kubebuilder
    49  ```
    50  
    51  {{#/tab }}
    52  {{#/tabs }}
    53  
    54  [kubebuilder-book]: https://book.kubebuilder.io/
    55  [kubectl-install]: https://kubernetes.io/docs/tasks/tools/#kubectl
    56  [install-kustomize]: https://kubectl.docs.kubernetes.io/installation/kustomize/
    57  [install-kubebuilder]:  https://book.kubebuilder.io/quick-start.html#installation