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.