[lxc-users] Recommended techniques for dynamically provisioning containers using lxd

P. Lowe plowe at zitovault.com
Tue Aug 23 17:05:28 UTC 2016


Hi Zach,

No, I still haven't received an answer on this.

I'm still trying to determine if there is a best practice for passing  
provisioning parameters to an lxd container (hostname, block device  
mounts, secrets, monitoring server name for pub/sub, etc.)

I'm currently using a technique where I launch a new image, start it,  
and then do a:

"lxd file push ./provision.sh /container1/etc/rc.local"

Then I restart the container and it runs the provisioning in  
/etc/rc.local (pull and execute chef cookbook from git), and then  
reset rc.local to empty, so that future restarts won't re-run the  
provisioning.

Still trying to determine best way to pass provisioning parameters to  
the container...

-P. Lowe


Quoting Zach Lanich <zach at zachlanich.com>:

> P.Lowe, did you ever get an answer on this. I’m doing something very  
> similar with SaltStack.
>
> Best Regards,
>
> Zach Lanich
> Business Owner, Entrepreneur, Creative
> Owner/CTO
> weCreate LLC
> www.WeCreate.com
>
>> On Aug 17, 2016, at 4:48 PM, P. Lowe <plowe at zitovault.com> wrote:
>>
>>
>> Hi,
>>
>> I am investigating the use of lxd to dynamically spin up server instances.
>>
>> I'm thinking about using a code-as-infrastructure approach using a  
>> chef-solo cookbook that is pulled out of git upon the container's  
>> initial boot and does all the provisioning upon initial boot.
>>
>> Would people recommend creating a new container from a base image,  
>> modifying rc.local to pull the cookbook from git and launch it upon  
>> initial bootup, after which rc.local is reset to be empty and the  
>> server is restarted?
>>
>> After rc.local is modified, the new container would be published to  
>> the local image store, so that whenever a new container is  
>> launched, it will boot up, run rc.local, pull the cookbook from  
>> git, run the cookbook and apply all the local provisioning  
>> operations, empty out rc.local, and then reboot the machine, after  
>> which it will boot with the customized provisioning parameters for  
>> normal operation.
>>
>> What is the recommended way to send provisioning parameters (e.g.  
>> ip address, gateway, hostname, block device mounts, secrets (certs  
>> / keys)) to the container? Would people just drop a config file  
>> into the container using the lxc push command, or any other better  
>> techniques?
>>
>> Thanks,
>>
>> P.Lowe
>>
>>
>> _______________________________________________
>> lxc-users mailing list
>> lxc-users at lists.linuxcontainers.org
>> http://lists.linuxcontainers.org/listinfo/lxc-users






More information about the lxc-users mailing list