Tämä on toinen blogi 2-blogi sarja noin skaalautuvuus DCHQ alustalla käyttäen kutoa kuin taustalla verkkokerroksen. Ensimmäinen blogi kattoi käyttöönoton 10000 konttien 10. kutoa Clusters, joilla kullakin 3 Cloud palvelimet Rackspace 4 Gt muistia ja 2 suorittimia.
Tässä blogissa, me kattaa käyttöönoton 2000 kontit - vaan käyttää 10 klustereiden 3 pilvi palvelimia kukin, meillä on käyttää yhden Weave klusterin 30 pilvi palvelimia . DCHQ paitsi automatisoi sovelluksen käyttöönoton ja hallinnan, mutta se myös automatisoi infrastruktuurin tarjoamiseen ja automaattinen skaalaus 13 eri pilviä ja virtualisointialustoja. Lue lisää tästä skaalautuvuus testin tässä blogissa.
Tausta
Vaikka sovellus siirrettävyys (eli mahdollisuutta toimittaa samaa sovellusta tahansa Linux isäntä) on edelleen johtava kuljettaja antamisen Linux Kontit, toinen keskeinen etuja on mahdollisuus optimoida palvelinten käyttöastetta , jotta voit käyttää kaikki vähän laskea. Tietenkin, alkupään ympäristöissä, kuten PROD, et voi haluta panostaa enemmän kuin tarpeeksi CPU ja muisti työtaakkaasi - mutta DEV / testiympäristöjen, jotka tyypillisesti muodostavat enemmistön laskea resurssien kulutuksen organisaatiossa, optimoimalla palvelinten käyttöastetta voidaan johtavat merkittäviin kustannussäästöihin.
Tämä kaikki kuulostaa hyvältä paperilla - mutta DevOps insinöörit ja infrastruktuurin toimijoiden kamppailevat vielä seuraaviin kysymyksiin:
- Miten voin työryhmäpalvelimet eri pilviä klustereiksi että karttaa liiketoimintaryhmissä, kehitys joukkueet, tai sovellus projekteja?
- Miten seurata näitä klustereita ja saada käsityksen resurssien kulutus eri ryhmiä tai käyttäjiä?
- Miten asentaa verkkoyhteys poikki palvelimien klusteri jotta säiliöt useille isännät voivat kommunikoida toistensa kanssa?
- Miten määritellä omaa kapasiteettia-pohjainen sijoitus politiikkaa, jotta voin käyttää kaiken mahdollisen laskea klusterissa?
- Miten automaattisesti skaalata ulos klusterin vaatimuksiin kehittäjät uusille kontti-pohjainen sovellus käyttöönotot?
DCHQ, saatavilla isännöi ja on-oletuksesta versiot, käsitellään kaikkia näitä haasteita ja tarjoaa pisimmällä infrastruktuurin tarjoamiseen, automaattinen skaalaus, klustereiden ja sijoittaminen ehdot infrastruktuurin toimijoiden tai DevOps insinöörejä.
- Käyttäjä voi rekisteröidä Linux isäntä käynnissä kaikkialla ajamalla automaattisesti luotu skripti asentaa DCHQ edustajan sekä ikkunan ja ohjelmisto-määriteltyjen verkottumisen kerros (valinnainen). Tämä tehtävä voidaan automatisoida ohjelmallisesti käyttämällä REST API luomiseen "ikkunasta Servers" ( https://dchq.readme.io/docs/dockerservers )
- Vaihtoehtoisesti DCHQ integroituu 13 pilvi tarjoajat, jonka avulla käyttäjät voivat automaattisesti käynnistyä virtuaalisen infrastruktuurin vSphere, OpenStack, CloudStack, Amazonin Elastic Cloud Computing, Google Compute Engine, Rackspace, DigitalOcean, SoftLayer, Microsoft Azure, ja monet muut.
Rakennus Sovellus Template For nginx Cluster
Kun olet kirjautunut sisään DCHQ (joko isännöi DCHQ.io tai yrityksen tiloissa versio), käyttäjä voi navigoida App & Machine ja napsauta + painiketta luoda uuden Docker Luo malliin.
Olemme luoneet yksinkertaisen Nginx Cluster vuoksi tämän skaalautuvuus testin. Huomaat, että CLUSTER_SIZE parametrin avulla voit määrittää konttien määrä käynnistää (samalla sovelluksen riippuvuudet).
Mem_min parametri mahdollistaa specifcy vähimmäismäärä Memory haluaisit jakaa säiliöön.
Isäntä parametri voit määrittää isännän haluat käyttää kontti asennuksia. Näin voit varmistaa korkean käytettävyyden hakemuksesi palvelinklustereille eri isännät (tai alueet) ja voit noudattaa affiniteetilla sääntöjä, joilla varmistetaan, että tietokanta toimii erillisessä isäntä esimerkiksi. Tässä ovat arvoja tuettu isäntä parametrin:
- palvelimen1, host2, host3 jne - valitsee isäntä satunnaisesti sisällä data-keskus (tai cluster) konttien asennuksia
- <IP-osoite 1, IP-osoite 2 jne> - sallii käyttäjän määrittää todellinen IP-osoitteiden käyttöä varten kontti asennuksia
- <Hostname 1, Hostname 2, jne> - sallii käyttäjän määrittää todellinen isäntänimien käyttää konttien asennuksia
- Jäkerimerkit (esimerkiksi "DB-*", tai "app-srv- *") - Määritä yleismerkkejä käyttää sisällä hostname
Provisioning olevaa infrastruktuuria rajoittamattomaan Cloud
Kun hakemus on tallennettu, käyttäjä voi rekisteröidä Cloud Provider automatisoida provisioinnin ja automaattinen skaalaus klustereiden 13 erilaista cloud päätepisteiden lukien vSphere, OpenStack, CloudStack, Amazon Web Services, Rackspace, Microsoft Azure, DigitalOcean, HP Public pilvi, IBM SoftLayer, Google Compute Engine, ja monet muut.
Ensin käyttäjä voi rekisteröidä Cloud Provider Rackspace (esimerkiksi) siirtymällä Cloud Providers ja sitten napsauttamalla + painiketta valitaksesi Rackspace. Rackspace API avain on annettava - jota voidaan hakea Tilin asetukset osiossa.
Käyttäjä voi sitten luoda klusterin, jossa on automaattinen mittakaavan politiikkaa automaattisesti spin uusia Cloud palvelimet. Tämä voidaan tehdä siirtymällä klusterit sivulle ja sitten napsauttamalla + -painiketta. Voit valita kapasiteetti-pohjainen sijoitus politiikka ja sitten Pujotella kuten verkottumista kerros helpottamiseksi turvallisen, salasanalla suojattu rajat kontti viestintä useiden isäntien sisällä klusterin. Tässä tapauksessa meillä on myös määritelty automaattisen mittakaavan politiikkaa, joka automaattisesti spin ylös pilvi palvelimia tässä ryhmässä jopa määrittämän maksimiarvo (tässä tapauksessa 30 pilvi palvelimet). Rakeinen oikeudet eivät käytettävissä varmistaa, että tämä klusteri voidaan käyttää 10 käyttäjät käytämme tässä testissä (user1@dchq.io, user2@dchq.io, ..., user10@dchq.io). Lopuksi tukioikeuksia voidaan määritellä suunnitelma (tai sovellus template) taso - varmistaa, että vain oikeutetulle sovelluksia voidaan ottaa käyttöön tämän yhteisen klusterin. Tällöin klusterin oli avoin "All Blueprints".
Käyttäjä voi nyt säännöstä useita Cloud Palvelimet juuri luodun klusterin joko UI-työnkulku tai määrittelemällä yksinkertaisen YAML-pohjainen kone Luo malli, jota voi tiedustella Self-Service Library.
UI-pohjainen työnkulku - Käyttäjä voi pyytää Rackspace Cloud Palvelimet siirtymällä Koneet ja sitten napsauttamalla + painiketta valitaksesi Rackspace . Kun Cloud Provider on valittu, käyttäjä voi valita alueen, koon ja kuvan tarvitaan. Portit avataan oletusarvoisesti Rackspace Cloud palvelimet mahtuu joitakin sataman vaatimuksia (esim 32000-59000 varten ikkunasta, 6783 ja kutoa, ja 5672 varten RabbitMQ). Klusteri jälkeen valitaan ja kuinka monta Cloud Palvelimet voidaan määrittää.
YAML-pohjainen Machine Luo Template - Käyttäjä voi luoda ensin Machine Luo mallin Rackspace siirtymällä Koneet ja valitsemalla sitten Machine Luo .
Tuettu parametrit Machine Luo mallin voidaan tiivistää seuraavasti:
- Kuvaus : kuvaus suunnitelma / template
- instanceType : Cloud tarjoaja tietyn arvon (esim general1-4)
- alue : Cloud tarjoaja tietyn arvon (esim IAD)
- image : Pakollinen - täysin pätevä image ID / nimi (esim IAD / 5ed162cc-b4eb-4371-b24a-a0ae73376c73 tai vSphere VM Mallin nimi)
- käyttäjätunnus : Valinnainen - vain vSphere VM malli käyttäjätunnus
- salasana : Valinnainen - vain vSphere VM malli salattu salasana. Voit salata salasana päätepisteen https://www.dchq.io/#/encrypt
- verkko : Valinnainen - Cloud tarjoaja tietyn arvon (esim oletus)
- securityGroup : Cloud tarjoaja tietyn arvon (esim dchq-turvallisuus-ryhmä)
- Avainsanapari : Cloud tarjoaja tietyn arvon (esim yksityinen avain)
- openPorts : Valinnainen - pilkulla erotetut porttiarvot
- count : Total ei VM: n, oletuksena 1.
Kun kone Luo pohja on tallennettu, käyttäjä voi pyytää tämän koneen päässä Self-Service Library . Käyttäjä voi napsauttaa Muokkaa ja valitse Cloud Provider ja Cluster käyttää provisiointiohjelmistojen näitä Rackspace Cloud palvelimet.
Käyttöönotto nginx Cluster Ohjelmallisesti käyttäminen DCHQ REST API
Kun Cloud Palvelimet ovat varauksia, käyttäjä voi asentaa nginx klusterin ohjelmallisesti käyttämällä DCHQ REST API. Yksinkertaistamaan käytön API, käyttäjän täytyy valita klusterin luotu aiemmin oletukseksi klusteri. Tämä voidaan tehdä siirtymällä Oma profiili ja valitsemalla oletus klusterin tarvitaan.
Kun oletuksena klusteri on valittu, käyttäjä voi yksinkertaisesti suorittaa seuraavat kiemura skripti, joka vetoaa "käyttöön" API ( https://dchq.readme.io/docs/deployid ).
Tässä yksinkertainen kiemura kirjoitus, meillä on seuraava:
- A silmukka, 1-20
- Jokaisen iteraation olemme käyttöönotossa ryhmittyneet Nginx käyttävä sovellus oletuksena klusterin määritetty user1@dchq.io~~V
- user1% 40dchq.io käytetään user1@dchq.io jossa @ -merkki on korvattu hex% 40
- @ Välinen salasana & isäntä ei korvata hex
- <id> viittaa nginx klusterin sovelluksen tunnus. Tämä voidaan hakea siirtymällä Kirjasto > Muokkaa varten Nginx klusterin. Tunnus tulisi olla URL
- uni 22 välillä käytetään jokaisen iteraation
- Suorittamisen jälkeen kirjoitus, 200 nginx kontteja olisi toteuttama user1@dchq.io - 20 toistojen käyttöön Euroopan Nginx klusterin 10 konttia.
Sitten toistetaan sama prosessi muiden käyttäjien (user2@dchq.io, user3@dchq.io, ..., user10@dchq.io) - kaikki käyttöön samaan jaetun klusterin.
Voit kokeilla tätä kiemura kirjoitus itse. Voit joko asentaa DCHQ-Premise ( http://dchq.co/dchq-on-premise.html ) tai rekisteröityvät DCHQ.io Hosted PaaS ( http://dchq.io ).
Seuranta CPU, muisti & I / O käyttöaste Cluster, palvelimet & Running Containers
DCHQ avulla käyttäjät voivat seurata suorittimen, muistin, levy ja I / O klustereiden, isännät ja kontteja.
- Valvomaan klustereita, voit vain navigoida Clusters
- Voit seurata isännät, voit vain navigoida Machines
- Valvomaan kontteja, voit vain navigoida elää Sovellukset
Me seurata suorituskykyä isännät ja klusterin ennen ja jälkeen aloitimme 2000 kontteja.
Sen jälkeen spinning up 2,000 säiliöihin, olemme kuvakaappauksia suorituskyvyn kaavioita klusterin. Voit nähdä, että yhteenlaskettu muistin käyttö tasaisesti 30 pilvi palvelimia klusteriin oli 81% .
Voit nähdä, että korkein muistin käyttöasteen yli 30 pilvi palvelimia klusteriin oli 84% .
Kun porataan yksi 30 isäntien klusterissa ja näin enemmän yksityiskohtia kuin # konttien käynnissä että erityisesti isäntä, kuvien määrää vedetty ja tietenkin, CPU / muisti / Disk hyödyntäminen. Tässä tapauksessa muistin käyttö on kyseisen isännän oli 83% .
Tässä on näkymä kaikki käynnissä 200 Nginx klustereita (jossa jokainen ryhmä oli 10 kontit).
johtopäätös
Orchestrating Docker-pohjainen sovellus käyttöönottoja on edelleen haaste monille DevOps insinöörien ja infrastruktuurin toimijoiden usein taistelu hallita altaat palvelimia useiden kehitystiimejä kun pääsy tarkastukset, seuranta, verkottuminen, kapasiteettiin perustuva sijoittaminen, automaattinen mittakaavassa out politiikkaa ja kiintiö ovat keskeisiä näkökohtia, jotka on määritetty.
DCHQ, saatavilla isännöi ja on-oletuksesta versiot, käsitellään kaikkia näitä haasteita ja tarjoaa pisimmällä infrastruktuurin tarjoamiseen, automaattinen skaalaus, klustereiden ja sijoittaminen ehdot infrastruktuurin toimijoiden tai DevOps insinöörejä.
Sen lisäksi, että kehittyneen infrastruktuurin tarjoamiseen ja klusterointi ominaisuudet, DCHQ yksinkertaistaa containerization yrityssovellusten avulla ennakkoa sovellus sävellys varten, joka ulottuu ikkunasta Luo rajat kuva ympäristömuuttuja siteet, laajennettavissa BASH kirjoitus laajennuksia, jotka voidaan vedota pyynnöstä aikaan tai post-säännöstä, ja hakemus klustereiden korkean käytettävyyden useiden isäntien tai alueita tukee automaattista skaalaus.
päästä käsiksi out-of-box Monikerroksisiin Java malleja sekä sovelluksen elinkaaren hallinnan toimintoja, kuten seuranta, kontti päivityksiä, asteikko in / out ja jatkuva toimitus.
No comments:
Post a Comment