Middle+
Sistemde belirli bir düğüm noktasının başlatılmasını yasaklayan kurallar nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Aşağıdaki temel mekanizmalar mevcuttur:
-
Taints ve Tolerations (T/T):
- Taints (Kirletme Etiketleri): Düğümlere uygulanır. Bir düğümün, uygun toleranslara sahip olmayan pod'ları "reddetmesine" izin verir.
- Tolerations (Toleranslar): Pod'lara uygulanır. Uygun kirletme etiketine sahip bir düğümde çalışmasına izin verir.
Taint etkisi türleri:
NoSchedule- Pod, uygun tolerans yoksa düğüme yerleştirilmeyecektir.PreferNoSchedule- Planlayıcı, pod'un bu düğüme yerleştirilmemesini tercih eder, ancak diğer seçenekler yoksa yapabilir.NoExecute- Pod, düğüme yerleştirilmeyecek ve uygun toleransa sahip olmayan pod'lar zorla kaldırılacaktır.
-
Node Affinity (Düğüm Bağlantısı):
requiredDuringSchedulingIgnoredDuringExecution: Planlayıcı, pod'u belirtilen bağlantı kriterlerini karşılayan bir düğüme yerleştirmelidir. Uygun düğümler yoksa, pod Pending durumda kalır.preferredDuringSchedulingIgnoredDuringExecution: Planlayıcı, pod'u uygun düğüme yerleştirmeye çalışacaktır. Uygun düğümler yoksa, diğer düğümlere yerleştirilebilir.
-
Kubelet Konfigürasyonu:
Belirli düğümlerde çalıştırılabilecek pod türlerini sınırlamak için kubelet ayarları kullanılabilir, örneğin
static podsveyamanifestsaracılığıyla. Bu, dinamik yönetim için daha az esnektir.
# Taint Örneği
apiVersion: v1
kind: Node
metadata:
name: node1
spec:
taints:
- key: special
value: true
effect: NoSchedule
# Toleration Örneği
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
tolerations:
- key: special
operator: Equal
value: true
effect: NoSchedule
containers:
- name: my-container
image: nginx
# Node Affinity Örneği
apiVersion: v1
kind: Pod
metadata:
name: my-pod-with-affinity
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node1
- node2
containers:
- name: my-container
image: nginx