Sobes.tech
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 pods veya manifests aracı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