Fiz um vídeo executando o tutorial de quick start do #kubebuilder para criação de operadores no kubernetes.

clica e confere aí!

https://www.youtube.com/watch?v=MC7SXWVozAs

See, it doesn't just end there.

#Kubebuilder, here we go! 🥳

https://github.com/kubernetes-sigs/kubebuilder/pull/5438

docs: add note on limitations to CRD validation markers reference by orangecms · Pull Request #5438 · kubernetes-sigs/kubebuilder

Adapted from the API design tutorial. I came here because I was puzzled by the Cilium API using int32 for EndPort in PortRange, but internally using the expected uint16 type, and I was hinted on Ku...

GitHub

Operator works fine against a cluster, testing framework fails.

Tracked it down and the test call to create my Custom Resource wipes the TypeMeta off it. But...why?

#KubernetesDev #k8sDev #Kubebuilder

Started wrangling this test framework and the moment I got past just getting it working it revealed a bug to me.

Now that's instant gratification.

#KubernetesDev #k8sDev #Kubebuilder

Decided to use my morning quiet/productive hour to start test writing for my operator.

Immediately hit a brick wall as the provided test harness falls over before even running any tests  

Perhaps we will try again tomorrow.

#KubernetesDev #k8sDev #KubeBuilder

I'm making an operator that manages arbitrary resources at runtime using `runtime.RawExtension`

I'd like the resource to be owned using `controllerutil.SetControllerReference` but it takes `metav1.Object` interface, which is understandably broad.

Is there any way around implementing metav1.Object wrapping basically `[]byte` of JSON?

Should I be using `runtime.Scheme` here? Any examples anyone knows of?

#KubernetesDev #Kubernetes #k8sDev #k8s #Kubebuilder

Explanation of details and the _why_ of the 10h default resync interval on Kubebuilder.

https://github.com/kubernetes-sigs/controller-runtime/issues/521

#k8sDev #KubernetesDev #KubeBuilder

Why resync default is so large - 10hours · Issue #521 · kubernetes-sigs/controller-runtime

Resync interval is 10hours and there is a recommendation not to change it. // SyncPeriod determines the minimum frequency at which watched resources are // reconciled. A lower period will correct e...

GitHub

DEVops: Разрабатываем свой Kubernetes оператор с кастомными ресурсами на Go

Используете готовые операторы в Kubernetes? Я тоже... Но с какого-то момента я начал задаваться вопросом: "а как люди их пишут?". И я нашел ответ! В этой статье я наглядно покажу, как создать свой кастомный оператор в Kubernetes на Go при помощи kubebuilder. Оператор позволит отслеживать изменения ресурсов в кластере, а затем отправлять уведомления в Telegram или другие мессенджеры. Какие ресурсы "трекать" будем описывать через кастомные ресурсы (Custom Resource). Погнали!

https://habr.com/ru/articles/866766/

#golang #devops #kubernetes #operators #custom_resource_definition #telegram_api #kubebuilder

DEVops: Разрабатываем свой Kubernetes оператор с кастомными ресурсами на Go

Вступление Всем привет! Я стал замечать на себе, что чаще решаю задачи, связанные с эксплуатацией инфраструктуры (Ops), чем с разработкой. Это видно по моим статьям — они в основном посвящены...

Хабр

Getting kubebuilder Makefile to build and deploy using ko

change IMG variable at the top to:

IMG ?= ko://go.app.domain/cmd

and add a target

.PHONY: deploy-local
deploy-local: manifests kustomize
env KO_DOCKER_REPO=localhost:5000 KUBECONFIG=${HOME}/.kube/config.kind make deploy

this deploy to a local registry and using a kubeconfig that is deployed for kind but customize thing as you wish there

#kubernetes #ko #kubebuilder

Love running random curl commands to install shit from the internet. Always makes me feel like I'm living life to the extreme.

#kubernetes #k8s #kubebuilder #software #engineering