Aller au contenu

Provider CAPI (Cluster API)

Le provider CAPI permet de gérer vos clusters Deployme.cloud via le workflow standard Cluster API de Kubernetes.

Cluster API est un projet Kubernetes qui fournit des API déclaratives pour créer, configurer et gérer des clusters. Le provider Deployme étend CAPI pour provisionner des clusters Talos Linux via Deployme.cloud.

Fenêtre de terminal
# Installer clusterctl
curl -L https://github.com/kubernetes-sigs/cluster-api/releases/latest/download/clusterctl-linux-amd64 -o clusterctl
chmod +x clusterctl && sudo mv clusterctl /usr/local/bin/
# Initialiser avec le provider Deployme
clusterctl init --infrastructure deployme
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: production
namespace: default
spec:
clusterNetwork:
pods:
cidrBlocks:
- 10.244.0.0/16
services:
cidrBlocks:
- 10.96.0.0/12
controlPlaneRef:
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
kind: TalosControlPlane
name: production-cp
infrastructureRef:
apiVersion: infrastructure.deployme.cloud/v1alpha1
kind: DeploymeCluster
name: production
---
apiVersion: infrastructure.deployme.cloud/v1alpha1
kind: DeploymeCluster
metadata:
name: production
namespace: default
spec:
phase: managed
---
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
kind: TalosControlPlane
metadata:
name: production-cp
namespace: default
spec:
replicas: 3
infrastructureTemplate:
apiVersion: infrastructure.deployme.cloud/v1alpha1
kind: DeploymeMachineTemplate
name: production-cp-template
version: v1.31.0
---
apiVersion: infrastructure.deployme.cloud/v1alpha1
kind: DeploymeMachineTemplate
metadata:
name: production-cp-template
namespace: default
spec:
template:
spec:
nodeSize: large
Fenêtre de terminal
kubectl apply -f cluster.yaml
Fenêtre de terminal
clusterctl describe cluster production
kubectl get clusters,machines
CRDDescription
DeploymeClusterReprésente un cluster sur Deployme.cloud
DeploymeMachineReprésente un node (VM)
DeploymeMachineTemplateTemplate de configuration des nodes