- en server med openstack api -

, i den foregående artikel, så vi på den openstack api - og hvordan til at komme i gang med det.tanken er, at du får adressen opkald til en server, som udfører de ønskede kommando, og giver nogle oplysninger.disse ordrer blot kan indsamle oplysninger, som giver dig en liste over din at servere, eller at gøre noget mere kompliceret, såsom tildeling af servere.openstack omfatter en hel api til sådanne operationer, herunder forvaltning af lagring, forvaltning af databaser, fordeling af servere, de fordeling af servere, skabe billeder (som anvendes til oprettelse af servere), netværk (f.eks. fordeling af private netværk) og mere.i fremtidige artikel, vi kan se på opgaver, som f.eks. fordeling af private netværk.,, at gøre brug af api, du kan tage flere ruter.det nemmeste er at gøre de opkald igennem kodeks, men i stedet bruger en konsol anvendelse.en sådan konsol anvendelse er horisonten instrumentbræt.horizon er fuldt ud var instrumentbræt, som løber i browseren, og giver dem mulighed for at udføre openstack opgaver.men instrumentbrættet er interaktiv i, at du klik og vælge, hvad du vil gøre.nogle opgaver, har du brug for at automatisere, i hvilket tilfælde du vil skrive drejebøger og programmer.det er, hvor api og sdks kom ind.så lad os fortsætte vores diskussion om api - og afprøve et par opgaver., steder at teste api - grænseflade, som i den foregående artikel, jeg bruger rackspace for disse eksempler.jeg er ikke på nogen måde er enig i rackspace, men blot at bruge dem, fordi deres openstack api - er en næsten fuldstændig gennemførelse af openstack.og hvis du vil træne med rackspace er openstack api, kan du gøre det uden store omkostninger.men der er andre muligheder.,, hvis du går over til openstack websted, vil du finde en side for at komme i gang med at openstack, som indeholder et afsnit om præmie skyer (f.eks. rackspace) samt en god lokale miljø, du kan downloade og installere ringede devstack.hvis du virkelig er interesseret i openstack, vil jeg anbefale, devstack, så du kan få en vis erfaring faktisk at installere det hele. der er også en ret coolwebsite ringede trystack, som du kan se...men nu vil jeg holde det simpelt ved hjælp af rackspace.,, find billederne, lad os dreje op en server med en adi.for at opnå de api - opkald, jeg skal bruge... command-line værktøj.for du bliver nødt til at få en godkendelse fra rackspace tegn, som beskrevet i foregående artikel.i øvrigt her, er en hurtig tip om, - - at jeg ikke sørge for sidste gang: når du beder de tegn, du kommer tilbage til en hel json objekt, der ikke er formateret overhovedet.der er forskellige måder at få dette format til noget, vi kan læse. jeg fandt en forkromet stik af, at jeg som ringede javascript unpacker og beautifier, som du kan finde på adressen http: //////////////jsbeautifier. org /.bemærker også, at du kan se backslashes før frem her, fordi de json tråde er flygtet.du bliver nødt til at fjerne backslashes fra den faktiske api - opkald.,,,,, med henblik på at dreje en server, er vi også nødt til at vide, hvad billeder er til rådighed.billeder har forskellig betydning, alt afhængigt af hvad sky er med dem.her er de grundlæggende iso billeder, der indeholder f.eks. en ubuntu installatøren.her er, hvordan vi kan liste offentligt tilgængelige billeder ved hjælp af krøller:,, krøller - s https: //ia. billeder. api -., rackspacecloud.com/v2/images - h "x-auth-token: abcdef123456, du vil erstatte den abcdef123456 med dit tegn.bemærker også, at fordi vi anmoder om oplysninger, vi bruger en metode, i stedet for en post.(får, er den standard for krøller, så vi behøver ikke at angive det. når jeg løber denne kommando, jeg kommer tilbage en anden stor json objekt.den indeholder en liste over 25 billeder, der er til rådighed.- men der er mere, du vil se kort.), her er et tip til håndtering af disse json genstande: gå i krom - og åbne dev værktøj ved presning f.12.så i konsol, type, x =, og pasta i json tekst, du kom tilbage fra gang til.det vil de json genstand i en variabel ringede x. så kan du undersøge medlemmer af målet ved at udvide array - poster, og formålet er medlemmer, som vist i nedenstående figur.,,,,, en meddelelse i slutningen af json objekt er et medlem, der næste gang.det er fordi vi har nået grænsen for, hvor mange rackspace vil give os for det billede, lister.rackspace sider data, så lad os anmode en anden side af data.for at gøre det, vi starter med url givet af det næste område:, "næste": "/v2 /billeder?markør = abc123 -, f20f-454d-9f7d-abcdef ", det er adressen, vi bruger til gang kommando, prepended med domænet navn og https.og så får vi 25 mere, samt endnu en næste liste.kigger i 50, så vidt jeg finde forskellige billeder, som f.eks. en debian svækling.jeg vil ikke grave igennem alle disse efter den, jeg vil have, så lad os prøve en anden krøller, men denne gang vil vi medtage nogle parametre,.,, hvis du går til denne side af rackspace dokumentation, kan vi se, hvad de parametre, her.der er to steder, hvor vi kan finde de parametre: vi kan finde dem, der openstack generelt støtter ved at openstack dokumentation.men udbydere kan indeholde supplerende aktiviteter ud over openstack.så vil jeg se på rackspace egen dokumentation, hvis man ser på json objekter, vi har tilbage, er der endnu flere medlemmer end dem, der er anført i dokumentationen.et sådant parameter er os_distro.lad os prøve at søge om det.for disse parametre, vi sætter dem på url, som indeholder parametre.lad os finde den ubuntu distros:,, krøller - s https: //ia. billeder. api -., rackspacecloud.com/v2/images?, os_distro = ubuntu - h "x-auth-token: abcdef123456, det virkede.jeg har en stor json objekt.slaget i krom er dev værktøj, jeg kan se, at jeg kom tilbage 10 objekter.lad os antage at vi arbejder på et projekt, som kræver en 12.04 version af ubuntu.det viser sig, rackspace har også, at oplysninger i genstande.så kan vi søge om det.jeg vil gerne tilføje et andet parameter til min url, som kræver et »og« - tegn.jeg vil ikke slå skal bruge »og« - tegn, så jeg vil tilføje én citater om min url.her kommer det:,, - - s' https: //ia. billeder. api -., rackspacecloud.com/v2/images?, os_distro = ubuntu & org., openstack__1__os_version = 12.04, ') - h "x-auth-token: abcdef123456, kan du se, hvordan jeg omfattede både os_distro og et parameter for version.jeg er lige kommet tilbage tre billeder, - - og jeg kan vælge en.igen vil jeg trække dem i krom, for at se hvad der er hvad.det er naturligvis stadig fuldstændig interaktive, hvilket betyder, at vi bliver nødt til at finde en måde at gå gennem disse gennem kode i stedet for at kopiere dem i krom.vi tager det op i et kommende artikel.nu vil jeg tage en med navnet "ubuntu 12.04 lts (præcise pangolin) (pv).", vælge en smag, før vi kan dreje op en server, er vi nødt til at vælge en type - server, der kaldes en smag.som vi anførte de foreliggende billeder, vi kan liste tilgængelig smag:,, krøller - s https: //ia. servere. api -., rackspacecloud. kom /v2 /12345 /, smag. - h "x-auth-token: abcdef123456,, du ville erstatte 12345 med din lejer id, og som sædvanlig er den abcdef123456 med din autentificering tegn.bemærker, at det andet ord i url er "servere for smag falder ind under de servere del af api - grænseflade.da jeg løb, jeg kom tilbage en json genstand med 38 forskellige udsøgt smag.til denne prøvning server, så henter jeg en lille en.her er den anden i listen over smag:,, ("id": "2", "forbindelser": [{"href": "https: //ia. servere. api -., rackspacecloud. kom /v2 /12345 /, smag /2", "og": "self"} {"href": "https: //ia. servere. api -., rackspacecloud. kom /12345 /, smag /2", "og": "bogmærke"}] "navn": "512mb standard instans"}, nu en kort bemærkning om dette svar; bemærker, at der er områder såsom href og selv.dette er i overensstemmelse med en fælles tilgang til en fredfyldt grænseflade, hvor du kommer tilbage med en række forbindelser, der omfatter en href (adresse) og af (beskrivelse, eller mere præcist, et forhold.), ved hjælp af den første href, jeg kan få detaljerede oplysninger om denne smag:,, krøller - s https: //ia. servere. api -., rackspacecloud. kom /v2 /12345 /, smag /2) - h "x-auth-token: abcdef123456, det giver mig følgende oplysninger:,, (" smag ": {" os-flv-with-ext-specs: extra_, specs ": {" policy_class "" standard_flavor "," klasse ":" standard1 "," disk_io_index ":" 2 "," number_of_data_disks ":" 0 ")," navn ":" 512mb standard instans "," forbindelser ": [{"href": "https: //ia. servere. api -., rackspacecloud. kom /v2 /12345 /, smag /2", "og": "self"} {"href": "https: //ia. servere. api -., rackspacecloud. kom /12345 /, smag /2", "og": "bogmærke"}], "ram": 512, "vcpus": 1 "swap" - 512, "rxtx_factor": 80 "os-flv-ext-data: flygtige" 0 "diskette": 20, "id": "2"), at smag bør arbejde for vores test.nu, før vi snurrer serveren, er jeg nødt til at komme med en bemærkning.du er måske bemærke, at selv om det ville være rart at være i stand til at automatisere det gennem manuskripter, er der også en vis interaktivitet, der kan give anledning til en enkelt ansøgning.du kan f.eks. oprette en lille app, der anmoder om smag og tilgængelige ubuntu billeder og giver en liste over muligheder for en bruger (eller endog selv).du kunne få samme api - opfordrer vi gjorde her, giver brugeren mulighed for at vælge de smag og image, og endelig snurrer serveren.der er mange muligheder her.men bemærk, at på grund af fredelige grænseflade, vi starter med en adi, som vender tilbage til et sæt af data samt yderligere url - adresser for andre api - opkald.vi så anvende disse url - adresser for kommende indkaldelser.,, snurrer serveren, så lad os endelig dreje på serveren.du skal bruge id af image og id af smag.begge disse er medtaget i json objekter, både med den pågældende navn. du skal også give et navn til din server:,,,,,,, id for image er "71893ec7-b625-44a5-b333 -,, ca19885b941d".,, id for smagen er 2.,, navn, vi går med er ubuntu-1.,,,, du ikke hardcode billed - id, hvis du skriver en app.sky værter løbende ajourføring af deres billeder og erstatte gamle billeder, betyder, at dette id - måske ikke være gyldig i morgen.det er derfor, du skal rejse igennem de resultater, man får fra fra api - opkald.), at skabe en server kræver en post - metode.vi bruger den samme url som notering servere, men post - metode, fortæller rackspace at skabe en server i stedet for opførelse på listen.for vores id og navn, vi får en json objekt, som vi passerer gennem - d parameter.sørg for at være i overensstemmelse med sand json, med medlemsstaternes navne er indesluttet i en dobbelt citater.her går vi:,, krøller - x post - s https: //ia. servere. api -., rackspacecloud. kom /v2 /12345 /, servere. - d '("tjener" ("navn": "ubuntu-1", "imageref": "71893ec7-b625 -, 44a5-b333-ca19885b941d", "flavorref": "2")') - h "x-auth-token: abcdef123456 ') - h" content type: anvendelse /json ", hvis du skrive det forkert, vil du få en fejlmeddelelse, der beskriver, hvad der gik galt (såsom misdannede anmodning organ, der kan ske, hvis din json ikke kodet).men hvis det gøres rigtigt, vil du komme tilbage en json genstand med oplysninger om din server, som er ved at blive bygget:,, ("tjener": {"os-dcf: diskconfig": "automatisk", "id": "abcdef-02d0-41db-bb9f-abcdef", "forbindelser": [{"href": "https: ////////iad. servere. api -., rackspacecloud. kom /v2 /12345 /, servere /abcdef-02d0-41db-bb9f -, abcdef", "og": "self"} {"href": "https: //ia. servere. api -., rackspacecloud. kom /12345 /, servere /f02de705-02d0-41db -, bb9f-75a5eb5ebaf4" "og": "bogmærke"}] "adminpass": "abcdefxus7kd34a"), og være opmærksomme på adminpass område.du skal bruge det til skovhugst i din server.,, så du kan bruge den første href for at få oplysninger om serveren:,, krøller - s https: //ia. servere. api -., rackspacecloud. kom /v2 /12345 /, servere /abcdef-02d0-41db-bb9f -, abcdef - h "x-auth-token: abcdefxus7kd34a", der fortæller mig en masse detaljer med serveren, herunder dets ip - adresser.her er den første del af json formål:,, ("-" ("status": "aktive", "ajourført": "2015-02-09t19:35:41z", "hostid": ", abcdef4157ab9f2fca7d5ae77720b952565c9bb45023f0a44abcdef", "adresse" ("offentligheden": [{"version": 6, "adr": "2001:4802:7800:2: be76:4eff:, fe20:4fba"} {"version": 4, "adr": "162.209.107.187"}] "privat": [{"version": 4, "adr": "10.176.66.51"}]},,, jeg kan gå ind i det med ssh, som vist i denne skærmbillede:,,,,, glem nu ikke at slette den server.vi kan gøre det gennem rackspace webportal, men hvorfor ikke anvende api - da vi er her.her er de krøller:,, krøller - x slette ¶ - s https: //ia. servere. api -., rackspacecloud. kom /v2 /12345 /, servere /abcdef-02d0-41db-bb9f - abcdef - h "x-auth-token: abcdefxus7kd34a", og vi er færdige.,, konklusion, - - en server er let, hvis du følger den proces med først at indhente oplysninger om billeder og smag, og derefter ved hjælp af id - kort fra image og smag, du vælger.sørg for at bruge den url - adresser, at du kommer tilbage i json svar, da dette vil hjælpe din app i overensstemmelse med bestemmelserne i en fredfyldt grænseflade.næste gang, vi prøver ved hjælp af en sdk i et par sprog.

beautifier
chrome json
server ssh



Previous:
Next Page: