‫Bu ödev için gerekenler son ödeve çok benzemektedir. Bir konteyneri çalıştırırken veya çalıştırdıktan
‫sonra kabuğuna nasıl gireceğinizi bilmeniz gerekir.
‫Ve Linux dağıtımları hakkında bazı temel bilgileri ve Ubuntu gibi bir şeyin Alpine
‫veya CentOS'tan farklı olabileceğini bilin. Ve tabii ki bir konteyner çalıştırmak. Ardından, takma ad kaydının ne olduğu veya nasıl oluşturulacağı
‫gibi DNS kayıtlarının nasıl çalışabileceğine ilişkin temel bilgiler.
‫Bu kullanışlı olacaktır çünkü DNS ile ilgili bazı testler yapacaksınız. Bir sonraki ödeviniz için biraz DNS
‫round robin testi yapacağız.
‫DNS round robin kavramına aşina değilseniz, aynı DNS adına yanıt veren
‫DNS takma adlarına sahip iki farklı ana bilgisayarınız olabilir.
‫Google gibi bir şeyi düşündüğünüzde. com'da belli ki birden fazla sunucuları var.
‫Bu nedenle, büyük şirketlerin her zaman 7/24 ayakta olduklarından emin olmak için kullandıkları tekniklerden biri, stratejilerinin
‫bir parçası olarak DNS round robin'i kullanmaktır, böylece internette kullandığınız adın arkasında DNS kayıtlarında
‫aslında birden fazla IP adresi vardır.
‫Şimdi konteynerlerde aslında çok daha basit hale geliyor.
‫İşte Docker Engine 1'de bu özelliğe sahibiz. 11 ve daha yeni.
‫Özel bir ağ oluşturduğumuzda, birden fazla konteynerin aynı DNS adına yanıt verebilmesi için bir takma
‫ad atayabildiğimiz bir özelliğimiz vardı.
‫Bunun için önce yeni bir sanal ağ oluşturacaksınız, adını ne koyarsanız koyun ve Elasticsearch
‫adlı yeni bir imaj kullanarak iki konteyner kuracaksınız; ve özellikle Elasticsearch'ün 2.
‫sürümünü.
‫Elasticsearch aslında bu dersin bir parçası değil, ancak bu ders için popüler bir veri deposu haline geliyor... Aslında sadece arama için.
‫Adı da buradan geliyor.
‫Doğru.
‫Yani curl'den girdiğinizde aslında bir JSON formatındadır. Yapacağımız şey aslında bunu hızlı bir test olarak
‫kullanmak olacak çünkü bu senaryoda kullanımı gerçekten çok kolay.
‫Araştırmak ve --net-alias komutunu kontrol etmek istersiniz.
‫Bu aslında docker run için bir seçenektir.
‫Ve bir konteyneri başlattığınızda, ona şunu söyleyeceksiniz: Bu konteyneri sadece konteyner adıyla
‫değil, başka bir DNS takma adıyla çağırmak istiyorum.
‫Bu, Docker'ı üretimde kullandıysanız ve çok sayıda konteyner eklemeye başladıysanız, aynı ada sahip
‫birden fazla konteyner ekleyemeyeceğinizi fark ettiğiniz küçük bir sorunu aşar...
‫ancak ağlarımdaki DNS'leri nasıl çözebilirim ve belki de aynı uygulamayı iki kez yükleyebilirim.
‫Belki de aynı sunucuda bir geliştirme ve bir test ortamım var ve her ikisinde de DNS'de bir şey
‫aramam gerekiyor.
‫İşte bu sınırlamayı bu şekilde aşabilirsiniz.
‫Kapsayıcılarınızı oluştururken onlara takma adlar eklemeye devam edebilirsiniz ve aslında bir DNS
‫round robin'in yaptığı gibi yanıt verebildiklerini göreceksiniz.
‫Bunları başlattıktan sonra, nslookup yapmak için alpine görüntüsünü kullanabilirsiniz
‫ve bu size basitçe isim araması için DNS adreslerinin bir listesini döndürecektir.
‫Ve unutmayın ki bu konteynerin --net ile ilk iki konteynere atadığınız
‫aynı ağa imzalandığından emin olmanız gerekecek.
‫Bu konteynerlerin her ikisinin de aynı arama adına çözümlenmesini sağladıktan sonra, elasticsearch
‫sunucusunun hızlı bir çıktısını almak için curl komutunu kullanabilirsiniz.
‫Bu da elasticsearch ile ilgili küçük bir numara ve bu demoda kullanılmasının neden iyi olduğu. curl komutu aslında bir CentOS imajıyla
‫birlikte gelir.
‫Bu durumda Alpine ya da Ubuntu yerine CentOS kullanmak kolaydır ve ayrıca elasticsearch
‫9200 portunda çalışır.
‫Ve kolay, kısa bir JSON sonucu döndürdüğünden, bu test için hızlı ve kolaydır.
‫Ve son olarak elasticsearch aslında ilk başladığında yapılandırması içinde kendisine rastgele isimler
‫verir.
‫Bu, belirtmediğiniz takdirde konteynerlerin kendilerine rastgele isimler vermesine benzer.
‫Burada yapabileceğimiz şey, bu curl komutunu tekrar tekrar çalıştırmaya devam ederseniz,
‫aslında çıktının ... curl yapmak için aynı arama DNS adını kullanıyor olsanız bile... aslında iki farklı elasticsearch
‫konteyneri arasında gidip geleceksiniz.
‫Eşit olmayabilir.
‫Tam olarak önce biri, sonra diğeri, sonra ilki, sonra ikincisi olmayacak. Biraz sapma olacaktır, çünkü DNS round
‫robin'in dezavantajlarından biri de budur, gerçek bir yük dengeleyici değildir.
‫Ben buna fakir adamın düşük dengeleyicisi demeyi seviyorum.
‫Ancak bu durumda, aynı ada sahip birden fazla konteyneri kullanmayı kolaylaştırmak için yerleşik DNS ile sanal bir ağın nasıl
‫kullanılacağı konusunda size bir fikir verecektir.
‫Ve her zaman olduğu gibi, bir sonraki derse geçerek benim yapacağım şekilde nasıl ilerlediğimi izleyebilirsiniz.
‫Ancak biraz farklı komutlar yazarak veya konteynerlerinizi biraz farklı bir şekilde başlatarak aynı sonuca
‫ulaşabilirsiniz.