Container Service for Kubernetes (ACK) ürününü kullanmaya başlamadan önce ilgili kavramları anlamanız gerekir. Bu konu, Kubernetes temellerine dayanan ACK terimlerini ve kısa açıklamalarını tanıtarak ürünü daha iyi kavramanıza yardımcı olur.
Küme
Küme; ECS örnekleri, VPC ağı ve SLB yük dengeleyici gibi konteynerleştirilmiş uygulamaları çalıştıran bir bulut kaynağı kümesidir.
ACK, farklı işletim ve altyapı gereksinimlerine yönelik çeşitli küme türleri sunar:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Düğüm
Düğüm, Docker Engine yüklü bir sanal makine veya fiziksel sunucudur. Bir ACK kümesine eklendiğinde ACK bir aracı yükler ve düğümü kaydeder. İş yükü talebine göre düğüm sayısını artırıp azaltabilirsiniz.
Düğüm havuzu
Düğüm havuzu, aynı yapılandırmaya sahip düğümleri merkezi yükseltmeler ve ölçeklendirme için gruplandırır.
ACK düğüm havuzları, operasyonel ek iş yükünü azaltan otomatik O&M özelliklerini destekler:
İşletim Sistemi Yaygın Güvenlik Açıkları ve Maruziyetleri (CVE) için otomatik yama uygulama
Arızalı düğümler için kendi kendini iyileştirme
kubelet ve containerd için otomatik sürüm güncellemeleri
Bkz. Düğüm havuzları.
VPC
VPC, Alibaba Cloud üzerinde mantıksal olarak izole edilmiş bir ağdır. CIDR bloğunu, yönlendirme tablolarını ve ağ geçitlerini özelleştirebilirsiniz. ECS örneklerini, SLB örneklerini ve RDS örneklerini bir VPC içinde dağıtın.
Güvenlik grubu
Güvenlik grubu, aynı bölgedeki örnekler için Durum Bilgili Paket Denetimi (SPI) ve paket filtreleme sağlayan sanal bir güvenlik duvarıdır. Bir güvenlik grubundaki örnekler aynı güvenlik kurallarını paylaşır.
Uygulama kataloğu
Uygulama kataloğu, Helm entegrasyonu ve Helm grafiklerini göz atıp yüklemek için bir grafik kullanıcı arayüzü sağlayarak dağıtımı basitleştiren bir ACK özelliğidir.
Orkestrasyon şablonu
Orkestrasyon şablonu, Kubernetes kaynak yapılandırmalarını YAML formatında saklayarak sürümleme, yeniden kullanım ve paylaşım imkanı sunar.
Knative
Knative, platformlar arasında cloud-native uygulamalar oluşturmak ve çalıştırmak için Kubernetes tabanlı bir serverless çerçevesidir.
Kubernetes
Kubernetes, bildirim temelli yapılandırma, otomatik dağıtım ve geri alma, kendi kendini iyileştirme ve yatay ölçeklendirme yeteneklerine sahip, konteynerleştirilmiş iş yükleri ve hizmetler için açık kaynaklı bir platformdur.
Konteyner
Konteyner, bir uygulamayı ve çalışma zamanı bağımlılıklarını taşınabilir, izole bir birim haline getirir. Tek bir düğüm birden fazla konteyner çalıştırabilir.
Konteyner görüntüsü
Konteyner görüntüsü, bir uygulamayı ve bağımlılıklarını paketler. Görüntüleri Docker Hub, Container Registry veya özel bir kayıt defterinden çekin.
Her görüntü, kayıt defteri URI'si ve bir etiketin kombinasyonu ile tanımlanır. Varsayılan etiket latest değeridir.
Görüntü kayıt defteri
Görüntü kayıt defteri, Kubernetes tarafından sağlanan görüntüleri ve konteynerlerden oluşturulan görüntüleri depolar.
Kontrol düzlemi
Kontrol düzlemi, worker düğümlerini ve küme bileşenlerini yönetir; Kubernetes API'sini açığa çıkarır, iş yüklerini zamanlar, küme durumunu korur ve konteyner ağını yönetir.
Kontrol düzlemi aşağıdaki bileşenleri içerir:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Worker düğümü
Worker düğümü, iş yüklerini çalıştıran, zamanlanmış pod'ları barındıran ve kontrol düzlemi ile iletişim kuran bir sanal makine veya fiziksel makinedir. Worker düğümleri şu bileşenleri çalıştırır:
Docker çalışma zamanı ortamı
kubelet— konteynerlerin belirtilen şekilde çalıştığından emin olan birincil düğüm aracısıkube-proxy— pod'dan pod'a ve pod'dan hizmete iletişim için ağ kurallarını sürdürürKüme yapılandırmanıza özgü isteğe bağlı bileşenler
Ad alanı
Ad alanları, küme kaynaklarını izole edilmiş sanal alanlara böler. Tek bir küme içinde farklı ortamları, ekipleri veya uygulamaları ayırın. Küme yöneticileri ek ad alanları oluşturabilir.
Her ACK kümesi aşağıdaki varsayılan ad alanlarını içerir:
|
|
|
|
|
|
|
|
|
|
|
|
Pod
Pod, Kubernetes'teki en küçük dağıtılabilir birimdir; bir veya daha fazla konteyneri, depolama birimlerini, benzersiz bir küme IP adresini ve çalışma zamanı yapılandırmasını kapsüller.
ReplicationController
ReplicationController, belirtilen sayıda pod çoğaltmasını korur. Başarısız olan pod'ları değiştirir ve fazla çoğaltmaları sonlandırır. Minimum sayı birdir.
ReplicationController eski bir kaynaktır. Yeni iş yükleri için ReplicaSet (bir Dağıtım tarafından yönetilir) kullanın.
ReplicaSet
ReplicaSet, daha esnek etiket seçicilerle ReplicationController'ın yerini alır. Dağıtımlar, istenen pod sayısını korumak için ReplicaSet'leri oluşturur ve yönetir.
İş yükü
İş yükü, Kubernetes üzerinde çalışan bir uygulamadır. Uygulama davranışına ve gereksinimlerine göre iş yükü türünü seçin:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Etiket
Etiketler, Kubernetes kaynaklarına ait anahtar-değer çiftleridir. Sistem anlamı taşımazlar. Kaynakları düzenlemek ve seçmek için etiketleri kullanın; örneğin, Hizmet seçicileri veya nodeAffinity zamanlaması için. Oluşturma sırasında etiket ekleyin veya daha sonra değiştirin. Her kaynak birden fazla etikete sahip olabilir ancak her anahtar benzersiz olmalıdır.
Hizmet
Hizmet, pod'ları kararlı bir ağ uç noktası olarak açığa çıkarır. kube-proxy bir arka uç pod'u seçer ve trafiği Hizmet bağlantı noktasına yönlendirir.
Ingress
Ingress, harici HTTP ve HTTPS trafiğini küme içi Hizmetlere yönlendirir. Erişilebilir URL'leri yapılandırın, trafiği dağıtın, SSL sonlandırması yapın ve ada dayalı sanal barındırmayı etkinleştirin.
Bir Ingress oluşturmak için küme API sunucusuna bir HTTP POST isteği gönderin. Bir Ingress denetleyicisi (genellikle bir yük dengeleyici) kuralları uygular. Yüksek kullanılabilirlik için kenar yönlendiriciler veya ön uç vekil sunucular ekleyin.
ConfigMap
ConfigMap, hassas olmayan yapılandırmayı anahtar-değer çiftleri olarak depolar. Uygulamaları ortamlar arasında taşımak için yapılandırmayı konteyner görüntülerinden ayırın. ConfigMap'ler tekil değerleri, yapılandırma dosyalarını veya JSON nesnelerini tutar.
Secret
Secret, parola ve sertifika gibi hassas verileri, yanlışlıkla maruz kalmayı azaltmak amacıyla genel yapılandırmadan ayrı olarak depolar.
Birim
Kubernetes birimi, bir pod'un ömrüyle sınırlı depolamadır. Docker birimlerinin aksine (tek bir konteynerle sınırlıdır), Kubernetes birimi aynı pod'daki tüm konteynerler arasında paylaşılır.
Kalıcı birim (PV)
Kalıcı birim (PV), herhangi bir pod'dan bağımsız küme düzeyinde depolamadır. Bulut diskleri veya NAS gibi PV türlerini StorageClass'lar aracılığıyla sağlayın.
Kalıcı birim talebi (PVC)
Kalıcı birim talebi (PVC), depolama ister. Pod'lar, PVC'leri tıpkı düğüm kaynaklarını tükettikleri gibi tüketir.
StorageClass
StorageClass, bir depolama türünü tanımlar ve dinamik PV sağlamayı etkinleştirir. Bir PVC bir StorageClass'a başvurduğunda Kubernetes otomatik olarak eşleşen bir PV oluşturur.
Auto scaling
Auto scaling, iş yükü talebine göre hesaplama kaynaklarını ayarlar. ACK iki düzeyde ölçeklendirme yapar:
Pod düzeyinde ölçeklendirme, bir küme içindeki pod sayısını veya boyutunu ayarlar:
|
|
|
|
|
|
|
|
|
|
|
|
Düğüm düzeyinde ölçeklendirme, küme düğüm sayısını ayarlar:
|
|
|
|
|
|
Auto scaling'i çevrimiçi iş yükleri, büyük ölçekli hesaplama ve eğitim, GPU hızlandırmalı derin öğrenme, paylaşılan GPU'larla model çıkarımı ve eğitimi ve periyodik yük desenleri için kullanın.
Gözlemlenebilirlik
Kubernetes gözlemlenebilirliği izleme ve günlüklemeyi kapsar:
İzleme — gerçek zamanlı sorun tespiti için sağlık ve performans ölçümlerini takip eder.
Günlükleme — tanılama ve sorun giderme için uygulama ve sistem olaylarını yakalar.
Helm
Helm, Kubernetes paket yöneticisidir. Helm grafiği, uygulamaları dağıtmak, yükseltmek ve paylaşmak için kaynak yapılandırmalarını paketler.
nodeAffinity
nodeAffinity bir pod'un hangi düğümlerde çalışabileceğini düğüm etiketlerine göre kısıtlar. nodeAffinity kullanarak iş yüklerini belirli donanıma, bölgelere veya özel niteliklere sahip düğümlere yönlendirin.
Taint
Taint, eşleşen bir toleransa sahip olmayan pod'ları uzaklaştırmak için bir düğümü işaretler. Taint'ler nodeAffinity işlevinin tersine çalışır; pod'ları çekmek yerine onları iter.
Toleration
Toleration, bir pod'un eşleşen taint'e sahip bir düğüme zamanlanmasına izin verir. Toleranslar, tainted düğümlere yerleştirmeye izin verir ancak bunu zorunlu kılmaz.
podAffinity
podAffinity bir pod'u, bir seçiciyle eşleşen pod'larla aynı topolojik alanda (örneğin aynı düğüm veya alan) konumlandırır. Sık iletişim kuran hizmetleri bir arada tutmak ve ağ gecikme süresini azaltmak için podAffinity kullanın.
podAntiAffinity
podAntiAffinity bir pod'un, bir seçiciyle eşleşen pod'larla aynı topolojik alanı paylaşmasını engeller. Daha yüksek kullanılabilirlik sağlamak için çoğaltmaları düğümler veya alanlar arasında yaymak için podAntiAffinity kullanın.
Servis mesh (Istio)
Istio, mikroservisleri bağlayan, güvenli hale getiren, kontrol eden ve gözlemleyen açık kaynaklı bir servis mesh'tir.
Service Mesh (ASM), açık kaynaklı Istio ile uyumlu Alibaba Cloud'un tamamen yönetilen servis mesh hizmetidir. Uygulama kodunu değiştirmeden hizmetler arası trafiği yönlendirin ve bölün, kimlik doğrulama ile iletişimi güvence altına alın ve hizmet davranışını gözlemleyin.
Daha geniş bir Kubernetes referansı için bkz. Kubernetes kavramları.