OpenS­tack Kolla: Build­ing the Com­mu­nity Around Con­tainer­ised OpenS­tack De­ploy­ment

Kolla pro­vides pro­duc­tion-ready con­tain­ers and de­ploy­ment tools for op­er­at­ing OpenS­tack clouds that are scal­able, fast, re­li­able and upgrad­able — us­ing com­mu­nity best prac­tices.

OpenSource For You - - Contents - By: Swap­nil Kulka­rni The au­thor is an open source en­thu­si­ast with ex­pe­ri­ence in blockchain tech­nolo­gies, cloud na­tive so­lu­tions, con­tain­ers and en­ter­prise soft­ware prod­uct ar­chi­tec­tures. He blogs at cloud­na­tivetech.word­press.com.

Istill re­mem­ber the kind of ap­plause I got from my col­leagues when I got my first OpenS­tack de­ploy­ment work­ing. Most of the things then worked around DevS­tack, the de­vel­op­ment en­vi­ron­ment of OpenS­tack, and ven­dors were still try­ing to find the right mix of DevOps tools to de­ploy OpenS­tack. The evo­lu­tion process in­volved work­ing with tools like Chef, Pup­pet and An­si­ble, with ven­dors cre­at­ing a de­ploy­ment model around them. Then came Docker, cre­at­ing a buzz with a lost Linux fea­ture called con­tain­ers. A group of com­mu­nity mem­bers came to­gether to see if they could con­tainer­ise the OpenS­tack ser­vices and de­ploy them. The project started with the sole mis­sion of con­tainer­is­ing OpenS­tack into mi­croser­vices and pro­vid­ing ad­di­tional tool­ing to sim­plify man­age­ment.

The en­try bar­rier for Kolla

The ar­rival of Kolla was not par­tic­u­larly wel­comed by the com­mu­nity, which was busy with al­ready proven tech­nolo­gies to au­to­mate the OpenS­tack de­ploy­ment process. At the same time, the Kolla team had its own set of chal­lenges to cope with. Docker was it­self very new at this stage, with very lim­ited au­to­ma­tion frame­works to use. The project went through a set of re­peated events, while re­dis­cov­er­ing the ar­chi­tec­tural changes and tools to be used. The ini­tial im­ple­men­ta­tion fo­cused on cre­at­ing the in­di­vid­ual Docker im­ages for core ser­vices for Cen­tos and Ubuntu op­er­at­ing sys­tem flavours and de­ploy­ing them with Ku­ber­netes, which was just pick­ing up. The con­fig­u­ra­tion man­age­ment part was still a half-solved puz­zle, and net­work­ing was far be­low the re­quire­ments of both OpenS­tack de­ploy­ment as well as its users. The de­ploy­ment part was then rewrit­ten in docker-com­pose, which at that time was the most pop­u­lar de­ploy­ment frame­work for mul­ti­ple con­tain­ers to add one more ver­sion of project rewrites.

De­ploy­ing con­tainer­ised OpenS­tack with Kolla and An­si­ble

With the time spent fid­dling around with the OpenS­tack Docker im­ages, the Kolla team de­cided to rein­vent the ar­chi­tec­ture again, and look for al­ter­na­tives that could help de­ploy the con­tainer­ised ser­vices with bet­ter con­trol. This time, the team turned to­wards An­si­ble—at that time one of the lat­est con­fig­u­ra­tion man­age­ment tools on the hori­zon; it was still await­ing wider com­mu­nity adop­tion, so there were few pre­con­ceived no­tions about con­tain­ers. The Kolla team used the same con­tainer im­ages and a few known bits of the An­si­ble frame­work to get the first suc­cess­ful de­ploy­ment. The con­fig­u­ra­tion man­age­ment part was well man­aged with An­si­ble. Dur­ing the process, the team made a lot of changes in the An­si­ble Docker mod­ule, which was then con­trib­uted back to the An­si­ble project.

Mak­ing baby steps to­wards wider com­mu­nity adop­tion

The ini­tial de­ploy­ment of Kolla with An­si­ble was an achieve­ment that at­tracted a lot of at­ten­tion to­wards Kolla as a de­ploy­ment frame­work for OpenS­tack, re­sult­ing in a num­ber of con­trib­u­tors and in­no­va­tive ideas from users who did dif­fer­ent PoCs (proofs-of-con­cept). The team’s di­ver­sity in­creased and it was ac­cepted as a part of the Big Tent gov­er­nance model of the OpenS­tack Foun­da­tion. The Docker im­ages were cen­tral to the adop­tion of Kolla and the im­age cre­ation got a ma­jor re­vamp. Jinja based im­age tem­plates took the place of in­di­vid­ual Docker files and a con­fig­u­ra­tion based build frame­work to build spe­cific im­ages. The same frame­work was again ex­tended to in­clude

changes so that ven­dors could cre­ate cus­tom im­ages with lit­tle changes. As the de­ploy­ment ma­tured, along with de­mand from the com­mu­nity, the team took steps to cre­ate re­us­able in­de­pen­dent mod­ules. The project was split into two ma­jor re­us­able com­po­nents, the im­age build part and the de­ploy­ment part. This gave ven­dors bet­ter con­trol over the con­sump­tion of Kolla based con­tainer im­ages in their ex­ist­ing frame­works—as an al­ter­na­tive to bare-metal/VM based de­ploy­ment.

De­ploy­ment with Ku­ber­netes

As Ku­ber­netes ma­tured, and in re­sponse to re­quire­ments from ma­jor ven­dors who wanted to use Ku­ber­netes as their orches­tra­tion plat­form, Ku­ber­netes based de­ploy­ment again came into the pic­ture for Kolla im­ages. This de­vel­op­ment is still in its nascent stage, with the 1.0 mile­stone in sight with core ser­vices de­ploy­ment. It is still get­ting rewrit­ten with dif­fer­ent ex­ist­ing An­si­ble au­to­ma­tion fea­tures as well as a na­tive Ku­ber­netes tools like Helm.

Con­tribut­ing to Kolla

The Kolla project is now one of the pop­u­lar repos­i­to­ries in the OpenS­tack com­mu­nity with con­tainer­ised im­ages of al­most all Big Tent projects. The de­ploy­ment au­to­ma­tion for most of the projects is also com­plete with the re­main­ing un­der­go­ing re­views. There are three ma­jor de­liv­er­ables: kolla, the im­age build repos­i­tory kolla-an­si­ble, the An­si­ble based de­ploy­ment au­to­ma­tion kolla-ku­ber­netes, the Ku­ber­netes based de­ploy­ment au­to­ma­tion

The Kolla repos­i­to­ries are hosted un­der OpenS­tack GitHub, un­der the Apache 2 li­cence. Have a look at the project doc­u­men­ta­tion, con­nect with the com­mu­nity on Freen­ode at #opens­tack-kolla chan­nel or sub­scribe to the opens­tack-dev mail­ing list. The Docker im­ages are also avail­able on Docker Hub. You can have a look at project mile­stones, fea­tures and bug re­ports on Launch­pad.

Ref­er­ences

[1] https://git.opens­tack.org/cgit/opens­tack/kolla [2] https://git.opens­tack.org/cgit/opens­tack/kolla-an­si­ble [3] https://git.opens­tack.org/cgit/opens­tack/kolla-ku­ber­netes [4] https://docs.opens­tack.org/kolla/lat­est/ [5] https://hub.docker.com/u/kolla/ [6] https://launch­pad.net/kolla

Newspapers in English

Newspapers from India

© PressReader. All rights reserved.