Neden kubernetlerde takas devre dışı bırakılsın?


35

Kubernetes 1.8 yana, ben devre dışı benim düğümlerde takas (veya sete ihtiyaç görünüyor --fail-swap-oniçin false).

Kubernet'lerin değiştirilmenin engellenmesi konusunda ısrar etmelerinin teknik nedenini bulamıyorum. Bu performans nedenleriyle mi? Güvenlik sebepleri? Bunun nedeni neden belgelenmiyor?

Yanıtlar:


28

Kubernetlerin fikri, mümkün olduğunca kullanılan% 100'e yakın örnekleri sıkıca paketlemektir. Tüm dağıtımlar CPU / bellek limitleriyle sabitlenmelidir. Eğer programlayıcı bir makineye bir kapsül gönderirse, hiçbir zaman takas kullanmamalıdır. İşleri yavaşlatacağından takas etmek istemezsiniz.

Başlıca performans için.


2
ya fikir, eğer bir düğüm sadece 3 gig kullanmakta özgürse .. ve yeni kapsülün 4'ü istiyorsa ... başka bir düğüme gidecektir.
Mike

Bu bana o kadar mantıklı gelmiyor, elbette os'ların sık kullanılan bazı bellek sayfalarını, performanslarını gözle görülür şekilde bozmadan takas ederek değiştirmesine izin vererek düğümlerinizi biraz daha ileriye götürebilirsiniz.
Frederik Baetens,

13

Bunun sebebi, anladığım kadarıyla, kübeletin takas durumlarını ele almak için tasarlanmamış olması ve Kubernetes ekibinin, bunun amacı, kapsüllerin konağın anısına sığması gerektiği için uygulamayı planlamamasıdır.

dan bu konuda

Takas için destek önemsiz değildir. Garantili bakla asla takas gerektirmemelidir. Burslanabilir bölmeler taleplerini takas gerektirmeden yerine getirmelidir. BestEffort kapsüllerinin garantisi yoktur. Şu anda kubelet burada baklalar arasında doğru miktarda öngörülebilir davranış sağlamak için akıllılardan yoksun.


10

TL; DR takas yönteminin doğru kullanılmaması, hafıza alt sistemleri hakkında zayıf bir anlayış ve temel sistem yönetimi becerilerinin eksikliğini gösteren tembel bir kesmektir. Altyapı hizmetlerinin tasarlanması ve bu sistemlerin anlaşılmaması başarısızlıkla sonuçlanmak zorundadır.

Yani, bu konuda bir yorumum var, bu bir özellik veya gereklilikten ziyade tembelliğe benziyor. Takas işlemlerini düzgün bir şekilde yapmak, belleği analiz etmek ve takas işlemine gerek kalmadan bellek alt sistemini nasıl kullanacağınızı belirlemek kesinlikle mümkündür. Bunun etrafında inşa edilmiş araçların bir likiditesi vardır ve bir işlemin takas işleminden kolayca faydalanmayacağını garanti edersiniz, böylece performans noktası yanlış olur. Bu enstrümantasyonu yerleştirmemek sadece tembel kodlamadır ve genel olarak takas işleminin tamamen kaldırılması sistem performansının zararına olacaktır. Buradaki anahtar doğru kullanıyor. Bölmeleri diske takmanın performansı etkileyeceği konusunda hemfikir olacağım, ancak diske takılması gereken birçok şey var .

Ek olarak, linux çekirdeği takas kullanmak üzere tasarlanmıştır ve tamamen devre dışı bırakmanın olumsuz sonuçları olacaktır. Bunun üstesinden gelmenin daha iyi bir yolu, bölmeleri ana belleğe sabitlemek ve diske takılmalarına izin vermemek, vfs önbellek basıncını azaltmak, böylece kesinlikle gerekmediği sürece takılmaması ve hatta sabitlenmiş işlemlerin yapılmasına neden olmaktır. Ana belleğin tükenmesi durumunda MALLOC başarısız olur.

Kaplardaki proseslere bağlı olarak, kabın sert bir şekilde arızalanması veya OOM katili tarafından öldürülmesi bazı oldukça feci sonuçlara neden olabilir. Bununla birlikte, bu konteynırlarda yürütülen işlemlerin ideal olarak vatansız ve geçici olması gerektiğini anlıyorum, ancak 20 yıllık çalışan sistemlerde, bir zamanlar herkesin amaçlanan tasarımı% 100 harfle takip ettiğini görmedim.

Ayrıca, geçici bellek gibi gelecekteki teknolojileri ve hibrit disk / bellek sistemlerini kullanarak ana belleği genişletmek için kullanılabilecek intel xpoint gibi daha yeni bellek sistemleri dikkate alınmamaktadır. Bu tür sistemler ile, bunları doğrudan ek ana bellek olarak kullanabilirler veya ana belleği ihmal edilebilir performans etkisiyle genişletmek için takas dosyalarını kullanabilirler.


2
Kubernet projesinin yöneticilerinin tembel olduğundan şüpheliyim. Amaçlanan iddiaların hiçbiri kubernetlerde yayın yapan konteynerli bir ekosistem bağlamında görünmüyor.
Spuder

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.