‫Docker Swarm'a benzer şekilde, çalışan
‫farklı konteynerler için terim olarak replikaları kullanır ve
‫replika sayısını ve ayrıca ölçek komutunu kullanarak nasıl
‫ölçeklendirileceğine ve ölçeklendirileceğine karar
‫verir. Kubernetes ile de benzer
‫bir deneyim yaşadık. Şimdi kubectl komut satırına ve bunun nasıl
‫çalışacağına göz atalım.
‫Öncelikle yeni bir Dağıtım başlatmamız gerekecek.
‫Şimdi geri dönelim ve bir kubectl run my-apache
‫yapalım.
‫-- görüntü httpd.
‫Nginx'in aksine, bu sefer Apache web sunucusunu çalıştıracağız,
‫çünkü bize bazı varsayılan günlük kayıtları veriyor, böylece en azından
‫günlüklere bakabiliyoruz.
‫Tüm bu nesnelerin konuşlandırılıp konuşlandırılmadığını başka bir
‫get all ile kontrol edebiliriz.
‫İstediğiniz ve akımınız ReplicaSet'inizde
‫ve pod'da kullanıma hazır olduğunda, bir sonraki komutu
‫vermeye hazır olduğumuzu biliyoruz.
‫Bu varsayılan çalıştırma bize tek bir
‫pod veya replika verir.
‫Bunu 2'ye çıkaralım.
‫Burada scale komutuyla birlikte --replicas 2 yazdığıma
‫dikkat edin. Ayrıca nesnenin türünü
‫de yazdım.
‫Başka bir deyişle, bir Dağıtım ve ardından
‫bu Dağıtımın adı. Ancak burada kullandığımı fark ettiğiniz
‫farklı bir format var. Deployment yerine deploy
‫kullandım ve boşluk yerine ileri eğik çizgi kullandım.
‫Bu, Kubernetes komut satırının esnekliği hakkında küçük bir tartışmaya
‫giriyor.
‫Birçok komutun, komutun kendisinin kısa versiyonlarına sahip olduğunu
‫fark edeceksiniz.
‫Komutun farklı bölümleri kısaltılabilir veya eğik çizgi
‫ile boşluk gibi çeşitli şekillerde değiştirilebilir.
‫Bunun gibi şeyler. Bu durumda, scale
‫deploy / my-apache, scale space deployment
‫space my-apache ile aynı olacaktır.
‫Bunlar aynı eşdeğerde olacaktır.
‫Temel olarak Dağıtım seçeneğini göreceğiniz pek
‫çok yerde, çoğul durumda dağıtım, dağıtım
‫veya dağıtımları belirtebilirsiniz.
‫Bunun
‫bazen komut satırının diğer bölümlerinde de benzer olduğunu, çoğul veya tekil ifadelerin de
‫aynı şekilde çalıştığını fark edeceksiniz.
‫Ya da bazen komutun bir kısmını kısaltabilirsiniz.
‫Dürüst olmak gerekirse, yıllar geçtikçe bu durum değişti.
‫Bu nedenle, hangi kısımları kısaltabileceğiniz veya boşluk için eğik çizgi
‫koyabileceğiniz çok açık değildir.
‫Ama bence işleri kendi yöntemlerinizle yapmaya bir kez alıştığınızda,
‫bu sizin için işe yarayacaktır.
‫Şimdi, hızlı bir kubectl get all işlemi yaparsak.
‫Artık iki kapsülümüz olduğunu fark edeceksiniz.
‫Alttaki ReplicaSet'in istenen durumunun iki olduğunu
‫ve ikisinin çalıştığını göreceksiniz.
‫Buradaki genel konseptte, Swarm hizmetlerinin yaptığı
‫şey tam olarak budur. İhtiyaçlarınıza göre kopyaları yukarı
‫ve aşağı ölçeklendirirler.
‫Bu durumda, görevlerden ziyade pod'lardan
‫bahsediyoruz.
‫Ölçek komutunu verdiğimizde, size arka planda neler olup bittiğine
‫dair temel bilgileri vereyim.
‫Ekstra soyutlama seviyelerimiz olduğu için, bu seviyelerin
‫birbirlerine nasıl tepki verdiğini anlamamız gerekir.
‫Ölçek komutunu yazdığımızda, teknik olarak
‫Dağıtım spesifikasyonunu güncelliyorduk.
‫Kubernetes'te her şeyin bir spesifikasyonu vardır.
‫Dağıtım için bu teknik özellik ReplicaSet'i
‫iki replikadan oluşan bir set olarak değiştirdi.
‫Daha sonra ReplicaSet denetleyicisi bunu iki pod
‫olarak değiştirmeye karar verdi ve her replika için bir
‫pod olacaktı.
‫Ardından kontrol düzlemi hangi düğümlerin, bu durumda yalnızca
‫bir düğümünüz var, ancak hangi düğümlerin bu kapsüllere
‫atanacağı konusunda bir karar verir.
‫Daha sonra çok düğümlü bir kurulumunuz varsa,
‫kubelet aracısına bu pod atanır ve yerel Docker Motorunda
‫kapsayıcı oluşturmak için yürütme için bunu alır.
‫Sadece başka bir konteyner başlatmak için arka planda
‫çok fazla iş yapılıyormuş gibi görünse de, aslında gerçekten
‫çok hızlı gerçekleşiyor. Aslında, neredeyse Swarm kadar
‫hızlı gerçekleşir. Genel olarak, tek bir makineden
‫bahsederken bir saniye, iki saniye gibi bir süreden
‫bahsediyoruz.
‫Swarm ile sahip olduğu avantajlardan biri, her şeyin tek bir
‫ikili dosyada olmasıdır.
‫Dolayısıyla, bu çok daha hızlı gerçekleşir çünkü konteynerin
‫kendisinin başlatılması da dahil olmak üzere aynı süreç içinde
‫gerçekleşir.
‫Kubernetes ile bu ek soyutlama katmanlarını
‫elde ediyoruz. Bu, Docker veya Swarm ile
‫yapacağınız bir şeye kıyasla hafif bir gecikmeye neden olur.
‫Ama gerçekten, çoğu durumda önemsizdir.
‫Bunun karşılığında, bu farklı soyutlama katmanlarıyla çok daha fazla esneklik
‫ve kontrol elde ediyoruz.
‫Oh! Bunu temizleme.
‫Bu Apache konteynerlerini bir sonraki derste
‫Kubernetes'te neler olup bittiğini incelerken kullanacağız.