Cloud Commander is een module die scripts die u kunt gebruiken om snel te starten en te bouwen EC2 gevallen bevat.
Het doel van deze zaak is dat u aan de gespecialiseerde publiek AMI te vervangen door een script dat een vanilla OS installatie voor een specifieke dienst of taak configureert. Het voordeel is dat een script is agnostisch om de service provider en je zal niet vergeten hoe u de server opgebouwd als u een script om het te doen schreef.
Momenteel Cloud Commander ondersteunt alleen Amazon's cloud, maar de technieken moeten werken voor elke provider. Echter, men kan script servers in alle regio's configureren op Amazon's cloud, waardoor het een hel van een veel nuttiger dan een openbare AMI maakt. Ook kunt u om te starten en configureren van een vloot van gespecialiseerde gevallen bij een druk op de knop.
installatie
Om te beginnen, zal je git, python en setuptools nodig.
U kunt Cloud Commander uit pypi installeren met easy_install of pip. Of u kunt de bron te downloaden en te installeren met de hand. Ik zou aanraden het installeren van een virtualenv, maar het is helemaal optioneel.
Installeren:
& Nbsp; easy_install cloud_commander
of:
pip cloud_commander installeren
of:
& Nbsp; git clone https://github.com/newsapps/cloud-commander.git
& Nbsp; cd cloud-commander
& Nbsp; python setup.py installeren
Instellingen
Oke, je hebt de commandant geïnstalleerd nu laat de slag te gaan.
Maak een nieuw project directory ergens:
cd ~
cloud-commandant setup my_servers
De commandant zal een directory structuur vol recepten te trekken van een centrale git repository en vraagt u om verschillende stukjes informatie die het nodig heeft om te communiceren met Amazon Web Services.
Je bent al klaar om een aantal servers te lanceren!
Een paar andere dingen met betrekking tot de configuratie:
Recepten gaat op zoek naar private sleutels in uw my_servers / activa directory, alle bestanden die eindigen op .pem. Recepten zal ook kijken naar known_hosts en authorized_keys bestanden in de map assets. Indien gevonden, zal het deze bestanden worden toegevoegd aan de nieuwe exemplaren.
De lancering van servers
Schakel uw project directory:
cd my_servers
cloud-commandant start newsapps-kitchensink
Dat is alles wat er is het! Wat gevallen worden genoemd in de newsapps-kitchensink recept zal worden gestart en geconfigureerd.
Run-down van het project directory
& Nbsp; activa /
& Nbsp; De inhoud van deze map zal worden geduwd om S3 en trok neer op elke instantie die wordt gelanceerd. De inhoud van bin subdirectory zal in / usr / local / bin op de instantie worden geïnstalleerd. De inhoud van known_hosts en authorized_keys zal worden toegevoegd aan de primaire gebruiker ~ / .ssh directory, samen met de private sleutel wordt gebruikt om de instantie te starten (alleen als je het toevoegen aan de activa directory).
& Nbsp; boot-scripts /
& Nbsp; Bevat shell scripts die krijgen doorgegeven aan de instantie bij het opstarten. Deze scripts worden uitgevoerd als wortel en al het werk van het configureren van de gevallen doen. Cloud commandant gebruikt de Jinja2 template bibliotheek om de uiteindelijke script te genereren. Zo kunt u een van de Jinja2 template syntax te gebruiken in de bootscripts.
& Nbsp; recepten /
& Nbsp; Als alle recepten worden gedefinieerd. Een recept is een YAML bestand met een 'server' array.
& Nbsp; config.yml
& Nbsp; waar al je EC2 en Cloud Commander project configuratie wordt opgeslagen. Ook bevat de lijst met AMI die worden gebruikt door recepten.
Meewerkende
Als u een recept en bootscripts dat u wilt delen hebt geschreven, gewoon vork newsapps / cloud-commander-recepten op GitHub, plegen uw project directory op uw vork, en stuur me een pull-aanvraag. Precies zoals homebrew, als je bekend
Eisen .
- Python
Reacties niet gevonden