Kubernetes REST API Yapısı

Kubernetes REST API Server Giriş

Temel olarak, Kubernetes farklı rollere sahip bir grup düğümden oluşur. Ana düğümlerdeki kontrol mekanizması API Sunucusu, Controller Manager ve Scheduler dan oluşur. API Sunucusu merkezi yönetim mekanizmasıdır ve dağıtılmış depolama bileşeni vb. ile doğrudan görüşen tek bileşendir. Aşağıdaki temel işlevleri sağlar:

k8s-server

API Versiyonları

Kubernetes API, bir HTTP REST API’sıdır, ancak aynı zamanda küme iç iletişimi için Protocol Buffers da destekler. Genişletilebilirlik nedenleriyle Kubernetes, /api/v1 veya /apis/extensions/v1beta1 gibi farklı API yollarında birden fazla API sürümünü destekler. Farklı API sürümleri farklı düzeylerde kararlılık ve destek anlamına gelir:

API Swagger dosyasına burdan ulaşılabilir.
Aşağıdaki adres kullanılarak yukarıdaki linkde bulunan JSON dosyası ile tüm API incelenebilir.
https://entrystore.org/api/

API Grupları

k8s-server

Kubernetes API’sını genişletmeyi kolaylaştırmak için API grupları kullanılır. API grubu bir REST yolunda ve serileştirilmiş bir nesnenin apiVersion alanında belirtilir.

Şu anda kullanımda olan birkaç API grubu vardır: 1. Genellikle legacy group olarak adlandırılan core group, REST yolu /api/v1‘de bulunur ve apiVersion: v1 kullanır. 2. Adı belirtilen gruplar REST yolunda /apis/$GROUP_NAME/$VERSION adresindedir ve apiVersion: $GROUP_NAME/$VERSION (ör. ApiVersion: batch/v1) kullanın. Desteklenen API gruplarının tam listesi (Kubernetes API Reference)[https://kubernetes.io/docs/reference/] adresinde görülebilir.

API’yı özel kaynaklarla genişletmenin desteklenen iki yolu vardır:

API Gruplarını Etkinleştirme veya Devre Dışı Bırakma

Belirli kaynaklar ve API grupları varsayılan olarak etkindir. Apiserver’da --runtime-config ayarını yapıp etkinleştirebilirsiniz. --runtime-config virgülle ayrılmış değerleri kabul eder. Örneğin:


Kaynak 1 - Kaynak 2 - Kaynak 3 - Kaynak 4 - Kaynak 5 - Kaynak 6 - Kaynak 7