İş sürekliliğini sağlamak ve süresi dolan örneklerden kaynaklanan güvenlik ve kararlılık risklerini önlemek amacıyla, Service Mesh (ASM) kontrol düzlemini ve veri düzlemini yükseltmek için yerinde yükseltme ve kademeli yayınlama yöntemlerini destekler.
Önkoşullar
Temel kavramlar
Neden yükseltme yapılmalı?
ASM, desteklenen Istio ana sürümlerini yaklaşık her üç ayda bir günceller; özellik eklemeleri ve güvenlik açığı düzeltmeleri için gerektiğinde yama sürümleri (örneğin 1,19.x.y) yayınlanır. Süresi dolan örnekler güvenlik ve kararlılık riskleri oluşturur. ASM örneklerinizi zamanında yükseltin. Desteklenen sürümler Sürüm oluşturma mekanizması bölümünde listelenmiştir.
Proaktif yükseltmelerin faydaları:
Güvenlik ve kararlılık risklerinin azaltılması: Her sürüm bilinen güvenlik açıklarını giderir. Süresi dolmuş örneklerin çalıştırılması işletmenizi güvenlik ve kararlılık risklerine maruz bırakabilir.
Bakım desteğinin iyileştirilmesi: ASM, süresi dolan sürümler için artık yama veya teknik destek sağlamaz. Yükseltme yaparak sürekli destek almanızı sağlar.
Yeni özelliklere erişim: ASM yeni açık kaynak Istio sürümlerine uyum sağlayarak geliştirici ve İşletme ve Bakım deneyimlerini iyileştirir.
Yükseltmeler için önlemler ve talimatlar
Önlemler
Yükseltme, yeni sürüm sidecar'ları yeniden enjekte etmek için veri düzlemi pod'larının manuel olarak yeniden başlatılmasını gerektirir. Yükseltmeleri yoğun olmayan saatlerde gerçekleştirin.
Bir ASM ağ geçidini manuel olarak yükseltirseniz ardışık yeniden başlatma tetiklenir.
Sidecar enjeksiyonu yükseltme işlemi sırasında kısa bir süre kullanılamayabilir. Bu süre zarfında pod'ları güncellemekten kaçının.
Yükseltme sırasında kademeli yayınlama veya trafik kuralı yapılandırması gibi işlemler gerçekleştirmeyin.
ASM yükseltme öncesi kontrol gerçekleştirir ancak tüm uyumsuz yapılandırmaları veya API işlemlerini tespit edemeyebilir. Yükseltmeden önce hedef sürümünüzün yükseltme önlemlerini gözden geçirin.
-
Güvenlik nedenleriyle ASM aşağıdaki mekanizmaları sağlar:
ASM, süresi dolmuş örnekleri zorunlu olarak desteklenen en eski sürüme yükseltebilir. Zorunlu yükseltmelerden kaçınmak için proaktif olarak yükseltme yapın.
Yama yükseltmeleri (örneğin v1.18.0.123'ten v1.18.0.146'ya) bildirimde bulunulmadan otomatik olarak uygulanır. Sıcak güncellemeler sırasında veri düzlemi ağ geçidi ve sidecar proxy sürümleri değişmez.
Yerinde yükseltmelere ilişkin talimatlar
Yerinde yükseltmeler yalnızca bitişik bir sürüme yükseltmeyi destekler. Sürümler arası yükseltmeler ve geri almalar desteklenmez.
Kademeli yayınlamalara ilişkin talimatlar
Kademeli yayınlama, yeni bir sürüme geçmeden önce doğrulamanıza olanak tanıyarak daha güvenli bir yükseltme yolu sunar. Bir alt sürüm arasındaki yükseltmeleri ve süreçteki geri almaları destekler.
|
Tür |
Açıklama |
|
Uygulanabilir sürümler |
1.16.4.91 veya sonraki bir sürümdeki Kurumsal Sürüm veya Ultimate Sürüm örnekleri. |
|
Senaryolar |
Not
Yalnızca asm-patch sürümü değişiyorsa yerinde yükseltme yapmanızı öneririz. |
|
Sürüm formatı |
Bir ASM örneğinin sürümü şu formattadır: <majör>.<alt>.<yama>.<asm-yama>[-<sıra>-aliyun]. Örnek: v1.18.0.158-gc6cf0b9c-aliyun (Kurumsal Sürüm). Formattaki alanların açıklamaları aşağıda verilmiştir:
|
Sidecar enjeksiyon etiketlerine ilişkin talimatlar
Kademeli yayınlamayı etkinleştirdikten sonra iki kontrol düzlemi sürümü birlikte bulunur. Örneğin, 1.17.2.42'den 1.18.0'a yükseltme yapmak hem 1.17.2 hem de 1.18.0 sürümlerinin aynı anda kullanılabilir olmasını sağlar.
Kademeli yayınlama sırasında hangi sidecar sürümünün enjekte edileceğini belirtmek için ad alanına bir enjeksiyon etiketi ekleyin. Varsayılan etiket istio-injection=enabled mevcut sürümü enjekte eder.
İki sürümün birlikte bulunduğu durumlarda sidecar sürümü ile ad alanı etiketi eşleşmesi:
-
Mevcut sürüm
istio-injection=enabledetiketiyle enjekte edilen sidecar, ASM'nin mevcut sürümüne karşılık gelir ve mevcut sürümün kontrol düzlemine bağlanır.Enjekte edilecek sidecar sürümünü belirtmek için ad alanına
istio.io/rev=$revisionetiketini ekleyin.revisiondeğişkeninin formatıx-y-zşeklindedir, örneğin1-17-2.Enjekte edilecek sidecar sürümünün ASM'nin mevcut sürümü olduğunu belirtmek için ad alanına
istio.io/rev=stableetiketini ekleyin.
ÖnemliBir ad alanına aynı anda hem
istio-injectionhem deistio.io/revetiketlerini ekleyemezsiniz.
-
Kademeli sürüm
Bir iş hizmetinin kademeli sürüme karşılık gelen bir sidecar ile enjekte edilmesi gerekiyorsa ad alanına
istio.io/rev=$revisionveyaistio.io/rev=canaryetiketini ekleyebilirsiniz.$revisionformatıx-y-zşeklindedir, örneğin1-18-0.istio.io/rev=$revisionetiketini kullanmanızı öneririz.Kademeli yayınlama gerçekleştirmek için bkz. Yükseltme kararlılığını artırmak için kademeli yayınlama kullanma.
Yükseltme yolları, yöntemleri ve süreçleri
Yükseltme yolları
Aşağıdaki örnek v1.16'dan v1.18'e yapılan bir yükseltmeyi kullanır. Ortamınıza göre yükseltme yolunu seçin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yükseltme yöntemleri
ASM konsolu: Yerinde yükseltmeleri ve kademeli yayınlamaları destekler. Bkz. Yordam.
API: Yerinde yükseltmeleri destekler. İlgili API işlemleri: UpgradeMeshVersion, DescribeUpgradeVersion ve DescribeServiceMeshUpgradeStatus.
Yükseltme süreci
İlerlemeden önce hedef sürümü ve yükseltme yöntemini onaylayın ve önlemleri gözden geçirin.
Yordam
Yerinde yükseltme
ASM konsolunda oturum açın. Sol gezinme bölmesinde seçeneklerini seçin.
Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde seçeneklerini seçin.
Upgrade Management sayfasında In-place Upgrades sekmesini tıklayın. Perform Upgrade Precheck öğesini tıklayın. Görüntülenen Note iletişim kutusunda OK öğesini tıklayın.
Ön kontrol başarılı olduktan sonra Upgrade öğesini tıklayın. Note iletişim kutusunda OK öğesini tıklayın.
Data Plane bölümünde Upgrade sütununu bulun, hedef ağ geçidini seçin ve ardından Upgrade Gateway öğesini tıklayın. Note iletişim kutusunda OK öğesini tıklayın.
İş yüklerini gerektiği şekilde yeniden başlatın. İş yüklerini yeniden dağıtın.
Kademeli yayınlama
Yükseltme kararlılığını artırmak için kademeli yayınlama kullanma.
Yükseltmelerle ilgili SSS
Kademeli sürüm resmi sürüme geçirildiğinde, daha önce dağıtılan hizmete enjekte edilen sidecar eski bir sürümdedir. Sidecar'ı yeni sürüme nasıl yükseltirim?
Upgrade Management sayfasında Canary Upgrade sekmesini ve ardından Data plane sekmesini tıklayın. Workload to be upgraded bölümünde hedef iş yükünü bulun ve İşlemler sütununda Rolling Upgrade öğesini tıklayarak hizmetin dağıtımı için ardışık güncellemeyi tetikleyin.
Yerinde yükseltme mevcut hizmetlerin trafiğini etkiler mi?
Yerinde yükseltme yalnızca kontrol düzlemini etkiler, veri düzlemindeki trafiği etkilemez.
Bir ASM örneğinin hedef sürüme ulaşması için kaç kez yükseltilmesi gerekir?
Yerinde yükseltmeler yalnızca bitişik ana sürümleri destekler. Kademeli yayınlamalar bir alt sürüm arasındaki yükseltmeleri destekler. Mevcut ve hedef sürümlerinize göre gerekli yükseltme sayısını hesaplayın.
Bir ASM örneğinin her sürümü için herhangi bir yükseltme yöntemi seçebilir miyim?
1.16.4.91'den önceki sürümler yalnızca yerinde yükseltmeleri destekler. 1.16.4.91 veya sonraki sürümler hem yerinde yükseltmeleri hem de kademeli yayınlamaları destekler.
Bir ASM örneği yükseltildikten sonra ilgili ACK kümesi hangi sürüme yükseltilmelidir?
ASM ve ACK sürüm uyumluluğunu kontrol edin ve gerekirse kümeyi yükseltin. Küme manuel yükseltme.
İlgili belgeler
Bileşen sürümü uyumsuzlukları, hizmet bağlantı noktası çakışmaları ve sanal hizmet çakışmaları gibi sorunları teşhis etmek için mesh'i tanılama. ASM mesh tanılama kullanma.
Konteynerler için AIOps platformu, düğümler, pod'lar, Hizmetler, Ingress, bellek ve ağ için tek tıklamayla hata tanılama sağlar. Küme tanılama kullanma.
En son ASM özellik güncellemeleri: Sürüm notları.