Introduction

Rancher is an open-source, user-friendly, and lightweight Kubernetes management platform capable of managing your Kubernetes cluster on various infrastructures — from bare metal servers to public clouds, VMware, or even Raspberry Pi.

With this wider scope, elasticity, and management capabilities, Rancher has a competitive advantage as one of the most preferred Kubernetes Enterprise platforms.

We have significant experience using Rancher in customer projects. Rancher provides us with great capabilities — and each release has important new features. As a Rancher Platinum partner, we have seen Rancher develop from the early 1.x versions to the current 2.5 …


Merhaba,

Kubernetes üzerinde iki ana objenin genel topoloji ve trafik yönetimimizi nasıl değiştireceğine bir göz atacağız.Kubernetes’in 1.17.x minor versionlarından birini incelerken karşıma EndpointSlice objesi çıktı.

Normalde her bir pod icin Endpoint objeleri yaratılmakta ve servis objeleri tarafından takip(track) edilmektedir. Buradaki bütün bu yönlendirmeleri için gereken routing kuralları kube-proxy tarafından generate edilmektedir.

Kubernetes 1.17 ile beraber EndpointSlice objeleri her bir Endpoint için bize basitçe Endpoint objelerinin topoljideki yerini node ismi gibi birçok bilgiyi sağlamaktaydı.

Örnek bir EndpointSlice objesine bir bakalım;

 addressType: IPv4 apiVersion: discovery.k8s.io/v1beta1 endpoints: - addresses: - 10.42.252.197 conditions: ready: true targetRef: kind: Pod name: backend-api-684f76dc76-ld6j5 namespace: default topology…

Hello ,

Today I’m gonna tell a story about how to tune failover behaviour of Kubernetes clusters. In Kubernetes clusters, worker nodes can be down based on couple reasons like network outage, resource limits ...etc

What is the Problem?

In the configuration of Kubernetes Cluster, master nodes are fetch the state of the nodes periodically. The default monitoring period of master nodes is 40second.

NotReadyInstance

If any weird action occurred API server update the node state and taint the node. Taint provides us to prevent any possible scheduling action.

Let’s have a look at this nodes

ip-172-31-44-210   NotReady   <none>                 7h31m   v1.20.2

Let’s describe it :


Merhabalar,

Bugün Kubernetes üzerinde api-server erişimleri nasıl özelleştirebileceğimizi ve Kubernetes’in nasıl genişletilebilir bir yapı sunduğunu (SOLID — OpenClosed) inceleceğiz.

Birbiri arasinda konusan butun yapilar eger ki belirli bir contract tanimlamalarina uyarsa platform ekiplerine extend edilebilir yapilar sunabiliyor.

Mesela Kubernetes uzerinde CRD’leri izleyip Kafka kurabileceginiz controllerdan tutunda giderek tum istekleri APISERVER isteklerini degistirebileceginiz ya da istediginiz policylere gore izin verebileceginiz yapilari programlayabiliyorsunuz.

Kubernetes Alemi

Bugun de aslinda tam bunun nasil oldugu uzerinden konusacagiz.

İlk olarak bir isteğin Kubernetes üzerinde nasıl gerçekleştiğini bir inceleyelim.Birçok yerde görebileceğimiz ve pek çoğumuzun aşina olduğu aşağıdaki görsele bir bakalım;


In this post, I will talk about the background of debugging, a new alpha feature in the kubectl.

In Kubernetes, each pod runs as a docker container and these containers are isolated through the Linux namespace isolation feature.

Each container has its own process filesystem, as shown below.

$ docker exec nginx ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1  .... nginx: master process nginx -g daemon off;nginx 6 .... nginx: worker processroot 18 0.1 0.0 2388 696 pts/0 Ss 13:54 0:00 sh

This is the output of a healthy process…


Merhabalar,

Son dönemde özellikle istio’nun da yaygınlaşmasıyla sıkça karşımıza çıkan mTLS’i anladığım kadarıyla açıklamak isterim.

Öncelikle günümüzdeki TLS kavramında bahsedelim; karşılıklı olarak her makinenin ortak bir sertifika authority’den imzalamış olduğu rootCA client üzerinde bulunur ve karşılıklı kurulan TLS connection üzerinde istemci, sunucuyu tanımlamış ve doğrulandığından emin olmuş şekilde aradaki connection icin el sıkışmış olur (tls-handshake).

Ancak buradaki yapıdaki sunucu client hakkında kimin olduğuna dair bir bilgiye sahip değil.Normal kullanıcılar için bu durumun farkında olmasak bile dışarıya açık noktalara (endpoint) sahip bir yapi da client tarafında ne döndüğünü de bilmemiz gerektigi durumlar karışımıza çıkabiliyor.

Dışarı açık endpoint kavramı da internal network…


Hello everyone, today I want to explain one of the essential dynamics in Kubernetes universe. Based on a true story.

I have a cluster for the dev-test environment, for the development and playground purposes.

This cluster is working with 1master and N number of workers, and Wehave update the master count to 3. Their expectation was, joining of the masters to the cluster, but that did not happen, and they cannot make any deployment.

So.. What’s going on about scaling of masters

K8s has a couple of different approach to managing the etcd. …


Kubernetes yillar yili insanoglunun yazmis oldugu iptables, route tables, gibi bircok ana komponenti kendi icerisinde yasiyor ve tum network altyapisini bunun uzerine kurgulayabiliyor .

Kubernetes uzerinde Linux kosan herhangi bir sunucuda, cloud provider (saglayici) farketmeksizin agnostic bir soyutlama katmani haline donusturuyor .

Not: Bu yazida genel networking anlatiminda temel CNI calisma pratigi uzerinden anlatmaya calistim.CNI plugin olarak Calico secilmistir.Farkli pluginler ornek AWS-VPC-CNI, Flannel gibi farkli bir yaklasim ile bu islemleri yonetmektedir.

KUBEPROXY, CNI:

Her node uzerinde network otomasyonunu saglamak adina tum gereken islemleri control-plane’den gelen olaylara bakarak ilgili iptables ve routing ile ilgili kurallarini olusturmaktadir.

Kubernetes uzerinden network katmani disaridan gelen bir…


In the Kubernetes environment, you can use the hooks for event-based chart upgrade, downgrade and delete operation.

Helm supports a lot of hooks that related to events, those are pre-install, post-install, pre-delete and etc. For example, if you want to ensure, the deployment process occurred after secrets are created successfully on the Kubernetes environment you can use `pre-install` annotation on your helm chart.

You can get more information about where to use these helm chart hooks from there: https://helm.sh/docs/topics/charts_hooks/

Today I will show you a simple example for pre-delete annotations let’s start a story.

Toros Mountains

Design of the Story

Suppose that, you are planning to…


Kubernetes ortaminda control plane uzerinde yasayan bircok pod ve servis sahibi oldugu yetkinliklerine gore aslinda bulundugu sunucuya bagimlidir.

Bu bagimliliga ornek verecek olursak bir calico podu network uzerinde node uzerinde bircok noktaya mudahale edebiliyor, ancak bu ozelligini SECCOMP uzerinden kapatirsak calico podlarimiz calismayabilir.

SECCOMP : Konteynir dedigimiz arkadaslarimizin kendi bulundugu ilgili IPC namespace uzerinden bulundugu sunucuda yapabilecegi syscallari kisitlamamizi saglayan bir Linux kernelde bulunan bir ozelliktir.

Yukarida sadece bu bagimliligi anlatmak icin bir ornek vermek istedim, bizim bu yazida inceleyecegimiz ana problem COREDNS ozelinde ve ornegimizden tamamen bagimsizdir .

Kubernetes ozelinde DNS

Ilk olarak bildigim ve uyguladigim kadariyla kubernetes uzerinde bir podun cluster…

Emir Özbir

PythonRubyLinux(❤)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store