ACS; Kubernetes ağ modeli, Virtual Private Cloud (VPC) ve Server Load Balancer (SLB) entegrasyonları sayesinde kararlı ve yüksek performanslı konteyner ağı sunar. Bu konu, ACS'deki temel ağ kavramlarını — Container Network Interface (CNI), Service, Ingress ve DNS hizmet keşfi — ve bunları destekleyen altta yatan ağ altyapısını açıklar.
Ağ özellikleri
| Kategori | Özellik | Destekleniyor | Notlar |
|---|---|---|---|
| Ağ yapılandırması | Çift yığın (IPv4 ve IPv6) | Desteklenmiyor | — |
| Ağ yapılandırması | Pod başına ağ yapılandırması | Destekleniyor | Pod'lar için vSwitch ve güvenlik grupları belirtin |
| Ağ yapılandırması | Pod başına güvenlik grupları | Destekleniyor | Pod'lar için vSwitch ve güvenlik grupları belirtin |
| Kuzey-güney trafiği | Pod internet erişimi | Destekleniyor | Bir ACS kümesi için internet erişimini etkinleştirin ve Pod'lara bağımsız EIP bağlayın |
| Kuzey-güney trafiği | Pod'ları internete açma | Destekleniyor | Pod'lara bağımsız EIP bağlayın ve Bir pod'u açmak için DNAT yapılandırın |
| Kuzey-güney trafiği | LoadBalancer Hizmetleri | Destekleniyor | Otomatik oluşturulan CLB Hizmeti kullanarak bir uygulamayı açın |
| Kuzey-güney trafiği | Ingress'ler | Destekleniyor | ALB Ingress yönetimi |
Service
Pod'lar geçicidir; her yeniden başlatma veya ölçeklendirme işleminde yeni IP adresleri alırlar. Bir soyutlama katmanı olmadan, bir pod'a bağımlı olan her istemci pod IP değişikliklerini manuel olarak takip etmek zorunda kalır. Kubernetes Service, bir pod grubu için kararlı bir ağ uç noktası sunarak bu sorunu çözer. Böylece istemciler, tek tek pod IP'lerini izlemeye veya pod değişikliklerinde yeniden yapılandırmaya gerek kalmadan uygulamanıza erişebilir.
Bir Service oluşturduğunuzda ACS buna kararlı bir IP adresi atar. selector alanı, Service'in IP'sini ve bağlantı noktasını yük dengeleme için eşleşen pod'larla eşleştirir.
ACS aşağıdaki Service türlerini destekler:
ClusterIP — Service'i dahili bir küme IP'sinde açar. Küme içindeki hizmetler arası iletişim için kullanın. Bir Service oluşturduğunuzda varsayılan tür ClusterIP'dir.
LoadBalancer — Service'i bir SLB örneği kullanarak harici olarak açar. NodePort'a göre daha yüksek kullanılabilirlik ve performans sağlar. Ayrıntılar için bkz. Mevcut bir SLB örneği kullanarak bir uygulamayı açın ve Otomatik oluşturulan CLB Hizmeti kullanarak bir uygulamayı açın.
Headless Service —
clusterIPdeğeriNoneolarak ayarlanmış bir Service'tir. Sabit bir sanal IP adresi (VIP) yoktur. Service için yapılan DNS sorguları, eşleşen tüm pod'ların IP adreslerini doğrudan döndürür; bu sayede yük dengelemeyi istemci üstlenir.ExternalName — Harici bir alan adını küme içindeki bir Service ile eşler. Örneğin, harici bir veritabanının alan adını küme içindeki bir Service adına eşleyebilirsiniz. Bu şekilde veritabanına küme içinden Service adı üzerinden erişebilirsiniz.
LoadBalancer Hizmetlerini kullanırken dikkate almanız gereken önemli hususlar için bkz. LoadBalancer Hizmetini yapılandırırken dikkat edilmesi gerekenler.
Ingress
Service'ler 4. Katman (TCP/UDP) yük dengelemesi yapar: Trafiği IP ve bağlantı noktasına göre yönlendirirler. 4. Katman uygulama katmanının altında çalıştığından Service'ler HTTP yollarından veya ana bilgisayar adlarından habersizdir ve bunlara göre yönlendirme yapamazlar.
Ingress 7. Katmanda (HTTP/HTTPS) çalışır ve Service'lerin üzerine içerik tabanlı yönlendirme ekler. Ingress sayesinde istekleri URL yollarına veya alan adlarına göre farklı Service'lere yönlendirebilirsiniz. Tek bir harici IP'nin birden fazla arka uç Service'ine hizmet vermesi gerektiğinde olduğu gibi yol veya ana bilgisayar tabanlı yönlendirmeye ihtiyaç duyuyorsanız Ingress kullanın.
Örnek: Farklı erişim yollarıyla ön ucun arka uçtan ayrıldığı bir ön uç/arka uç mimarisinde Ingress, farklı uygulamalar arasında 7. Katman yük dengelemesi uygulayabilir.
Ayrıntılar için bkz. ALB Ingress yönetimi.
DNS hizmet keşfi
ACS hizmet keşfi için CoreDNS kullanır. Kümedeki herhangi bir Service'e ismiyle ulaşabilirsiniz; pod'lar yeniden başlatıldığında IP adreslerini sabit kodlamanıza veya yapılandırmayı ayarlamanıza gerek kalmaz.
Bir Service adı, Service'in küme IP'sine çözümlenir.
Bir StatefulSet pod adı, doğrudan pod'un IP adresine çözümlenir.
CoreDNS Service adlarını otomatik olarak doğru IP'ye çözümlediğinden aynı Service adı, istemci tarafında herhangi bir yeniden yapılandırma gerektirmeden farklı ortamlarda çalışır.
DNS'in nasıl çalıştığı ve nasıl yapılandırılacağı hakkında ayrıntılı bilgi için bkz. DNS nasıl çalışır ve DNS'i yapılandırma.
Ağ altyapısı
VPC
Virtual Private Cloud (VPC), Alibaba Cloud üzerinde mantıksal olarak yalıtılmış özel bir ağdır. Her VPC bağımsızdır ve içine Elastic Compute Service (ECS) örnekleri, ApsaraDB RDS örnekleri ve SLB örnekleri gibi cloud kaynakları dağıtabilirsiniz.
Bir VPC genellikle özel bir CIDR bloğu, en az bir vSwitch ve bir rota tablosu içerir:
Özel CIDR bloğu — VPC'ye ve vSwitch'lerine tahsis edilen IP adresi aralığıdır. Çakışmaları önlemek ve ölçeklendirme için yeterli alan bırakmak amacıyla bu bloğu dikkatli planlayın.
vSwitch — VPC'yi alt ağlara böler. Her vSwitch tek bir alanda bulunmalıdır; içine cloud kaynakları dağıtabilir ve IP adresleri atayabilirsiniz.
Rota tablosu — VPC dışına çıkan trafiğin yönlendirilmesini kontrol eder. Sistem rota tablosu otomatik olarak oluşturulur ve varsayılan sistem rotaları eklenir.
SLB
Server Load Balancer (SLB), gelen istemci isteklerini yönlendirme kurallarını kullanarak arka uç ECS örnekleri arasında dağıtır. Sanal IP adresleri (VIP'ler) aracılığıyla ECS örneklerini bir uygulama hizmet havuzu olarak sanallaştırır ve yüksek kullanılabilirlik ile performans sağlar.
SLB, arka uç sunucularının sağlık durumunu sürekli izler ve sağlıklı olmayan örnekleri havuzdan otomatik olarak kaldırarak tek nokta hatalarını ortadan kaldırır. Ayrıca DDoS koruması sunar.
SLB üç bileşenden oluşur:
SLB örneği — SLB hizmetinin çalışan varlığıdır. Gelen trafiği alır ve arka uç sunucularına dağıtır. Başlamak için bir SLB örneği oluşturun ve en az bir dinleyici ile iki ECS örneği ekleyin.
Dinleyici — Gelen istemci isteklerini denetler ve arka uç sunucularına iletir. Dinleyiciler ayrıca arka uç sunucularında sağlık kontrolleri gerçekleştirir.
Arka uç sunucusu — İstemci isteklerini almak ve işlemek üzere bir SLB örneğine bağlı ECS örneğidir. Arka uç sunucularını tek tek, vServer gruplarında veya birincil/ikincil sunucu gruplarında yönetebilirsiniz.
Ayrıntılar için bkz. SLB genel bakışı.