Jak skalować kontenery Docker w produkcji
Więc niedawno odkryłem to niesamowite narzędzie, i mówi
Docker jest projektem open-source, który pozwala łatwo tworzyć lekkie, przenośne, samowystarczalne pojemniki z każdej aplikacji. To samo kontener, który programista buduje i testuje na laptopie, może działać w skala, w produkcji, na maszynach wirtualnych, bare metal, klastry OpenStack, publiczne chmury i nie tylko.
Załóżmy, że mam obraz dokera, który działa Nginx i strona internetowa łączy się z zewnętrzną bazą danych. Jak skalować pojemnik w produkcji?
10 answers
Krótka odpowiedź jest taka, że musiałbyś napisać własną logikę, aby to zrobić.
Spodziewałbym się, że tego rodzaju funkcja pojawi się w następujących projektach, zbudowanych na bazie Dockera i zaprojektowanych do obsługi aplikacji w produkcji:
Update 1
Kolejny powiązany projekt i ostatnio odkryte:
Update 2
Najnowsza wersja Openstack zawiera wsparcie dla zarządzania kontenerami Dockera:
Update 3
System do zarządzania instancjami Dockera
Oraz prezentację jak używać narzędzi takich jak Packer , Docker i Serf do dostarczania immutable server infrastructure pattern
Update 4
Zgrabny artykuł o tym, jak połączyć kontenery dokera za pomocą serf :
Update 5
Uruchom Dockera na Mesos za pomocą Marathon framework
Mezosfera Docker Developer Tutorial
Update 6
Uruchom Docker na Tsuru ponieważ obsługuje Docker-cluster i segregowany scheduler deploy
Update 7
Docker-based environments orchestration
Update 8
Update 9
Google kubernetes
Update 10
Redhat zrefakturował OpenShift PAAS, aby zintegrować Dockera]}Update 11
Docker NodeJS lib owijanie wiersza poleceń Dockera i zarządzanie nim z pliku json.
Update 12
Nowa usługa kontenera Amazona umożliwia skalowanie w klastrze.
Update 13
Ściśle mówiąc Flocker nie "skaluje" aplikacji, ale ma za zadanie stworzyć powiązaną funkcję tworzenia kontenerów stanowych (uruchamianie usług baz danych?) przenośne na wielu hostach docker:
Update 14
Projekt tworzenia przenośnych szablonów opisujących aplikacje Docker:
Update 15
Projekt Docker jest teraz adresowany natywnie (Zobacz ogłoszenie )
Update 16
Zobacz też:
Update 17
Projekt Openstack ma teraz nowy projekt "container as a service" o nazwie Magnum:
Pokazuje wiele obietnic, umożliwia łatwą konfigurację frameworków orkiestracji Dockera, takich jak Kubernetes i Docker swarm.
Update 18
Rancher to projekt, który szybko dojrzewa
Ładny interfejs użytkownika i silny nacisk na infrastrukturę hyrbrid Docker
Update 19
Projekt krata jest odgałęzieniem chmury Odlewnia do zarządzania klastrami kontenerowymi.
Update 20
Docker ostatnio kupił Tutum:
Update 21
Menedżer pakietów dla aplikacji wdrożonych na Kubernetes .
Update 22
Vamp jest platformą open source i self-hostowaną do zarządzania (mikro)architekturami zorientowanymi na usługi, które opierają się na technologii kontenerów.
Update 23
Rozproszony, Wysoce Dostępny Scheduler Obsługujący Centrum Danych
Od facetów, którzy dali nam włóczęgę i inne potężne narzędzia.
Update 24
Rozwiązanie Container hosting dla AWS, open source i oparte na Kubernetes
Update 25
Apache Mesos based container hosting w Niemczech
Https://sloppy.io/features/#features
I Docker Inc. zapewnia również usługę hostingu kontenerów o nazwie Docker cloud
Update 26
Jelastic {[7] } to hostowana usługa PAAS, która automatycznie skaluje kontenery.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-06 15:34:46
Deis automatyzuje skalowanie kontenerów Docker (między innymi).
Deis (wymawiane DAY-iss) jest open source PaaS, który ułatwia wdrażanie i zarządzanie aplikacjami na własnych serwerach. Deis opiera się na Dockeri CoreOS, aby zapewnić lekki system PaaS z przepływem pracy inspirowanym Heroku.Oto przebieg pracy programisty:
deis create myapp # create a new deis app called "myapp"
git push deis master # built with a buildpack or dockerfile
deis scale web=16 worker=4 # scale up docker containers
Deis automatycznie wdraża kontenery Docker w klastrze CoreOS i konfiguruje Nginx routery do kierowania żądań do zdrowych kontenerów Docker. Jeśli host umrze, kontenery zostaną automatycznie uruchomione ponownie na innym hoście w ciągu kilku sekund. Po prostu przejdź do adresu URL serwera proxy lub użyj deis open
, aby trafić w swoją aplikację.
Inne przydatne polecenia:
deis config:set DATABASE_URL= # attach to a database w/ an envvar
deis run make test # run ephemeral containers for one-off tasks
deis logs # get aggregated logs for troubleshooting
deis rollback v23 # rollback to a prior release
Aby zobaczyć to w akcji, sprawdź wideo terminala na http://deis.io/overview/. Możesz również dowiedzieć się o koncepcjach Deis lub przejść od razu do wdrażania własnych prywatnych PaaS.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-28 15:59:57
Zobacz Rancher.com - może zarządzać wieloma hostami Docker i wiele więcej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-16 00:05:05
Możesz spróbować Tsuru. Tsuru jest opensource PaaS inspirowane w Heroku, i jest już z niektórych produktów w produkcji w Globo.com(internetowe ramię największej firmy telewizyjnej w Brazylii)
Zarządza całym przepływem aplikacji, od tworzenia kontenerów, wdrażania, routingu (z hipache) z wieloma ciekawymi funkcjami, takimi jak klaster docker, skalowanie jednostek, rozdzielone wdrożenie itp.
Zajrzyj do naszej dokumentacji bellow: http://docs.tsuru.io/
Tutaj nasz post dotyczący naszego środowiska: http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-07 15:36:04
Sensownym podejściem do skalowania Dockera może być:
- każda usługa będzie Docker kontenerem
- Intra Container Service discovery zarządzane przez łącza ( nowa funkcja z Dockera 0.6.5)
- kontenery będą rozmieszczone przez Dokku
- aplikacje będą zarządzane przez Stocznię , która z kolei korzysta z hipache
Kolejny Docker open source project z Yandex:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-02 08:28:39
Chłopaki z Openshift również stworzyli projekt. Więcej informacji znajdziesz tutaj , wypróbuj Pojemnik testowy i szczegółowe informacje tutaj. Jedynym problemem jest rozwiązanie na razie Redhat centric:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-19 10:55:20
While we ' re big fans of Deis (deis.io) i aktywnie wdrażają do niego, istnieją inne rozwiązania wdrożeniowe w stylu Heroku, takie jak PaaS, w tym:
Longshoreman z Wayfinder:
Https://github.com/longshoreman/longshoreman
Decker from the CloudCredo folks, using CloudFoundry:
Http://www.cloudcredo.com/decker-docker-cloud-foundry/
Jeśli chodzi o prostą aranżację, to opensource Centurion NewRelic projekt wydaje się całkiem obiecujący:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-25 18:07:41
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-01 12:37:19
Panamax: Zarządzanie Dokerami dla ludzi. panamax.io
Rys.: szybkie, izolowane Środowiska programistyczne z użyciem Dockera. fig.sh
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-05 21:37:24
Jedną z opcji nie wymienionych w innych postach jest Helios. Jest zbudowany przez spotify i nie stara się robić zbyt wiele.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-24 20:02:29