Step By Step Guide For käyttöönotto ja hallinta PHP Application On ikkunasta LAMP, LAPP, ja LAOP Stacks
Juosta ja hallita 9 PHP sovellus malleja (LAMP, LAPP, ja LAOP Stacks) tässä projektissa 13. eri pilviä ja virtualisointialustoja (mukaan lukien vSphere, OpenStack, AWS, Rackspace, Microsoft Azure, Google Compute Engine, DigitalOcean, IBM SoftLayer, jne.), varmista, että olet joko:
Muokkaa & Run tahansa julkaistun Docker PHP sovellus malleja (mukaan lukien LAMP, LAPP, ja LAOP Stacks) ja monet muut mallit (mukaan lukien Monikerroksisiin Java pinoja, Mongo Replica Set Cluster, Drupal, Wordpress, MEAN.JS jne )
Tausta
Containerizing yrityssovellusten on edelleen haaste lähinnä koska nykyiset sovelluksen kokoonpano kehyksiä ei käsitellä monimutkaisia riippuvuuksia, ulkoinen integraatiosta tai automaattinen skaalaus työnkulkuja post-säännöstä. Lisäksi lyhytaikaisten suunnittelu konttien tarkoitti, että kehittäjät piti käynnistyä uusiin astioihin ja luoda uudelleen monimutkainen riippuvuuksia ja ulkoinen integraatiot jokaisen version päivityksen.
DCHQ, saatavilla isännöi ja on-oletuksesta versiot, käsitellään kaikkia näitä haasteita ja yksinkertaistaa containerization yrityssovelluksia kautta kehittynyt sovellus sävellys varten, joka ulottuu ikkunasta Luo rajat kuva ympäristömuuttuja siteet, laajennettavissa BASH kirjoitus laajennuksia, jotka voivat olla vedotaan pyynnöstä aika tai post-säännöksen, ja hakemus klustereiden korkean käytettävyyden useiden isäntien tai alueita tukee automaattista skaalaus.
Kun hakemus on varauksia, käyttäjä voi seurata suorittimen, muistin, & I / O käynnissä konttien, saada ilmoituksia ja hälytyksiä, ja pääset sovellus varmuuskopioita, automaattinen asteikko in / out työnkulkuja, ja plug-in suorituksen työnkulkuja päivittää käynnissä kontteja. Lisäksi automatisoitu "App Run" avulla käyttäjät voivat integroida Continuous Integration työnkulkuja ajoittaa käyttöönoton konttien niiden öisin rakentaa tai kun muutoksia on sulautettu GitHub.
Aiemmissa blogit, osoitimme end-to-end käyttöönoton automatisointiin eri Java-sovelluksia (kuten Pizza Shop ja Movie Store sovellukset) on moniportainen Docker-pohjainen sovellus pinot yli 13 erilaista pilvet & virtualisointialustoja. Kattava luettelo näistä blogeja, voit vierailla tällä sivulla: http://dchq.co/docker-java-applications.html
Kuitenkin monet käyttäjät ovat edelleen sekava joitakin keskeisiä näkökohtia sovelluksen mallinnus. Näitä kysymyksiä ovat:
Vastatakseen näihin kysymyksiin, loimme näyte "Nimet Directory" PHP sovellus tässä GitHub hanke, joka voidaan ottaa käyttöön seuraavilla sovellus pinot:
Tässä projektissa, annamme askel-askeleelta opas konfigurointiin, käyttöönoton ja hallinnan tämän PHP sovellus käyttää eri sovellus pinot ja eri pilvi / virtuaalisen infrastruktuurin.
Me kattaa:
Määrittäminen config.php PHP Application
Voit kopioida tämän näyte "Names Directory" PHP sovelluksen GitHub.
Tämä on tärkein askel "Dockerizing" PHP-sovellus. Jotta hyödyntää ympäristömuuttujat voi kulkea juostessa säiliöitä, sinun täytyy varmistaa, että sovellus on määritetty niin, että voit muuttaa tiettyjä ominaisuuksia pyynnöstä aikaan - kuten:
Tämän saavuttamiseksi, sinun täytyy ensin määrittää config.php .
Huomaat, että tiettyyn tietojen lähde ominaisuuksia viittaamalla seuraaviin ympäristömuuttujia jotka välitetään pyynnöstä aikaan:
Alustetaan tietokannasta PHP Application
Suosittelemme yleensä alustetaan tietokantakaavan osana PHP sovellusten käyttöönotto itse. Näin sinun ei tarvitse huolehtia ylläpidosta erillistä SQL-tiedostoja, jotka on toteutettu tietokantaan erikseen.
Jos kuitenkin on jo nuo SQL tiedostot ja silti mieluummin suorittamalla ne tietokantaan erikseen - niin DCHQ voi auttaa automatisoimaan tätä prosessia sen plug-in puitteissa. Voit viitata tähän osio lisätietoja.
Jotta sisällyttää SQL skriptit luoda tietokannan taulukoiden PHP sovellus, sinun täytyy määrittää Persistence.php tiedosto asuttamaan tietokantaan käyttäen erilaisia SQL (riippuen käytetty tietokanta). PopulateDatabase () funktio toimii MySQL, PostgreSQL ja Oracle.
Rakennettaessa Docker Kuva PHP: 5.6-Apache
Kun PHP sovellus on määritetty, sinun tarvitsee vain luoda Docker kuvan kanssa PHP.
Kun olet kirjautunut sisään DCHQ (joko isännöi DCHQ.io tai yrityksen tiloissa versio), käyttäjä voi navigoida Image Build ja napsauta + painiketta luoda uuden Dockerfile (Git / GitHub / BitBucket) kuva rakentaa.
Anna tarvittavat arvot seuraavasti:
Kun tarvittavat kentät on täytetty, käyttäjä voi napsauttaa Tallenna .
Käyttäjä voi sitten klikata Play Button rakentaa Docker kuva on-demand.
Tässä on todellinen Dockerfile tarkoitus rakentaa tämän Docker kuva tästä GitHub arkistosta:
Building the YAML-pohjainen sovellus malleja, joita käytetään uudelleen kaikissa Linux Host Running Anywhere
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 9 sovellusmalleja käyttämällä virallisia kuvia Docker Hub samasta "Names Directory" PHP sovellus - mutta eri sovelluspalvelimet ja tietokantoja.
Mallit sisältävät esimerkkejä seuraavista hakemuksen pinot (saman PHP sovellus):
Ympäristö Muuttuva siteet Across Images
Lisäksi käyttäjä voi luoda rajat kuva ympäristömuuttujan siteet tekemällä viittauksella toiseen kuvan ympäristömuuttuja. Tässä tapauksessa olemme tehneet useita sidokset - kuten DB_HOST = {{MySQL | container_private_ip}} - jossa tietokannassa säiliö IP ratkaistaan dynaamisesti pyynnöstä aikaa ja käytetään varmistamaan, että Apache-PHP palvelin voi muodostaa yhteyden tietokanta.
Tässä on luettelo tuetuista ympäristömuuttujan arvoihin:
LAMP Stack (Linux-Apache-MySQL-PHP)LAPP Stack (Linux-Apache-PostgreSQL-PHP)LAOP Stack (Linux-Apache-Oracle-PHP)LAMP Stack (3-Tier nginx-PHP-MySQL)LAPP Stack (3-Tier nginx-PHP-PostgreSQL)LAOP Stack (3-Tier nginx-PHP-Oracle-XE)LAMP Stack (3-Tier ApacheHTTP-PHP-MySQL)LAPP Stack (3-Tier ApacheHTTP-PHP-PostgreSQL)LAOP Stack (3-Tier ApacheHTTP-PHP-Oracle-XE)Vetoaminen A-Plug-In alustaa Database erikseen satamatyöntekijänä LAMP Stack
Suosittelemme alustetaan tietokantakaavan osana PHP sovellusten käyttöönotto itse. Jos kuitenkin vielä mieluummin suorittamista SQL tiedostot tietokantaan erikseen - niin DCHQ voi auttaa automatisoimaan tätä prosessia sen plug-in puitteissa.
Tässä esimerkissä, MySQL tässä LAMP pinon vetoaa bash script plug-in suorittamaan populate.sql tiedosto. Bash script plug-in luotiin siirtymällä Laajennukset ja näyttää suunnilleen tältä:
Tässä BASH kirjoitus plug-in, $ MYSQL_USER , $ MYSQL_ROOT_PASSWORD , ja $ MYSQL_DATABASE ovat ympäristömuuttujia, jotka siirretään pyynnöstä aikaan.
$ file_url on overrideable argumentti, jonka voit määrittää luotaessa plug-in tai pyytäessään sovellus. Tämä on URL-osoitteen populate.sql tiedostoa.
Provisioning & Auto-skaalaus olevaa infrastruktuuria rajoittamattomaan Cloud
Kun hakemus on tallennettu, käyttäjä voi rekisteröidä Cloud Provider automatisoida provisioinnin ja automaattinen skaalaus klustereiden 12. eri cloud päätepisteiden kuten VMware vSphere, OpenStack, CloudStack, Amazon Web Services, Rackspace, Microsoft Azure, DigitalOcean, 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 Rackspace Cloud Ohjauspaneeli.
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. Auto-Scale Policy voi esimerkiksi asettaa enimmäismäärä VM: n (tai Cloud palvelimet) 10.
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 .
Tässä mallin pyytämiseksi 4GB Cloud Server.
Tuettu parametrit Machine Luo mallin voidaan tiivistää seuraavasti:
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 Multi-Tier PHP sovellus Rackspace Cluster
Kun Cloud Palvelimet ovat varauksia, käyttäjä voi ottaa käyttöön moniportainen, satamatyöläinen-pohjainen PHP sovelluksia uuden Cloud palvelimet. Tämä voidaan tehdä siirtymällä itsepalvelukonsolin Kirjasto ja sitten klikkaamalla Muokkaa pyytää Monikerroksisiin sovellus.
Käyttäjä voi valita Environment Tag (kuten DEV tai QE) ja Rackspace Cluster luotu ennen klikkaamalla Run.
Pääsy In-selain terminaalin Running Containers
Komento kehotekuvakkeen pitäisi olla saatavilla vieressä konttien "nimet Live sovellukset -sivulla. Näin käyttäjät voivat syöttää säiliöön käyttämällä suojattua kommunikointiprotokolla välittäjän kautta viestin jonoon. Valkoinen luettelo komennoista voidaan määritellä Vuokralainen Admin varmistaa, että käyttäjät eivät tee mitään haitallisia muutoksia ajettavalla säiliöihin.
Jotta PHP käyttöönottoa esimerkiksi käytimme komentorivi varmistaa, että PHP on todellakin alle / var / www / html / hakemistoon.
Seuranta CPU, muisti & I / O käyttöaste Running Containers
Kun sovellus on käynnissä, meidän kehittäjät seurata suorittimen, muistin, & I / O käynnissä konttien saada ilmoituksen, kun nämä mittarit ylittää ennalta määritellyn kynnysarvon. Tämä on erityisen hyödyllistä, kun meidän kehittäjät suorittamaan toiminnallista ja kuormitustestauksen.
Käyttäjä voi suorittaa historiallinen seuranta analyysi ja korreloivat asioita säiliöön päivitykset tai rakentaa käyttöönottoja. Tämä voidaan tehdä klikkaamalla Actions valikossa käynnissä olevassa sovelluksessa ja sitten Monitoring . Muokattu ajanjakso voidaan valita tarkastella suorittimen, muistin ja I / O-historiallisesti.
Ottaminen Jatkuva Integration automatisoidulla App Run
Kehittäjille haluaa seurata "muuttumaton" konttien palauttamalla Docker kuvien sisältää ohjelman koodi ja spinning uusia säiliöihin jokaisen sovelluksen päivitys, DCHQ tarjoaa automaattisen kuvan rakentaa ja automatisoitu sovellus ajaa ominaisuuksia, joiden avulla kehittäjät voivat luoda automaattisesti Docker kuvia Dockerfiles tai yksityisten GitHub sisältäviä projekteja Dockerfiles, ja sitten spin ylös täysi LAMP pinoja käyttämällä uusinta kuvien ajoittamalla sovelluksen käyttöönotto ja muokkaamalla sovelluksen vuokrasopimuksen.
Kuten selitetään Docker kuvan rakentaa osassa , käyttäjä voi ajastaa kaksi rinnakkaista rakentaa varten PHP kuva (joka on perusta php: 5,6-apache ).
Käyttäjä voi navigoida Image rakentaa ja napsauta + painiketta luoda uuden "Automated App Run" politiikkaa. Käyttäjä voi sitten täydellinen vaaditut kentät - kuten:
Skaalaus Menneet PHP Application
Jos käynnissä sovellus tulee rajalliset resurssit, käyttäjä voi skaalata ulos sovelluksen vastaamaan kasvavaan kuormitusta. Lisäksi käyttäjä voi ajastaa asteikon aikana työaikana ja mittakaavassa viikonloppuisin esimerkiksi.
Jos haluat skaalata ulos klusterin PHP konttien 1-2, käyttäjä voi klikata Toiminnot valikossa käynnissä olevassa sovelluksessa ja valitse Scale Out . Käyttäjä voi sitten määritellä uusi koko klusterin ja sitten Suorita nyt .
Sitten käytetään BASH plug-in päivittää Apache n httpd.conf tiedosto niin, että se on tietoinen uuden sovelluspalvelimen lisätty. Bash script laajennukset voidaan myös suunniteltu mukautumaan käyttötapauksia kuten puhdistusta tukkeja tai päivittämisestä kokoonpanoilla määritelty taajuuksilla.
Toteuttaaksesi plug-in on käynnissä säiliössä, käyttäjä voi klikata Toiminnot valikosta käynnissä sovelluksesta ja valitse Plug-ins . Käyttäjä voi sitten valita kuormantasaajana (Apache) kontti, etsi plug-in, joka on suoritettu, jotta säiliö uudelleenkäynnistyksen avulla vaihtopainike. Oletuksena perustelu tälle plug-in dynaamisesti ratkaise kaikkia säiliön IP: n on käynnissä PHP säiliöt ja lisää ne osana httpd.conf tiedosto.
Hakemus aika-linja on saatavilla seurata jokainen muutos tehty hakemuksen tarkastuksen ja diagnostiikka. Tämä pääsee laajennettavan valikosta sivun alareunassa on käynnissä olevassa sovelluksessa.
Hälytykset ja ilmoitukset ovat käytettävissä, kun säiliöitä tai isännät ovat alas tai kun CPU ja muistin käyttö joko isäntien tai kontit ylittävät tietyn vähimmäismäärän.
johtopäätös
Containerizing yritys PHP sovelluksia on edelleen haaste lähinnä koska nykyiset sovelluksen kokoonpano kehyksiä ei käsitellä monimutkaisia riippuvuuksia, ulkoinen integraatiosta tai automaattinen skaalaus työnkulkuja post-säännöstä.
DCHQ, saatavilla isännöi ja on-oletuksesta versiot, käsitellään kaikkia näitä haasteita ja yksinkertaistaa containerization Laitoksen PHP sovelluksia ennakkoa sovelluksen kokoonpano puitteet, jotka helpottavat rajat kuva ympäristömuuttuja siteet, laajennettavissa BASH kirjoitus laajennuksia, jotka voidaan käynnistää osoitteessa pyytää aika tai post-säännöksen, ja hakemus klustereiden korkean käytettävyyden useiden isäntien tai alueita tukee automaattista skaalaus.
päästä käsiksi out-of-box moniportainen PHPapplication malleja sekä sovelluksen elinkaaren hallinnan toimintoja, kuten seuranta, kontti päivityksiä, asteikko in / out ja jatkuva toimitus.
|
Saturday, 16 April 2016
A Step By Step Guide For Deploying & Managing A PHP Application On Docker LAMP, LAPP, And LAOP Stacks
Labels:
Finnish
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment