Kubernetes 10’da: Durum bilgisi olan uygulama depolama alanı ve veri koruması oluşturma


Kubernetes 10 yaşında. 2024 ortası, pazar lideri konteyner düzenleme platformunun 10. yaş gününü kutluyor.

Bu on yıl, konteynerlerin uygulamaları sanallaştırmanın yeni bir yolu olarak ortaya çıkmasıyla başladı, ancak depolama ve veri koruma işlevleri pratikte mevcut değildi. Artık Kubernetes, durum bilgisi olan verilerin depolanması için gereken her şeyi içeren, bulutta yerel uygulamalar için olgun bir konteyner platformu sunuyor.

Yapay zeka (AI) iş yükleriyle karakterize edilen bir geleceği sabırsızlıkla beklerken, Kubernetes’in ilk on yılını, Kubernetes’in geliştirilmesine yardımcı olan ve Kubernetes Operatörlerinin kullanımı da dahil olmak üzere depolama ve veri korumadaki zorlukların üstesinden gelmeye yardımcı olan mühendislerle bir dizi röportajla kutluyoruz.

Google’da Kubernetes depolama geliştirmeye odaklanan bir yazılım mühendisi olan Michelle Au, burada, depolama ve veri koruma gibi gelişmiş hizmetler için Kubernetes çekirdeğinin ötesine işlevsellik ve karmaşıklık katan anlık görüntüler ve operatörler için destek ekleme gibi çalışmalara dahil olmaktan bahsediyor. .

Kubernetes ilk piyasaya sürüldüğünde pazar nasıldı?

Kubernetes bu alanda ilk görev alanlardan biriydi. Konteynerler yeni yeni popüler hale geliyordu ve şirketler bölgeyi keşfetmeye başlıyordu. Mesosfer, Docker Swarm, Cloud Foundry ve Nomad gibi birçok alternatif iş yükü düzenleme projesi vardı.

Kubernetes için depolamaya nasıl dahil oldunuz?

2017 yılında Google’da Kubernetes ekibine katıldım ve SIG kapsamında projeler üzerinde çalışmaya başladım. [special interest group] depolama topluluğu. Ondan önce Kubernetes’i sadece dedikodu yoluyla duymuştum ama gerçekte hiç kullanmamıştım. Ancak sektörü yeniden şekillendiren açık kaynaklı bir projeye katılmanın harika bir fırsat olacağını düşündüm.

Kubernetes’in pazarda lider konumda olduğunu ne zaman fark ettiniz?

Başlangıçta durum böyle değildi. Ancak iş yüklerinin her geçen yıl katlanarak arttığını görmek ve özellikle durum bilgisi olan iş yükleriyle ilgili tüm başarı hikayelerini duymak, yaptıklarımızdan gurur duymamı sağlıyor.

Kubernetes’e baktığınızda veri ve depolamaya nasıl yaklaştınız?

Kubernetes hakkında bilgi edinmeye başladığımda hemen dikkatimi çeken en güçlü yön bildirimsel API oldu [application programming interface] ve mutabakat tasarım paradigması, ortamlar arasında iş yükü taşınabilirliği ve iş yükü dağıtımına ilişkin en iyi uygulamaların standartlaştırılması. Kubernetes’in tüm bu güçlü yönleri aynı zamanda Kubernetes depolama özelliklerini tasarlarken bana yol gösteren hedeflerdi.

Kubernetes’te veri ve depolama konusunda sizin için ilk olarak hangi sorunlar ortaya çıktı?

Ekibe katıldığımda, durum bilgisi olan iş yüklerini çalıştırmak öncelikle buluttaki küçük ölçekli dağıtımlarla sınırlıydı. Depolama ekosistemi desteğinin yanı sıra planlama, bakım ve kesinti yönetimi açısından hâlâ birçok anlaşmazlık noktası vardı. Bu iş yüklerini başarıyla çalıştırmak, özellikle ikinci gündeki zorluklarla ilgili olarak birçok özel oluşturulmuş süreci gerektiriyordu.

İlk projelerimden biri yerel depolama için destek eklemekti. Bunun üzerinde çalışırken, veri yerelliği farkındalığıyla ilgili daha geniş bir sorun olduğunu fark ettim ve Kubernetes zamanlayıcıya depolama topolojisi kavramını tanıtarak sorunu daha geniş kapsamlı çözmeye karar verdim. Bu, ister bulutta ister şirket içinde çalışıyor olun, hata etki alanlarında hataya dayanıklı olacak şekilde durum bilgisi olan iş yüklerinin sağlanması sürecini basitleştirdi.

Bunun ötesinde birinci günün sorunlarından ikinci günün sorunlarına doğru ilerlemeye başladık. Anlık görüntü desteği Kubernetes’teki büyük bir boşluktu ancak herhangi bir olağanüstü durum kurtarma stratejisi için kritik öneme sahiptir.

Neyin değişmesi gerekiyordu?

Anlık görüntülerin uygulanması şaşırtıcı derecede önemsiz değildi. Zorunlu bir işlemi bildirimsel bir API ile eşlemek, birden fazla beyin fırtınası turu gerektiriyordu; depolama satıcılarının biraz farklı anlambilimleri vardı ve ayrıca uygulama tutarlılığının nasıl ele alınacağı sorusu da vardı. Ancak sonunda fikir birliğine varmayı başardık ve Kubernetes’in durum bilgili iş yükü hazırlığını daha da güçlendiren bu kritik yeteneği sunmayı başardık.

Kubernetes operatörlerine nasıl dahil oldunuz?

Google Kubernetes Engine (GKE) ekibinin bir parçası olarak platformumuzda operatör çalıştırmak isteyen müşteriler ve iş ortaklarıyla yakın işbirliği içinde çalıştım. Ayrıca kullanıcıların bugün karşılaştığı sıkıntı noktalarını daha iyi anlamak ve bu sorunların Kubernetes projesine aktarılmasına yardımcı olmak için Kubernetes projesinin ve GKE’nin temsilcisi olarak Kubernetes Verileri topluluğuna katıldım.

Operatörlerin veri ve depolama alanında başarılı olmasını sağlayan neler oldu?

Özel Kaynakların ortaya çıkışı operatörler için oyunu gerçekten değiştirdi. Özel kullanım durumunuz için Kubernetes tarzı bir bildirimsel API geliştirmeyi mümkün kıldı. Durum bilgisi olan iş yüklerinin çoğu, HA’yı yapılandırmak gibi Kubernetes’in çekirdeğinde kolaylıkla soyutlanamayacak bir dizi karmaşık ve kapsamlı operasyonel süreçlere sahiptir. [high availability] ve çoğaltma ve kesinti ve yükseltme süreçlerini yönetme. Operatörler artık bu karmaşıklığı son kullanıcılar için yönetebiliyor.

Bu, daha fazla bulut tabanlı yaklaşımları nasıl destekledi? Sonuçları nelerdi?

Bildirime dayalı API’ler GitOps’u veya kod olarak yapılandırma paradigmalarını kolayca etkinleştirebilir. Durum bilgisi olan iş yüklerine yönelik operatörler, kuruluşların diğer tüm Kubernetes iş yüklerini yönetme biçimiyle uyumlu olma avantajının yanı sıra, temel hazırlığı, yükseltmeleri ve diğer bakım işlemlerini otomatikleştirmeyi kolaylaştırır.

Kubernetes artık 10 yaşında. Bugün bunu nasıl düşünüyorsunuz?

Kubernetes, “Kubernetes üzerinde veritabanı çalıştırmamın hiçbir yolu yok”tan, “otomatik sürekli yükseltmelerle petabayt ölçeğinde veritabanları çalıştırıyorum”a kadar uzun bir yol kat etti. Kubernetes, en zorlu iş yüklerinden bazılarını çalıştırmak için istikrarlı bir platform haline geldi ve bu, projenin son birkaç yılda büyük iş yükü sağlayan özelliklerden güvenilirliği ve istikrarı artıran çabalara odaklandığını gösterdi.

Veri ve depolama söz konusu olduğunda Kubernetes’te hâlâ hangi sorunlar var?

Ekosistem keşfi zorlu bir iştir. Bu alanda çok sayıda satıcı var ve son kullanıcı olarak tüm seçenekleri değerlendirmek zaman alıcı ve zor. Kubernetes hakkındaki Veriler topluluğunun yardımcı olabileceği yerin burası olduğunu düşünüyorum. Giriş seviyesinden ileri düzey konulara kadar çok çeşitli durum bilgisi olan iş yükleri hakkında konuşmalara ve bloglara ev sahipliği yaptılar.

AI/ML’nin büyümesi yeni zorlukları da beraberinde getirdi. AI/ML iş yükleri, geleneksel veritabanlarından çok farklı veri modellerine ve gereksinimlere sahiptir ve genellikle blok depolama yerine nesne depolama ve dosya depolamayı kullanır.

Ayrıca çoklu bulut veya hibrit ortamlar, ortamlar arası taşınabilirlik için ek gereksinimler ekleyen bir gerçektir. Kubernetes depolama soyutlamalarımızın bu yeni kullanım örneklerine dayanmaya devam ettiğini gördüm, ancak özellikle veri yaşam döngüsü ve yönetimi konusunda hala iyileştirmeler için yer olduğunu düşünüyorum.

Paylaşacak başka anekdot veya bilgi var mı?

Kubernetes SIG depolamanın yanı sıra Kubernetes’teki Veriler konusunda da her zaman daha fazla katkıda bulunan ve katılımcı arıyoruz. Hikayelerinizi paylaşmak veya projeye katkıda bulunmak istiyorsanız lütfen bu topluluklara katılın.



Source link