Ali'de neden k8'ler başarılı olabilir? | Çin'in BT teknolojisinin gelişimiyle ilgili sorular

Bu makale Alibaba'nın konteyner yönetimi alanındaki teknolojik gelişimini anlatıyor ve neden k8'lerin nihayetinde başarılı olduğunu ve Alibaba'daki k8'lerin bu yıl Double 11'e uygulanmasını açıklıyor. İçerik, Alibaba'nın k8s tabanlı bulut yerel dönüşüm uygulama sürecinin üç ana yetenek yükseltmesini, ilgili yetenek yükseltme sürecinde hızlandırılan teknik çözümleri ve bu yetenek yükseltmeleriyle elde edilen iş değerini kesin olarak açıklıyor.

Yazar | Zeng Fansong Alibaba Bulut Bulutu Yerel Uygulama Platformu Kıdemli Teknik Uzmanı

Zhang Zhen Alibaba Bulut Bulutu Yerel Uygulama Platformu Kıdemli Teknik Uzmanı

Editör | Tu Min

Google, 2015 yılında CNCF'yi kurmada başı çektiğinden beri, bulutta yerel teknoloji halkın dikkatini çekmeye başladı ve hızlı bir gelişme kaydetti. 2018 itibariyle, Google, AWS, Azure, Alibaba Cloud vb. Dahil olmak üzere büyük bulut bilişim sağlayıcıları CNCF'ye katıldı ve bulutta yerel teknoloji de değişti. Orijinal uygulama kapsayıcılığı; kapsayıcılar, Hizmet Ağı, mikro hizmetler, değişmez altyapı, Sunucusuz, FaaS, vb. Dahil olmak üzere birçok teknik yön geliştirmiştir. CFCF ayrıca giderek daha fazla açık kaynaklı proje içerir.

CNCF'nin ilk projesi olan Kubernetes, başlangıcından bu yana dikkat çekicidir. Kubernetes, Google mühendisleri tarafından, Google'ın dahili küme yönetim sistemi Borg'un yıllarca süren tasarım deneyimine dayalı olarak yeniden tasarlandı ve bulut bilişim çağının altyapı özellikleriyle birleştirildi. Yardımcı olmayı hedefliyor. Kuruluşlar, büyük ölçekli BT altyapısının uygulama kapsayıcı düzenleme sorununu çözer. Google'ın açık kaynaklı Kubernetes'i Haziran 2014'te Redhat, Microsoft, Alibaba gibi satıcıların ve birçok açık kaynak meraklısının ortak çabalarıyla, bulut yerel alanının gelişimini büyük ölçüde teşvik eden bugün konteyner düzenleme alanında fiili bir standart haline geldi.

Bugün sizlerle Alibaba Cloud'dan Kubernetes'in büyük ölçekli pratik deneyimini paylaşacağım ve Alibaba Cloud'un, Alibaba'nın Kubernetes tabanlı uygulama işletim ve bakım teknolojisi yığınını yerel buluta nasıl desteklediğini, Kubernetes'in kendi teknolojik ilerlemesini nasıl destekleyeceğini ve Alibaba'ya yardımcı olmak için bulut yerel çağının avantajlarından tam olarak yararlanacağını göstereceğim. Double 11'in BT maliyetini önemli ölçüde azaltın.

Alibaba'daki konteynerlerin geliştirme geçmişi

2011'den önce Alibaba, Taobao hizmetlerini dağıtmak için fiziksel bir makineyi üç sanal makineye ayırmak için VM sanallaştırma teknolojisini kullanıyordu.Taobao işinin hızla gelişmesiyle, VM tabanlı teknik çözümler esnekliğe ayak uyduramıyordu. İş temposunda. Bu nedenle Alibaba, geleneksel VM tabanlı uygulama dağıtım çözümlerinin yerini almak için 2011 yılında Linux lxc tabanlı konteyner teknolojisini keşfetmeye başladı. 2013 yılına kadar Linux lxc tabanlı bir T4 konteyner ve AI konteyner düzenleme sistemi geliştirdi. Bu, o zamanlar zaten çok önde gelen bir teknik çözümdü, ancak benim geliştirdiğim konteyner teknolojisi ve VM çağına dayanan işletim ve bakım sistemi her zaman bazı uyumluluk sorunları içeriyor.

2013'te Docker konteyner yansıtma çözümlerinin ortaya çıkmasıyla birlikte Alibaba teknisyenleri, konteyner + Docker yansıtma teknolojisine dayalı geleceği hemen gördü ve bu alandaki araştırmalara yoğun bir şekilde yatırım yapmaya başladı. 2015 yılına kadar, Aliswarm, Zeus, Hippo ve diğer konteyner düzenlemeleri Sistem güçlü bir şekilde gelişti ve ilgili bölgeleri Alibaba ekonomisinin işinin bir kısmına hizmet etmek için genişledi. Pek çok sistem sadece iş işletme ve bakım maliyetlerini çözmekle kalmaz, aynı zamanda belirli bir miktar tekrarlayan inşaat maliyetini de beraberinde getirir, aynı zamanda Alibaba içindeki kaynak dağılımının görece dağınık olmasına da neden olur. Yasal sistem 1. Farklı iş en yüksek kullanım kaynaklarının avantajlarından tam anlamıyla yararlanmak için çeşitli iş türleri gönderin. Bu bağlamda, Sigma sistemi tarihi bir anda ortaya çıktı ve Alibaba'nın kaynak havuzunu 2017'de birleştirdi, Alibaba'nın tüm temel işlerini birleştirdi ve ilk kez aynı fiziksel konumda çevrimiçi hizmetleri ve çevrimdışı işlemleri destekledi. Yerleşik olarak, veri merkezinin kaynak kullanım verimliliğini büyük ölçüde artırır ve Alibaba'nın BT maliyetlerini düşürür.

Bulutta yerel teknolojinin hızlı gelişimi ile Alibaba, bulutta yerel teknolojinin potansiyelini ve gelecekte kurumsal BT'nin tam ölçekli bulut uygulamasının kaçınılmaz eğilimini gördü. 2018'den başlayarak Kubernetes teknolojisine dönüştü ve Kubernetes genişletme yetenekleri aracılığıyla Sigma için uzun yıllar planlama biriktirdi. Yetenekler Kubernetes aracılığıyla sağlanır. Alibaba 2019'da tamamen buluta gideceğini duyurdu. Alibaba, Kubernetes'i tamamen benimsemeye ve Sigma planlama sistemini Kubernetes tabanlı bir planlama sistemine tamamen taşımaya başladı.Bu sistem aynı zamanda bu yıl en büyük çift 11 e-ticaret işlem sistemini de destekliyor. Altta yatan altyapı, büyük promosyondan önce ve sonra yüzlerce uygulama değişikliğini istikrarlı bir şekilde desteklemiş ve son derece hızlı uygulama yayınlama ve genişletme deneyimi sunarak Double 11'in sorunsuz alışveriş deneyimine katkıda bulunmuştur.

K8'ler neden Ali'de başarılı olabilir?

Kubernetes, aşağıdaki üç boyutta özetlenebilecek birçok teknoloji arasında öne çıkıyor.

Birincisi, gelişmiş vizyon ve gelişmiş tasarım konseptleri ile bulut çağı için doğduğu ilk günden itibaren doğmuş olması, ayrıca yetenekli Google mühendisleri tarafından dahili Borg'taki yılların deneyimine dayalı olarak tasarlanmış olması ve doğumundan sonra hızla gelişmesidir. Daha sonra RedHat, IBM, Microsoft, VMware, Alibaba Cloud gibi dünyanın dört bir yanından seçkin mühendislerin büyük yatırımları ile müreffeh bir topluluk ve ekosistem yarattılar ve kurumsal konteyner düzenleme sistemleri için ilk tercih oldular. Alibaba ekonomisinin birçok yan kuruluşu var. Bu yan kuruluşlar, Alibaba ailesine katıldıklarında aşağı yukarı kendi konteyner düzenleme sistemlerine sahip olacaklar.Alibaba'nın altyapısına entegre olma sürecinde, Kubernetes en standart ve en popüler olanıdır. Ekonomi içindeki ve dışındaki müşteriler tarafından kolaylıkla kabul edilen bir çözüm.

İkinci olarak, Kubernetes tarafından savunulan bildirime dayalı API tasarım konsepti, Alibaba'nın uygulama operasyonu ve bakımı alanındaki deneyimine ve derslerine de uyuyor. Geleneksel işletim ve bakım sistemi genellikle prosedür tasarımına dayanır ve prosedürel işletim ve bakım sistemi, uzun bir sistem çağrısı bağlantısı altında karmaşık istisna işleme nedeniyle genellikle düşük sistem verimliliğine sahiptir. Büyük ölçekli uygulama işletim ve bakım sistemlerinde karmaşık ve çeşitli durum işleme de büyük bir problemdir.Süreç bazlı sistem tasarımına dayalı olarak sistemin tutarlılığını sağlamak zordur.Bu sınır istisnalarının işlenmesi genellikle işletim ve bakım sisteminin çok karmaşık hale gelmesine neden olur. Sonunda, anormal durum yalnızca işletme ve bakım personelinin manuel olarak çalıştırılmasına bağlı olabilir. Temel olarak, süreç tabanlı işletim ve bakım sisteminin süper büyük ölçekli uygulama yönetimi ile başa çıkmasının zor olduğu düşünülebilirken, Kubernetes tarafından sağlanan bildirimsel API, uygulama işletim ve bakım durumu rotasyonunu çözmek ve operasyon ve bakım teknolojisi yığınının genel bağlantı verimliliğini artırmak için iyi bir ilaçtır. En iyi uygulama ilkeleri.

Üçüncüsü, Kubernetes'in modüler ve genişletilebilir mimari tasarımı, birçok işletme operasyonu ve bakım senaryosunu desteklemek için Alibaba'nın özelleştirilmiş dönüşümünü karşılıyor. Alibaba içinde, çok sayıda durumsuz çekirdek e-ticaret sistemi, önbellekler, mesaj kuyrukları vb. Gibi çok sayıda ara katman durum sistemi, tersine çevrilmiş dizin verilerine sahip çok sayıda alma sistemi ve çok sayıda yapay zeka hesaplama görevi bulunmaktadır. , Farklı uygulama türlerinin, temeldeki kapsayıcı yönetim platformu için farklı gereksinimleri vardır. Bu nedenle, özel uygulama yönetimi stratejilerine geçişi ve zamanlama modelini genişletmesi kolay modüler bir tasarım esastır.Ali içindeki birçok uygulama formunu sunmanın ve birleşik bir konteyner yönetimi altyapısı sağlamanın anahtarıdır. Kubernetes temelde bu anahtarları sağlar Temel yetenekler, fiili uygulama sürecinde hala birçok pratik sorun olmasına rağmen.

Alibaba'nın k8s uygulama durumu

2019 Double 11'de, Alibaba'nın dahili temel işi esas olarak üç kaynak türü altyapı üzerinde çalışıyor: Shenlong, ECS ve ECI ve bu farklı altyapı türleri Kubernetes aracılığıyla tek tip olarak yönetiliyor ve konteynerler şeklinde üst katmana sağlanıyor. Uygulama, temel iş desteğini tamamlamak için kullanılır.

Önceki Double 11'den farklı olarak, bu yılın temel e-ticaret iş uygulamaları, Shenlong yalın metal sunuculara büyük ölçekte dağıtılacak. Varsa Dikkat Alibaba Cloud teknolojisinin geliştirilmesinden sonra, Shenlong sunucusuna aşina olmamanız gerekir. Alibaba Cloud tarafından bağımsız olarak geliştirilen yeni nesil bir bulut sunucusudur. "Yumuşak ve sert entegrasyon" teknolojisi sayesinde, bulut bilişim sanallaştırma ek yükünün düşük bir fiyata tahsis edilmesine öncülük etti. Donanım kartında, CPU'nun bilgi işlem gücü tamamen serbest bırakılır ve bulut bilişim sanallaştırmasının "sıfır" ek yükü gerçekten ilk kez elde edilir. Container'lar aynı zamanda hafif bir sanallaştırma çözümüdür. Dragon + Containers + Kubernetes kombinasyonu, bulutta yerel çağın en iyi ortağıdır. Bu yılın en büyük Double 11'ini destekler ve aynı zamanda gelecekte ana teknoloji olacaktır.

Alibaba, Kubernetes'in temel kaynak kaynağı olarak ECS'yi de kullanmaya devam ediyor.ECS, geleneksel bir bulut bilişim sanallaştırma yöntemi olarak, departmanın ve grubun dahili işini destekliyor. Aynı zamanda, ani iş trafiği zirveleri ile başa çıkmak için daha iyi esneklik ile esnek kapsayıcı örnek ECI ile birleşiyor , Bulut bilişimin esnek değerini işletmeye getirir, talep üzerine kaynakları talep etme ve serbest bırakmanın nihai esnekliğini gerçekten gerçekleştirir ve önceden iş planlama kaynaklarının maliyetini düşürür.

Bu numaralar yurtiçi ve yurtdışında dağıtıldı Yüz bin Her düğümün kaynakları düzinelerce Kubernetes kümesi tarafından barındırılıyor, on binlerce Alibaba uygulaması çalıştırıyor ve toplamda bir milyondan fazla konteyner. Ölçek eşi benzeri görülmemiş. Bu yılki Double 11'de, Alibaba'nın dahili en büyük Kubernetes kümesi 10.000'e ulaştı; elbette bu Kubernetes'in teknik sınırı değil, veri merkezi kaynak verimliliği ve altyapı felaket toleransı arasındaki bir denge. Gelecekte bu sayı gerekirse daha da artabilir.

K8'lere dayalı bulut yerel dönüşüm uygulaması

Bulutta yerel teknolojinin bir temsilcisi olarak Kubernetes, konteyner düzenleme alanında fiili standart haline geldi. Alibaba, 2017'den beri araştırıyor ve teknolojinin 2018'de üretim konteynerlerini yönetmek için Kubernetes'i kullanacak şekilde dönüşümünü onayladı. K8'leri çıkarma sürecinde, esas olarak iki büyük sorunla karşılaştık:

Birincisi, çeşitli bir üst seviye iş operasyon ve bakım platformu. Alibaba'daki çeşitli iş formlarını desteklemek için, dahili olarak bir dizi tipik iş operasyon ve bakım platformu geliştirilmiştir.Her operasyon ve bakım platformunun altyapısında, süreç kontrolünde ve uygulama yayınlama politikalarında az çok farklılıklar vardır ve kimse yoktur. Birleşik uygulama operasyon ve bakım standartları. Dağıtım ve küme yönetiminin teknolojik evrim sürecinde, birden çok hizmet platformunun ve üzerlerindeki hizmetlerin istikrarını korurken tüm işletim ve bakım sisteminin yükseltilmesinin nasıl teşvik edileceği büyük bir projedir. İkincisi, Alibaba ekonomisinin kapsamlı bulut stratejisinin uygulanmasıyla, depolama, ağ ve temel işletim ve bakım yazılımı dahil olmak üzere tüm temel altyapı çok hızlı bir şekilde gelişti. Zamanlama ve küme yönetimi, iş istikrarını sağlarken altyapının hızlı gelişimini desteklerken kendi teknik mimarisini yinelemelidir.

K8'lere dayalı bulut yerel teknolojisinin dönüşümü bu arka plan altında doğdu. 2019 yılına kadar Kubernetes dahili olarak büyük ölçekte devreye alındı ve tüm temel işletmeler k8s küme yönetiminde çalışıyor. Ancak son yıllarda yapılan uygulama sürecinde mühendislerin kafasında her zaman kalan bir sorun vardır.Alibaba gibi büyük ve karmaşık bir işletme ile çok sayıda geleneksel işletme ve bakım alışkanlığı ve bu alışkanlıkları destekleyen işletim ve bakım sistemi geride bırakılmıştır. Böyle bir bağlamda, Kubernetes (yüksek hızlı bir uçağın motorunun değiştirilmesi olarak adlandırılan dahili bir analoji) neyin uzlaşmasında ısrar ediyor ve neyin değiştirilmesi gerekiyor?

Bu bölümde, son yıllarda bu konudaki bazı düşüncelerimizi paylaşacağız, özellikle bu yılki Double 11 testinden sonra, bu sorunun cevabı temelde üst düzey tasarımdan sorumlu mühendisler grubu tarafından kabul edildi. Mimarlar nihayet rahat bir nefes alabilir: Kubernetes'i kucaklamak kendi başına bir son değildir, ancak Kubernetes'in kronik hastalıkları geleneksel işletim ve bakım sistemi altında yönetme yeteneği ve iş için bulutun esnekliğini gerçekten serbest bırakma yeteneği aracılığıyla, Kubernetes'i kucaklayarak işletmenin bulutta yerel dönüşümünü hızlandırmaktır. Uygulama sunumunun ayrıştırılması ve hızlandırılması, bu teknolojik değişimin en büyük değeridir.

Son durum yükseltme

Geleneksel işletim ve bakım sistemi altında, uygulama değişikliklerinin tümü, bir iş akışını başlatmak için işlem iş emirleri oluşturarak ve ardından konteyner platformunda tek tek değişiklikler başlatılarak yapılır. Örneğin, bir hizmetin 3000 örneğini yükseltmek için, iş emri önceden hesaplanacak ve birden fazla alt görev grubu oluşturulacak ve uygulama değişikliğini tamamlamak için konteyner platformunun arayüzü tek tek çağrılacaktır. Uygulama yayınlama iş emirlerinin her bir alt iş emri içinde sorunsuz bir şekilde yürütülmesini sağlamak için, her bir kabın serbest bırakılması aynı zamanda yönetimin izlenmesi, görüntü çekme, kapsayıcı başlatma ve durdurma, hizmet kaydı, yapılandırma itme vb. Dahil bir iş akışıdır. Her şey normaldir Süreç beklendiği gibi düzenli bir şekilde ilerleyecektir.

Ana makine kesinti süresi, disk anormalliği, IO anormalliği, ağ anormalliği, çekirdek anormalliği gibi büyük ölçekli uygulama sürümleri senaryosunda, bu neredeyse kaçınılmazdır.Yayınlama sürecinde belirli bir adımda bir hata oluşursa, genellikle sevk edilmesi gerekir. Dimension platformu, partinin zaman aşımı eşiği aşılana kadar belirli bir stratejiye göre yeniden deneyecek.Bu, aşağıda birer birer genişletilecek olan üç soruna neden olacaktır.

Biri, yeniden denemenin neden olduğu verimlilik sorunudur. Her bir alt görevin yürütme süresi, görev içindeki uzun kuyruklu sürüm tarafından aşağıya sürüklenecektir. 3000 konteynerin her biri 100'lük 30 partiye bölündüğünü (yalnızca gösterim amacıyla ve en iyi uygulama için değil) ve her partide bir konteyner göründüğünü varsayalım. Salım anormal olduğunda, partinin salım süresi yeniden deneme ile uzatılacaktır. İkincisi, başarısızlıktan kaynaklanan tutarlılık sorunudur. Anormallikler açığa çıkaran konteynerler için, iş emri bittikten sonra bunlar genellikle yalnızca çevresel bağlantı denetimleriyle yönetilebilir. Aslında, olağan denetimler, işletim ve bakım personeli tarafından yapılan manuel işlemlere dayanır, bu da büyük işçilik maliyetleri ve Belirsizlik. Üçüncüsü, uygulama eşzamanlı değişiklik çatışmaları sorunudur. Uygulama yayınlama sürecinde, aynı anda 3000'den 3.200'e bir uygulama genişletme talebi gönderilirse, 200 örneğin genişletilmesi eski sürümü veya yeni sürümü kullanmalıdır ve eski sürümün genişletilmesiyle ilgili sorun nihai olarak bundan sorumlu olan kişidir Eski sürümün 200 örneğini yükseltmek, kapasiteyi genişletmek için yeni sürümü kullanmak kararlılık sorunlarıyla karşılaşacaktır; yeni sürümde sorun varsa, yeni genişletilmiş örnekler daha büyük bir etkiye sahip olacaktır. Tam da bu karmaşık sorunlardan dolayı çoğu işletim ve bakım sistemi eşzamanlı uygulama değişikliklerini reddeder ve bu da çok verimsiz eşzamanlı işlemlerle sonuçlanır.

Uygulama yönetimi için k8s tarafından sağlanan bildirime dayalı API'nin tasarım konsepti, bu üç sorunu aynı anda çözer.Kullanıcıların yalnızca istenen son durumu ve istenen duruma ulaşma sürecinde gözlemlenmesi gereken kısıtlamaları ve son duruma ulaşmak için gereken uygulamayı açıklamaları gerekir. Tüm karmaşık işlemler k8s ile tamamlanır. Uygulama yayınlama sürecinde, genellikle k8'ler, eşzamanlılığı ve maksimum kullanılamayan örnek sayısını kontrol ederek uygulama sürümünün hizmet üzerindeki etkisini sınırlar.Sürüm işlemi sırasında başarısız olan örnekler sistem içinde tutarlı bir şekilde çözülür. Resmi olarak bu tasarıma dayalı olarak, kullanıcılar yalnızca bir hizmet değişikliği başlattıklarında uygulamanın beklenen durumunu güncellerler ve herhangi bir görevin bitmesini beklemeleri ve uygulama yayınlama verimliliği, çevrimiçi yapılandırma tutarlılığı ve eşzamanlı değişiklik çakışması verimliliği sorunlarını çözmeleri gerekmez.

Son durum odaklı konsept yönetimi uygulamasına dayanarak, adından da anlaşılacağı gibi Kubernetes resmi StatefulSet uzantısına dayanan Advanced StatefulSet uygulama yönetimi çalışma modelini geliştirdik.

Resmi çalışma modelinde, uygulama, sürüm yükseltmesini sıralı bir şekilde tamamlar, yani yeni bir Pod oluşturulur ve tüm uygulama yeni sürüme geçene kadar Pod'un eski sürümü silinir. Bu yöntem basit ve anlaşılır, ancak verimlilik sorunları var. Örneğin, tüm uygulama Bölmelerinin yeniden planlanması gerekiyor. Bu, büyük ölçekli uygulama yayınlama senaryolarında zamanlayıcı üzerinde çok fazla baskı yaratacaktır. Aynı zamanda, Kapsülün yeni sürümü yeni oluşturulduğu için, IP'nin yeniden tahsis edilmesi ve uzak birimlerin bağlanması gerekir ki bu da bulut bilişim ağları ve depolama altyapıları için büyük bir zorluk olacaktır.Ayrıca, konteynerler yeni programlandığı için, yeni uygulama görüntülerinin makineye yeniden indirilmesi gerekir. Bu, uygulama sürümünün etkinliğini büyük ölçüde azaltacaktır.

Uygulama yayıncılığının verimliliğini ve kaynakların kesinliğini artırmak için bu iş yükü modeli geliştirilmiştir.Uygulamaların yerinde yayımlanmasını destekler.Uygulamanın konumu, uygulama yayınlanmadan önce ve sonra değişmeden kalır.Aynı zamanda eşzamanlı güncellemeleri, hataya dayanıklı duraklamaları ve diğer zengin sürümleri destekler. Stratejiler ve Alibaba'nın dahili e-ticaret uygulamalarının yayınlama ihtiyaçlarını verimli bir şekilde karşılar. Uygulama yayınlandıktan önceki ve sonraki konum olduğundan, gri sürüm işlemi sırasında önceden yayınlanacak konteyner görüntüsünü indirebilir ve sıkıştırabiliriz, böylece uygulama sürümünün verimliliğini büyük ölçüde artırabiliriz.

Son durum odaklı uygulama yönetiminde, karmaşık işletme ve bakım süreci k8'ler tarafından dahili olarak gerçekleştirilir K8s, kullanıcının beklentileri ve statükoya göre yapılması gereken eylemleri hesaplar ve kademeli olarak son duruma geçer. Nihai durumla yüzleşmek mükemmel işletim ve bakım verimliliği sağlar, ancak aynı zamanda sistem mühendisliği mimarisi için daha yüksek gereksinimleri ortaya koyar.

K8'lerin modüler ve dağıtılmış bir sistem olduğunu biliyoruz.Son duruma götüren operasyon ve bakım kararları birden fazla dahili modüle dağılmıştır.Bu modüller, konteyner üzerinde kontrolörler ve operasyonlar gibi bazı operasyon ve bakım eylemlerini başlatabilir. Boyut Operatörü, yeniden zamanlayıcı ve hatta kubelet. Yüksek derecede otomatikleştirilmiş bir sistemde, beklenmedik bir anormallik meydana geldiğinde, ölümcüllüğü, üzerinde çalışan işletme için felaket sonuçlara neden olabilir.Ayrıca, k8'lerdeki karar verme birçok modüle dağılmıştır ve neden olduğu sorun sistem riskidir Bu sistemin kontrolü daha zor hale gelir ve bu sistem tasarımının kalitesi için yüksek gereksinimler vardır. Yukarıdaki şekilde gösterildiği gibi, tüm sistemin riskini kontrol etmek için, anahtar davranışları k8s sisteminin kilit konumlarına gömdük ve tüm sistemi aşırı hata senaryolarında bile yapmak için hedeflenen akım sınırlama ve birleştirme stratejilerini formüle ettik. Ayrıca üzerinde çalışan işletmenin korumasını en üst düzeye çıkarabilir.

Kendi kendini iyileştirme yeteneği yükseltmesi

Alibaba'nın geleneksel işletim ve bakım sistemi altında, konteyner platformu sadece kaynak üretir ve uygulama başlatma ve servis keşfi, konteyner başlatıldıktan sonra işletim ve bakım platformu sistemi tarafından tamamlanır.Bu katmanlı yöntem, işletim ve bakım sistemine en büyük özgürlüğü sağlar. Derece aynı zamanda Alinin konteyner ekolojisinin konteynerizasyondan sonra zenginliğini de teşvik etti. Bununla birlikte, bu yaklaşımla ilgili ciddi bir sorun vardır, çünkü konteyner planlama platformu, konteynerin genişlemesini ve daralmasını otonom olarak tetikleyemez ve her operasyon ve bakım platformu ile karmaşık bağlantı kurması gerekir.Üst işletim ve bakım sisteminin de altta yatan temeli algılaması gerekir. İnşaat işlerinin birçok kez tekrarlanmasına neden olan tesisler hakkında bilgi. Mühendislik uygulamalarında, bu karmaşıklıklar, dikkatli bir tasarımdan ve büyük miktarda yatırımdan sonra bile onu verimsiz kılar, bu da ana makine arızalandığında veya yeniden başladığında ve kaptaki süreç çöktüğünde veya takıldığında kendi kendini onaran onarımı ciddi şekilde engeller. Verimlilik, aynı zamanda elastik ölçeklendirme uygulamasını çok karmaşık ve verimsiz hale getirir.

Bu sorunu çözme fikrimiz, uygulamaları başlatma ve izleme, VIP, servis merkezi, yapılandırma merkezi vb. Dahil olmak üzere uygulama başlatma durumunu bölmede kontrol etme sürecini oluşturmak için k8'lerde kapsayıcı komutları ve yaşam döngüsü kancaları sağlamaktır. Altyapı etkileşiminde, kapsayıcıların ve uygulama örneklerinin yaşam döngüsü Pod aracılığıyla birleştirilir. Konteyner platformu artık sadece üretim kaynakları değil, doğrudan işletme tarafından kullanılabilen hizmetler sunuyor, böylece kapalı arıza kendi kendini onarma döngüsü k8s sistemi içinde tamamlanabiliyor, bu da uygulama hatası kendi kendini onarma ve otomatik elastik genişleme ve daralma yeteneklerini büyük ölçüde basitleştiriyor. . Sistemin kendi kendini iyileştirmesinin verimliliğini artırmak, aslında işletmenin daha iyi çalışma zamanı kararlılığı ve uygulama çalıştırma ve bakım verimliliği elde etmesine yardımcı olur.

Kapsayıcıların ve uygulama örneklerinin yaşam döngüsünün birleştirilmesini tamamladıktan sonra, birleşik bir denetleyici programlama çerçevesi oluşturuyoruz: Operatör Platformu. Operatör Platformu, bir merkezi kontrol bileşeni, bir yardımcı çerçeve konteyneri ve istemci kodundan oluşur.Genel kontrolör yeteneklerinin soyutlanması yoluyla, şunlar dahil: olay bildirimi, gri yönetim, sürüm kontrolü, önbellek, komut kanalı ve kapsüllenmiş ve entegre edilmiş diğer özellikler, Operatörlerin çok dilli programlamasını destekler, böylece geliştiricilerin k8'lerin birçok arayüz detayını ve hata işlemesini anlamasına gerek kalmaz, böylece operatöre bağlı olarak otomatik operasyon ve bakım yetenekleri geliştirmenin zorluğunu azaltır ve operatör aracılığıyla daha fazla operasyon ve bakım kabiliyetinin çökelmesini sağlar. K8s ekosisteminde, daha fazla durum bilgisi olan uygulamalar otomatik olarak dağıtılabilir ve tüm operasyon ve bakım sisteminin operasyon verimliliği iyileştirilir. Bu şekilde, tüm makine arızası kendi kendini iyileştirme sistemi oluşturulur ve küme ana bilgisayarının çevrimiçi oranını ve işletmenin kullanılabilirliğini sağlamak için makine kilidi, uygulama çıkarma, makine çevrimdışı, anormal onarım ve diğer işlemler dahil olmak üzere süreçler seri olarak verimli bir şekilde bağlanır. Gelecekte, operatör programlamasını standartlaştırarak ve tekrarlanan inşaat maliyetini düşürerek, birden çok işletim ve bakım platformunun temel işletim ve bakım yeteneklerinin maksimum yeniden kullanımını teşvik etmeyi umuyoruz.

Değişmez altyapı

Üçüncü önemli yetenek yükseltmesi, değişmez altyapının yükseltilmesidir. Docker'ın birleşik bir uygulama teslimi formu sağladığını biliyorum. Derleme işlemi sırasında uygulamanın ikili, konfigürasyon ve bağımlı dosyalarını bir aynaya koyarak, uygulamanın bir kez oluşturulduktan sonra birden çok ortamda teslim edilmesini sağlar. Kesinlik, tutarsız ortamların neden olduğu birçok sorunu önler. Ve k8'ler, Docker konteynerlerini farklı amaçlar için bir bölmede birleştirerek bir adım daha ileri gider.Normalde, uygulama görüntülerinin, birimlerinin ve kaynak özelliklerinin tutarlılığını sağlamak için bölmeyi yükseltirken tüm bölmenin yok edilmesi ve yeniden yapılandırılması gerekir. K8'lerin iniş sürecinde, değişmez altyapı tasarım konseptine sadık kaldık. K8s podu sayesinde, başlangıçta zengin bir konteynerde çalışan uygulama ve işletme ve bakım temel bileşenleri farklı konteynerlere ayrıldı ve konteyner görüntüsü yükseltildi. Uygulama yükseltmesi. Açıklığa kavuşturulması gereken bir kavram var.K8'lerin kullanılması değişmez altyapı kavramının uygulanmasıyla eşdeğer değildir.Uygulama çalıştırma ve bakımının dosyaları dinamik olarak yayınlamaktan ziyade ayna yükseltmeleri ile tamamlandığından emin olmak gerekir.Aslında bazı tarihsel nedenlerden dolayı , Bu kullanım endüstride yaygındır.

Tabii ki, k8'lerden farklı olarak, kapsüllerin değişmezliğini zorlamadık, ancak bir uzlaşma yaklaşımı, yani kabın değişmez olduğu konusunda ısrar ettik. Bunun nedeni, uygulama konteynerini operasyon ve bakım altyapısı konteynerinden ayırdıktan sonra, uygulama konteynerinin sepet konteyneri olarak operasyon ve bakım konteynerinin farklı bir versiyon yineleme stratejisine sahip olmasıdır. Uygulama kapsayıcıları, uygulama çalıştırma ve bakım personeli tarafından serbest bırakılır ve stratejileri uygulamadan uygulamaya değişir.Örneğin, e-ticaret uygulamaları StatefulSet'i kullanır ve yerel yaşam, uygulamaları yönetmek için Dağıtımı kullanır, altyapı kapsayıcıları ise altyapı işletimi ve bakımından sorumludur. Uygulamanın kendisinde de bazı farklılıklar vardır. Bu sorunu çözmek için, birden fazla uygulamanın işletim ve bakım konteynerlerini tek tip olarak yönetmek için aynı seti kullanan ve altyapı değişikliklerini uygulama konteynerindeki değişikliklerden ayıran, böylece altyapıyı destekleyen SidecarSet adlı bir altyapı konteyner yönetim modeli geliştirdik. Hızlı evrim. Uygulama bölmesinden altyapı kapsayıcısının tanımını çıkardıktan sonra, uygulama yöneticisi artık temel kapsayıcının başlangıç parametrelerini önemsemiyor, bunun yerine uygulama işlemini basitleştiren SidecarSet'i yapılandırarak uygulama ve bakım kapsayıcısını otomatik olarak uygulamaya enjekte etmek için altyapı işletim ve bakım personeline teslim ediliyor. Boyutsal karmaşıklık. Gördüğünüz gibi, bu Dikkat Nokta ayırma tasarımı, uygulama operasyonu ve altyapı operasyonu ve bakımı yükünü basitleştirir.

Özet ve görünüm

Alibaba Cloud, Alibaba'nın işletim ve bakım sisteminin k8'leri indirerek bulut tabanlı olmasını sağladı ve uygulama konteyneri sürüm yönetimi verimliliği, hizmet kararlılığı ve kurumsal BT maliyetlerinde büyük atılımlar yaptı. Alibaba'nın uygulama yönetimi deneyimini nasıl daha fazla senaryoya aktarabileceğimizi ve daha fazla müşterinin karşılaştığı uygulama yönetimi sorunlarını nasıl çözeceğimizi düşünüyorduk. İşletmelerin tam bulutlaştırma eğilimi altında, kamu mülkiyetindeki işletmelerin sorunlarının nasıl çözüleceğini düşünüyoruz. Bulut, özel bulut, hibrit bulut ve çoklu bulut senaryolarında uygulama yönetiminin karmaşıklığı.

Alibaba Cloud ve Microsoft, Kasım 2019'da bulut tabanlı uygulamaların oluşturulması ve sunulması için Açık Uygulama Modeli (OAM) adı verilen standart bir şartname başlattı. OAM, her platformun, platformlar arası uygulama teslim sorunlarını çözmek için birleşik bir üst düzey soyutlamayla uygulama dağıtımı, çalıştırma ve bakım yeteneklerini ortaya çıkarmasına olanak tanıyan evrensel bir model önerir. Aynı zamanda OAM, uygulama geliştiricileri, operasyon ve bakım personeli ve uygulama altyapısını standart bir şekilde iletişim kurar ve birbirine bağlayarak bulutta yerel uygulama teslimi ve yönetim süreçlerini daha tutarlı ve tutarlı hale getirir.

Standartlaştırılmış bir uygulama sağlama yöntemi aracılığıyla, gelecekte bulutta bir uygulama dağıtmanın, bir cep telefonundaki bir uygulama mağazasına bir Taobao yüklemek kadar rahat ve verimli olmasını bekliyoruz. OAM hakkında daha fazla bilgiyi burada bulabilirsiniz https://oam.dev/.

Son olarak, bu makalede bahsedilen bulut yerel dönüşümünde Alibaba'nın tamamladığı ilgili yetenek yükseltmeleri OpenKruise projesi https://openkruise.io'ya açık kaynaklıdır veya açılacaktır. Dikkat ile iletişim kurun!

Komik: Dize eşleme algoritması nedir?
önceki
"Tam yığın geliştirme öldü mü?"
Sonraki
Otomatikleştirilmiş ön uç geliştirme nasıl elde edilir?
WeChat Pay to Read Alipay kullanılabilir, iOS% 30 indirimli; Appleın Android şarj cihazı veya birleşik; UOS 20 yayınlandı | Geek Headlines
AI programcılarının maaş koçanlarını Douyin'e kaydırdıktan sonra güldüm, sakın sakın
VİDEO Guiyang: 490 dolu mermi, kavurma tütün için "koruyucu şemsiyeyi" desteklemek
Bilim insanlarının son keşfi sağlık algınızı tamamen alt üst ediyor! Görmek iki dakika sürmeli
"Birinci Sınıfın Gözünden Jinan" Buluttaki kim, Qianmo Bookstore'u ziyaret etmek için brokar kitaplar gönderiyor
Her gün yiyin, tüm hastalıkları ve sağlıklı beslenin! Telefonunuza kaydedin
Mart ayında, toksinleri atmak ve 2 basamak kilo vermek için balığı kaçırmayı ve bu yemeği yemeyi tercih ederim.
Artık Panax notoginseng tozunu asla kullanmayın, sonuçları ciddidir! Panax notoginseng tozunun 8 tabu hepinizi anlatıyor
25'inden Yantai Müzesi de dahil olmak üzere 7 belediye halk kültür mekanı açılmaya devam edecek
Shandong belediye başkanı "restoran sunma" konusunda başı çekti ve masrafları kendisine ait olmak üzere yerel spesiyaliteleri tattı.
Jiaodong Yarımadası Stomatoloji Hastanesi sizi ortodonti anlamaya götürüyor, yetişkinler ve çocuklar arasında büyük bir fark var
To Top