Sobes.tech
Middle+

Kubernetes nədir və onunla əlaqəli açıq standartlar hansılardır (OCI, CRI, CNI, CSI, SMI, CPI)?

sobes.tech Süni İntellekt

AI-dan cavab

Kubernetes açıq mənbəli avtomatlaşdırma sistemidir və konteynerləşdirilmiş tətbiqlərin yerləşdirilməsi, miqyaslandırılması və idarə olunması üçün nəzərdə tutulmuşdur. O, tətbiqi təşkil edən konteynerləri idarə etmək və aşkar etmək üçün məntiqi vahidlərə qruplaşdırır.

Kubernetes ilə əlaqəli əsas açıq standartlar:

  • OCI (Open Container Initiative): Konteyner görüntü formatları və icra mühitləri üçün standart. O, müxtəlif icra mühitləri arasında konteynerlərin daşına bilməsini təmin edir.
    • Şəkil Formatı Spesifikasiyası: Konteyner şəkillərinin quruluşunu və formatını müəyyən edir (qatlar, manifest).
    • İcra Spesifikasiyası: Konteynerlərin necə işə salınacağını və icra olunacağını müəyyən edir (runtime API).
  • CRI (Container Runtime Interface): Kubernetes-ə Docker, containerd, CRI-O kimi müxtəlif konteyner icra mühitlərindən istifadə etməyə imkan verən API, müəyyən bir tətbiqə bağlı olmadan.
    // CRI-dən ListContainers metodunun çağırış nümunəsi
    func (s *runtimeService) ListContainers(ctx context.Context, r *runtimeapi.ListContainersRequest) (*runtimeapi.ListContainersResponse, error) {
        // Müəyyən bir icra mühitindən konteynerlərin siyahısını alma məntiqi
        return &runtimeapi.ListContainersResponse{Containers: /* siyahı */}, nil
    }
    
  • CNI (Container Network Interface): Konteynerlərin şəbəkə interfeyslərini konfiqurasiya etmək üçün spesifikasiya və kitabxana dəsti. Calico, Flannel, Cilium kimi müxtəlif şəbəkə plaginlərinin Kubernetes ilə inteqrasiya olunmasını təmin edir.
    // CNI konfiqurasiya faylının nümunəsi
    {
        "cniVersion": "1.0.0",
        "name": "mynet",
        "type": "bridge", // Şəbəkə plagin növü (məsələn, körpü)
        "bridge": "cni0",
        "isGateway": true,
        "ipMasq": true,
        "ipam": {
            "type": "host-local", // IPAM növü (məsələn, yerli)
            "ranges": [
              [{ "subnet": "10.240.0.0/16" }]
            ]
        }
    }
    
  • CSI (Container Storage Interface): Konteynerləşdirilmiş iş yükləri üçün saxlama sistemlərinin təminatı və idarə olunması üçün standart. Ceph, AWS EBS, Google persistent disk kimi müxtəlif saxlama təminatçıları üçün plaginlər hazırlamağa imkan verir.
  • SMI (Service Mesh Interface): Kubernetes-də xidmət şəbəkələri üçün (Istio, Linkerd, Conexión del Consul) standart interfeyslər üçün spesifikasiya. Trafik, metriklər və təhlükəsizlik idarə etmək üçün ümumi API toplusu təqdim edir.
  • CPI (Cloud Provider Interface): Kubernetes idarəediciləri tərəfindən istifadə olunan API, bulud təminatçıları ilə (AWS, GCP, Azure) inteqrasiya və bulud resursları (məsələn, yük balanslaşdırıcılar, diskler) təmin etmək üçün.

Standartların müqayisəli cədvəli:

Standart Sahə Əsas vəzifə
OCI Konteynerlər Format və icra mühiti
CRI İcra mühiti Runtime üçün API
CNI Şəbəkə Şəbəkə interfeyslərinin konfiqurasiyası
CSI Saxlama Saxlama sistemlərinin idarə olunması
SMI Xidmət şəbəkəsi Service mesh interfeyslərinin standartlaşdırılması
CPI Bulud Bulud təminatçıları ilə inteqrasiya

Bu standartlar Kubernetes ekosistemində modulluq, genişləndirilə bilənlik və uyğunluğu təmin edir.