How To Create, Provision, And Operate Kubernetes With Cluster API (CAPI)

preview_player
Показать описание
Cluster API (CAPI) provides declarative APIs that simplify provisioning, upgrading, and operating Kubernetes clusters.

#ClusterAPI #Kubern

▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬

▬▬▬▬▬▬ 💰 Sponsoships 💰 ▬▬▬▬▬▬

▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬

▬▬▬▬▬▬ 🚀 Courses, books, and podcasts 🚀 ▬▬▬▬▬▬

▬▬▬▬▬▬ ⏱ Timecodes ⏱ ▬▬▬▬▬▬
00:00 Introduction
03:28 Initial Setup
06:32 Create Virtual Machine Images
11:07 Setup Cluster API And Providers
11:50 Create A Kubernetes Cluster With Cluster API
19:35 Upgrade A Kubernetes Clsuter With Cluster API
24:28 Cluster API Pros And Cons
Рекомендации по теме
Комментарии
Автор

What do you think about Cluster API? Will it become the preferrable way to create, provision, and operate Kubernetes clusters?

IMPORTANT: For reasons I do not comprehend (and Google support could not figure out), YouTube tends to delete comments that contain links. Please do not use them in your comments.

DevOpsToolkit
Автор

ClusterClass in CAPI solves the issues that you brought up in the video. Its new and not all providers support it yet, but its a single crd to create a cluster and a single place to upgrade the version. For CNI you can also have it installed automatically via the ClusterResourceSet feature in CAPI

vrabbi
Автор

The CABPT project uses CAPI to bootstrap a Talos K8S cluster, from there it's trivial to bootstrap Crossplane, and then using Crossplane as a CAPI provider to boostrap additional K8S clusters, I think.

lamnot.
Автор

I like the idea of clusterapi by create new nodes and replace them. I upgraded linux nodes in-place for a long time and kubernetes clusters in place recently. The short version: in-place upgrades suck, replacing nodes is much better

bkahlerventer
Автор

Its also interesting that almost all multi cloud commercial offerings for k8s are based in CAPI today:
Vmware TKG
Rancher
Google Anthos
Amazon EKS-A
OpenShift (partial implementation as they are only using the machine API from CAPI)

vrabbi
Автор

Awesome! I was really looking forward to seeing you talk about cluster API!

pierreyves.lebrun
Автор

cluster api not able to reconcile for docker infrastructure provider, I have created a k8s cluster using kind.

Initialized it using clusterctl init --infrastructure docker and apply one CAPI manifest for 3 control-node + 3 worker node. It was successfully deployed, all the machines were up (docker containers).

After that I am trying to test the benefits of doing this whole thing using CAPI (Reconciliation, full lifecycle management of workload clusters).

For that I stopped 1 container(worker node machine), So even though Cluster CAPI detects the change and starts the reconciliation process (this I can say by checking the capd-controller-manager pod logs, it was not able to set up the worker node. I expected it to launch another container and add it to the cluster but it's not able to do that.

There is no issue with memory, I have increased the inotify limit.
Please help me debug.

utkarshmishra
Автор

You can also provision AKS via CAPI in terms of managed clusters

vrabbi
Автор

thank you. while watching this video it really made me think more deeply about the types of abstraction i really want from all this kubernetes stuff, all this cloud providers and generally devops api. and it ultimately should come down to seeking 2 things. one of them is costs of services. and the other one is performance provided for those costs. and it should all be through a standardized single grpc api. so in my mind the problem is then a lack of standardization across providers. across these platforms. and maybe kubernetes cluster api and crossplane is a step in the right direction. or using openshift etc.

however i dont think the transparency and coherency is there to provider QoS guarantees or smart automatic billing contract built into the charging sytem over these same apis. for when the service provided is either better or worse than expected. and for to set upper and lower limits we are talking how many nodes here. rather than how many dollars. or how long the ping time. or other network bandwidth metrics etc. across these same api. and indistinguishable between the provider. it seems like a difficult problem to solve. i suppose there is kubecost however it is in itself another seperate 3rd party service to setup, manage and configure. hmm, but i wonder if it is a place to start at. when dreaming up such kinds of mythical grpc apis. and along that journey, to also be examining which common cloud apis are the most coherent / commonly shared. the scope is broad ranging. i wonder how much is not possible to be covered within the domain of kubernetes itself. and it also makes me wonder the true value of all these different things

dreamcat
Автор

Can you please compare this with another project? Like, Gardener.

mzs
Автор

@DevOpsToolkit, If CAPI can bootstrap Crossplane, and then Crossplane can bootstrap Talos, wouldn't this become a golden path for IDP/PaaS?

lamnot.
Автор

Thanks for this video :) Can you make an updated version of this video please? Or can you just mention in the reply what is the current state CAPI? Are the CONS mentioned here been solved. Most importantly cluster update/upgrade?

debkr
Автор

what if we dont pass `--infrastructure digitalocean` while generating yaml file? whats the difference?

dipendrachaudhary
Автор

Hey, I have an already running cluster, I would like to register it with the cluster APi, how do I do that ?

shashidharpatil
Автор

I created kind cluster. I did clutserctl init. Now I run the command `clusterctl generate cluster capikind --kubernetes-version v1.23.3 --worker-machine-count=3 > capi-kind.yaml`. It shows `Error: failed to identify the default infrastructure provider. Please specify an infrastructure provider`. I'm not using infrastructure. I'm using kind cluster. What infrastructure provider should I specify?

eavesdropping
Автор

Viktor, great insights as always, speaking of CAPI, any chance that you can do a demo on Anthos or TKG/TCE? wanted to to know if those are great alternatives than implementing by itself.

jlan
Автор

Can you please show how crossplane can create a cluster from scratch? without a managed k8s cluster. I have not seen it in crossplane, expect that crossplane integrates CAPI to create and operate a cluster,

holgerwinkelmann
Автор

One year later, I see that cluster API is getting more popular. Many providers support it. And the list is getting longer.

Is there a way to use cluster API via Crosspläne?

thomasguttler