KubOSM ile Kubernetesi CentOS 7de dağıtın
Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu
Docker Swarm, bireysel sunucularınızı bir bilgisayar kümesine dönüştürür; ölçeklendirme, yüksek kullanılabilirlik ve yük dengelemeyi kolaylaştırır. Swarm yük dengeleyici, bir yuvarlak devirli yük dengeleme stratejisi uygular ve bu, birden fazla örnekle yüksek kullanılabilir bir kuruluma izin vermek için bazı yapışkan oturumlar gerektiren (eski) durumlu uygulamaların doğru çalışmasını engelleyebilir. Docker Enterprise Edition, Layer-7 yapışkan oturumunu destekler, ancak bu kılavuzda Docker'ın ücretsiz (CE) sürümüne odaklanacağız. Yapışkan oturumlar uygulamak için Traefik kullanacağız.
sudo
hakları olan (isteğe bağlı ancak kök kullanıcıyı kullanmamanız önemle tavsiye edilir)Bu öğreticide, özel IP adresleri 192.168.0.100
ve olan iki Vultr örneği kullanacağız 192.168.0.101
. Her ikisi de Docker Swarm yönetici düğümleridir (bu üretim için ideal değildir, ancak bu eğitim için yeterlidir).
Bu eğitici, jwilder/whoami
docker görüntüsünü bir demo uygulaması olarak kullanır . Bu basit kapsayıcı, yanıt veren kapsayıcı adıyla bir REST çağrısına yanıt verecek ve bu da yapışkan oturumların çalışıp çalışmadığını test etmeyi çok kolay hale getirecektir. Bu resim yalnızca demo amaçlı olarak kullanılmaktadır ve yerine kendi uygulamanızın resmi geçmelidir.
Whoami hizmeti şu şekilde yapılandırılır:
sudo docker network create whoaminet -d overlay
sudo docker service create --name whoami-service --mode global --network whoaminet --publish "80:8000" jwilder/whoami
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
Daha sonra curl
whoami REST uç noktasını kullanırsak http://192.168.0.100/
, Docker Swarm'ın işte yuvarlak robin yük dengelemesini görebiliriz:
curl http://192.168.0.100
I'm a6a8c9294fc3
curl http://192.168.0.100
I'm ae9d1763b4ad
curl http://192.168.0.100
I'm a6a8c9294fc3
curl http://192.168.0.100
I'm ae9d1763b4ad
curl http://192.168.0.100
I'm a6a8c9294fc3
Bağlantıları canlı tutmak için tasarlandıkları için Chrome veya Firefox gibi modern tarayıcılarla bunu test etmenin bir faydası yoktur ve Docker Swarm yük dengeleyici her yeni bağlantıda yalnızca diğer kapsayıcıya geçer . Bunu bir tarayıcıyla test etmek isterseniz, tekrar yenilemeden önce bağlantının kapanması için en az 30 saniye beklemeniz gerekir.
Traefik, Docker Swarm'ı yerel olarak destekler, kapları anında algılayıp kaydedebilir veya kayıtlarını kaldırabilir ve dahili kaplama ağı üzerinden uygulamanızla iletişim kurabilir. Traefik, başvurularla ilgili istekleri işlemeye başlayabilmesi için başvurunuz hakkında bazı bilgilere ihtiyaç duyar. Bu bilgiler, Swarm hizmetinize etiket ekleyerek Traefik'e sağlanır:
sudo docker service update --label-add "traefik.docker.network=whoaminet" --label-add "traefik.port=8000" --label-add "traefik.frontend.rule=PathPrefix:/" --label-add "traefik.backend.loadbalancer.stickiness=true" whoami-service
Aşağıdaki listede her etiketin ne anlama geldiği açıklanmaktadır:
traefik.docker.network
: Traefik'in hizmetinizle iletişim kuracağı Docker yer paylaşımı ağı traefik.port
: Hizmetinizin dinlediği bağlantı noktası (bu, yayınlanan bağlantı noktası değil, dahili olarak açılan bağlantı noktasıdır)traefik.frontend.rule
: PathPrefix:/
bağlam kökünü ' /
' bu hizmete bağlartraefik.backend.loadbalancer.stickiness
: Bu hizmet için yapışkan oturumlar sağlarArtık whoami-service
gerekli etiketlerle yapılandırıldığına göre, Traefik hizmetini sürüye ekleyebiliriz:
sudo docker service create --name traefik -p8080:80 -p9090:8080 --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mode=global --constraint 'node.role == manager' --network whoaminet traefik --docker --docker.swarmmode --docker.watch --web --loglevel=DEBUG
Bu komut, aşağıdaki listede gösterildiği gibi, aynı anda birçok şey yapar:
--name traefik
: Yeni Docker hizmetimizin adı Traefik -p8080:80
: Biz Traefik limanını yayımlamak 80
portuna 8080
bağlantı noktası çünkü 80
bizim benkimim-servis tarafından zaten kullanılıyor-p9090:8080
: Traefik'in kendi web arayüzünü limana yayınlıyoruz 9090
--mount ...
: Traefik'in ana bilgisayarın Docker çalışma zamanına erişebilmesi için Docker Soketini kaba monte ediyoruz --global
: Yüksek kullanılabilirlik nedeniyle her yönetici düğümünde Traefik kapları istiyoruz --constraint 'node.role == manager'
: Traefik'in yalnızca yönetici düğümlerinde çalışmasını istiyoruz çünkü işçi düğümleri Traefik'e ihtiyaç duyduğu bilgileri sağlayamıyor. Örneğin, docker service ls
bir işçi düğümünde çalışmaz, bu nedenle Traefik hangi hizmetlerin çalıştığını bile bulamaz--network whoaminet
: Traefik'i bizimkiyle aynı ağa bağlayın whoami-service
, aksi takdirde bağlanamaz. Daha önce Traefik'e bu ağ üzerinden traefik.docker.network
etiketli servisimize bağlanmasını söylemiştiktraefik
: Docker'a bu hizmet için en son Traefik docker görüntüsünü kullanmasını söyleyin--docker --docker.swarmmode --docker.watch --web --loglevel=DEBUG
: Docker sürüsü modunda çalışmasına izin vermek için doğrudan Traefik'e iletilen komut satırı bağımsız değişkenleri. DEBUG
burada isteğe bağlıdır, ancak kurulum sırasında ilginçtir ve bu eğitim içinTek yapmanız gereken Debian güvenlik duvarında gerekli bağlantı noktalarını açmaktır:
sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 9090 -j ACCEPT
Traefik başlar başlamaz, günlüklerde Traefik'in iki whoami
kabı keşfettiğini görebilirsiniz . Ayrıca yapışkan oturumu işlemek için kullanacağı çerez adının çıktısını verir:
time="2018-11-25T13:17:30Z" level=debug msg="Configuration received from provider docker: {\"backends\":{\"backend-whoami-service\":{\"servers\":{\"server-whoami-service-1-a179b2e38a607b1127e5537c2e614b05\":{\"url\":\"http://10.0.0.5:8000\",\"weight\":1},\"server-whoami-service-2-df8a622478a5a709fcb23c50e689b5b6\":{\"url\":\"http://10.0.0.4:8000\",\"weight\":1}},\"loadBalancer\":{\"method\":\"wrr\",\"stickiness\":{}}}},\"frontends\":{\"frontend-PathPrefix-0\":{\"entryPoints\":[\"http\"],\"backend\":\"backend-whoami-service\",\"routes\":{\"route-frontend-PathPrefix-0\":{\"rule\":\"PathPrefix:/\"}},\"passHostHeader\":true,\"priority\":0,\"basicAuth\":null}}}"
time="2018-11-25T13:17:30Z" level=debug msg="Wiring frontend frontend-PathPrefix-0 to entryPoint http"
time="2018-11-25T13:17:30Z" level=debug msg="Creating backend backend-whoami-service"
time="2018-11-25T13:17:30Z" level=debug msg="Adding TLSClientHeaders middleware for frontend frontend-PathPrefix-0"
time="2018-11-25T13:17:30Z" level=debug msg="Creating load-balancer wrr"
time="2018-11-25T13:17:30Z" level=debug msg="Sticky session with cookie _a49bc"
time="2018-11-25T13:17:30Z" level=debug msg="Creating server server-whoami-service-1-a179b2e38a607b1127e5537c2e614b05 at http://10.0.0.5:8000 with weight 1"
time="2018-11-25T13:17:30Z" level=debug msg="Creating server server-whoami-service-2-df8a622478a5a709fcb23c50e689b5b6 at http://10.0.0.4:8000 with weight 1"
time="2018-11-25T13:17:30Z" level=debug msg="Creating route route-frontend-PathPrefix-0 PathPrefix:/"
time="2018-11-25T13:17:30Z" level=info msg="Server configuration reloaded on :80"
time="2018-11-25T13:17:30Z" level=info msg="Server configuration reloaded on :8080"
Biz kıvrılıp Eğer http://192.168.0.100:8080
yeni bir çerez, görebiliriz biz _a49bc
, belirlendi:
curl -v http://192.168.0.100:8080
* About to connect() to 192.168.0.100 port 8080 (#0)
* Trying 192.168.0.100...
* Connected to 192.168.0.100 (192.168.0.100) port 8080 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 192.168.0.100:8080
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 17
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 25 Nov 2018 13:18:40 GMT
< Set-Cookie: _a49bc=http://10.0.0.5:8000; Path=/
<
I'm a6a8c9294fc3
* Connection #0 to host 192.168.0.100 left intact
Sonraki aramalarda bu çerezi Traefik'e gönderirsek, her zaman aynı konteynere yönlendiriliriz:
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
Tanımlama bilgisi, Traefik'in istek için göndermesi gereken kapsayıcının dahili IP adresinden başka bir şey içermez. Çerez değerine değiştirirseniz http://10.0.0.4:8000
, istek etkin bir şekilde diğer kapsayıcıya yönlendirilir. Çerez asla Traefik'e tekrar gönderilmediyse, yapışkan oturum çalışmaz ve istekler uygulamanın kapları ile Traefik kapları arasında dengelenir.
Debian 9'da Docker CE'de Katman 7 Yapışkan Oturumları ayarlamak için gereken her şey budur.
Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu
Rancher OS, Docker etrafında inşa edilmiş çok hafif bir Linux dağıtımıdır. İşletim sisteminin kendisi yaklaşık 20 MB ağırlığında. Bu eğitici ile birlikte çalışmaya başlayacaksınız
Giriş Docker, kapsayıcı olarak çalıştırılan programları dağıtmamızı sağlayan bir uygulamadır. Popüler Go programlama dilinde yazılmıştır
Giriş Bu kılavuz, birden fazla Alpine Linux 3.9.0 sunucusu ve Portainer kullanarak bir Docker sürüsü oluşturmayı ve yapılandırmayı gösterecektir. Lütfen unutmayın
PHP uygulamaları genellikle bir web sunucusu, ilişkisel veritabanı sistemi ve dil yorumlayıcısının kendisinden oluşur. Bu derste leveragin olacağız
Farklı Bir Sistem mi Kullanıyorsunuz? Docker, sanal kapsayıcılara yazılım dağıtımına izin veren bir uygulamadır. Go programında yazıldı
Harbor, Docker görüntülerini depolayan ve dağıtan açık kaynaklı, kurumsal sınıf bir kayıt defteri sunucusudur. Liman, açık kaynaklı Docker Dağıtımını genişletiyor b
Bu makalede, docker-composeun CoreOSa nasıl yükleneceği açıklanmaktadır. CoreOSta / usr / klasörü değiştirilemez, bu nedenle standart / usr / local / bin yolu kullanılamaz.
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Rancher, konteynerleri çalıştırmak ve özel bir konteyner servisi oluşturmak için açık kaynaklı bir platformdur. Çiftlik temelidir
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Rancher, konteynerleri çalıştırmak ve özel bir konteyner servisi oluşturmak için açık kaynaklı bir platformdur. Çiftlik temelidir
Vultr Docker uygulamasının yardımıyla Dockerı Vultr sunucu örneğinize kolayca dağıtabilirsiniz. Bu arada, Docker yönetim görevini kolaylaştırabilirsiniz
Hepimiz uygulama kaplarını birden çok makineye oluşturmak, yönetmek ve dağıtmak için bir platform olan Dockerı biliyoruz ve seviyoruz. Docker Inc.
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sentry, hata izleme için açık kaynaklı bir çözümdür. Nöbetçi istisnaları ve diğer yararlı mesajları izler
Genel Bakış RancherOS, sistem hizmetlerini çalıştırmak için bir Docker arka plan programı PID 0 olarak çalıştıran inanılmaz derecede hafif bir işletim sistemidir (yalnızca yaklaşık 60 MB).
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Docker Swarm, bireysel sunucularınızı bir bilgisayar kümesine dönüştürerek ölçeklendirmeyi, yüksek kullanılabilirliği ve
Bu eğitimde Dockerı kullanmaya başlamanın temelleri açıklanmaktadır. Dockerın kurulu olduğunu varsayıyorum. Bu öğreticideki adımlar,
Bir web uygulaması çalıştırırken, yazılımınızı çoklu iş parçacığını kullanmak için dönüştürmek zorunda kalmadan normalde kaynaklarınızdan en iyi şekilde yararlanmak istersiniz.
Önkoşullar Docker motoru 1.8+. Minimum 4GB disk alanı. Minimum 4GB RAM. Adım 1. Dockerı yükleyin SQL-Serverı yüklemek için Docker mus
Bu makalede, Düğüm uygulamanızı bir Docker kapsayıcısında nasıl dağıtacağınız gösterilecektir. Not: Bu eğiticide Dockerın yüklü ve okunmuş olduğu varsayılmaktadır
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun