Advice on containers

gksgks OG
edited December 2020 in Technical

Is there any VM option possible [other than vmware, vritualbox kind], where we can pre-install softwares and configure them, then as small container on top of VPses or dedicated server running ubuntu? [we are app developers, good with db, big data etc, not having deep expertise with linux]

We are tired of creating same setup and configure same again and again, wanted to have simple option like virtualbox/vmware install once and take snapshot and repeat wherever needed.

Our host environments shall be Netcup RS, VPS, Hetzner cloud, Hetzner dedi and our office lab and few customers baremetal hardwares running Ubuntu Linux.

I see some here mention lxc, lxd etc.

«1

Comments

  • seriesnseriesn Hosting ProviderOG
    edited December 2020
  • gksgks OG
    edited December 2020

    @seriesn said:
    I am pretty sure that's what dockers are for.

    You can always use ovz too.

    We yet to learn docker at pro level as we use tons of tools, open sources tough for us to manage. yum and apt commands works easy for us. Docker takes a long route. We bounce back with docker and kubernetes as we don't have dev ops person.

    Is ovz can be simple compared to lxd? We don't rent or lease to anyone, need easy way to build an image and use it.

  • kubernetes is hard but docker is easy to master

    u can use vagrant too but docker is better.

    or just type, what all you need...someone may give you docker yml code for it.

    Thanked by (2)gks yoursunny
  • seriesnseriesn Hosting ProviderOG

    @gks said:

    @seriesn said:
    I am pretty sure that's what dockers are for.

    You can always use ovz too.

    We yet to learn docker at pro level as we use tons of tools, open sources tough for us to manage. yum and apt commands works easy for us. Docker takes a long route. We bounce back with docker and kubernetes as we don't have dev ops person.

    Is ovz can be simple compared to lxd? We don't rent or lease to anyone, need easy way to build an image and use it.

    Ovz and lxc containers are pretty easy to create too :)

    Kubernetes might be a bit too much for your tasks. Docker will be the easy and simpler approach for quick deployment.

    Thanked by (1)gks
  • LXC on btrfs is easy. Create a snapshot and zip it, then deploying on a new machine is like

    gunzip -c "${FN}" | btrfs receive /var/lib/lxc
    btrfs property set -ts /var/lib/lxc/${BN}.tmpl ro false
    mv /var/lib/lxc/${BN}.tmpl /var/lib/lxc/${CNAME}
    

    (which you would of course put in a script to simplify)

    Thanked by (1)gks
  • @seenu said:
    kubernetes is hard but docker is easy to master

    u can use vagrant too but docker is better.

    or just type, what all you need...someone may give you docker yml code for it.

    Thank you, vagrant, just checked, they provide abstraction over container? , we yet to understand the containers itself, neither me or my team could learn to manage now.

    @Not_Oles Sorry for tagging, You are an inspiration for me to look through LXC stuffs, I did read about lxc last 1 hour, did install LXD on Mint, able to install web server ubuntu, sshed into guess, done apt install, too satisfied. Need a little advise.

    1. We use Ubuntu 20.04 as host [from now on], typically use Host OS file system for guest too [mean no separate volume/block storage stuff]
    2. We will use Ubuntu 20.04 for guest OS too [no other OS]
    3. We need to install ubuntu as guest, installed with pre-defined softwares, configured at certain level then store the image for backup and clone
    4. now need to create actual instances from images from backup, need slight changes manually
    5. Then start the services in guest linux
    6. Network, we need to learn, some private network between nodes, and expose few ports from host to guest

    Do you recommend tools for LXD which may be easy easy level to create/run/stop the lxd like web ui?

  • @tetech said:
    LXC on btrfs is easy. Create a snapshot and zip it, then deploying on a new machine is like

    gunzip -c "${FN}" | btrfs receive /var/lib/lxc
    btrfs property set -ts /var/lib/lxc/${BN}.tmpl ro false
    mv /var/lib/lxc/${BN}.tmpl /var/lib/lxc/${CNAME}
    

    (which you would of course put in a script to simplify)

    thanks for the tip, we need to create and move images to other systems. is zfs a good format?

  • @gks said:

    @tetech said:
    LXC on btrfs is easy. Create a snapshot and zip it, then deploying on a new machine is like

    gunzip -c "${FN}" | btrfs receive /var/lib/lxc
    btrfs property set -ts /var/lib/lxc/${BN}.tmpl ro false
    mv /var/lib/lxc/${BN}.tmpl /var/lib/lxc/${CNAME}
    

    (which you would of course put in a script to simplify)

    thanks for the tip, we need to create and move images to other systems. is zfs a good format?

    I do not use ZFS (too memory hungry for me). With the above, I put images in a central repository and just scp them and run my extract.sh script which does the above.

    Thanked by (1)gks
  • Not_OlesNot_Oles Hosting ProviderContent Writer

    @gks

    It's okay to tag me. No worries! :)

    What does your service do? Is the code open source?

    Tom, not Oles. Happy New York City guy visiting in Mexico!
    Purveyor of Fast-as-Metal LXC and KVM VPSes!

  • havochavoc OG
    edited December 2020

    Loads of ways to skin that cat, but I predict you'll have a tough time if you aren't familiar with any of it.

    We are tired of creating same setup and configure same again and again

    I'd personally go with ansible instead. If it's the same thing over & over just throw that in a script and then run it against whatever server you have. Will be easier than the other routes imo given the mixed service providers

    Really depends on what exactly you're trying to package here though. For developer work I'd be expecting something more like a CI/CD pipeline, not container images being duplicated directly

    Thanked by (3)skorous Naix gks
  • @Not_Oles said:
    @gks

    It's okay to tag me. No worries! :)

    What does your service do? Is the code open source?

    We are Industrial IoT startup, at early stage, tools are open source and some closed source, primarily on Java, Node and Python lang, using tons of apps like zookeeper, kafka, etcd, postgresql, promethues, grafana, redash, keycloak, flink, spark, ignite, akka etc, all should be in clusters 3 to 5 instances. The problem is we have no dev ops person, work with fresh graduate, while I mentor them on apps and tech stack, I have not known much linux admin part.

  • @havoc said:
    Loads of ways to skin that cat, but I predict you'll have a tough time if you aren't familiar with any of it.

    We are tired of creating same setup and configure same again and again

    I'd personally go with ansible instead. If it's the same thing over & over just throw that in a script and then run it against whatever server you have. Will be easier than the other routes imo given the mixed service providers

    Really depends on what exactly you're trying to package here though. For developer work I'd be expecting something more like a CI/CD pipeline, not container images being duplicated directly

    Will try ansible, initially i thought it was docker tool. From the examples, it can install and change and save the configuration, that is what we needed. The other issue is, we need clusters at least 3 to 5 to 7 instances. All new stuffs.

    Linux -> lxc -> lxd then unlearn
    Linux -> docker -> kubernetes

  • edited December 2020

    Erm a questions maybe away from the topic. How easy is migration for docker? Would docker just work if moving backup from one server to another?
    Say i move my bitwarden from one vps to another, just modified necessary port and i will have the same extact instance i have in like one minute when i docker container up?

  • @gks said:

    @Not_Oles said:
    @gks

    It's okay to tag me. No worries! :)

    What does your service do? Is the code open source?

    We are Industrial IoT startup, at early stage, tools are open source and some closed source, primarily on Java, Node and Python lang, using tons of apps like zookeeper, kafka, etcd, postgresql, promethues, grafana, redash, keycloak, flink, spark, ignite, akka etc, all should be in clusters 3 to 5 instances. The problem is we have no dev ops person, work with fresh graduate, while I mentor them on apps and tech stack, I have not known much linux admin part.

    Then, kubernetes is your friend. Many of your tools has helm chart. You just needs to provide some yaml configuration to the helm chart, and the cluster of the tool will be ready :)

    Try with rancher to manage the kubernetes ;)

    Thanked by (1)gks
  • @gks said:

    @seenu said:
    kubernetes is hard but docker is easy to master

    u can use vagrant too but docker is better.

    or just type, what all you need...someone may give you docker yml code for it.

    Thank you, vagrant, just checked, they provide abstraction over container? , we yet to understand the containers itself, neither me or my team could learn to manage now.

    @Not_Oles Sorry for tagging, You are an inspiration for me to look through LXC stuffs, I did read about lxc last 1 hour, did install LXD on Mint, able to install web server ubuntu, sshed into guess, done apt install, too satisfied. Need a little advise.

    1. We use Ubuntu 20.04 as host [from now on], typically use Host OS file system for guest too [mean no separate volume/block storage stuff]
    2. We will use Ubuntu 20.04 for guest OS too [no other OS]
    3. We need to install ubuntu as guest, installed with pre-defined softwares, configured at certain level then store the image for backup and clone
    4. now need to create actual instances from images from backup, need slight changes manually
    5. Then start the services in guest linux
    6. Network, we need to learn, some private network between nodes, and expose few ports from host to guest

    Do you recommend tools for LXD which may be easy easy level to create/run/stop the lxd like web ui?

    Since you already familiar with guest OS then I believe docker is suitable for you

    Or maybe you can post command you always run when setup new host, then maybe we can help you to convert it into ansible

  • @forces said:
    Erm a questions maybe away from the topic. How easy is migration for docker? Would docker just work if moving backup from one server to another?
    Say i move my bitwarden from one vps to another, just modified necessary port and i will have the same extact instance i have in like one minute when i docker container up?

    Yes, less or more, as long as in new machine has docker installed, then you will be up in a short time

  • @ferri said:

    @forces said:
    Erm a questions maybe away from the topic. How easy is migration for docker? Would docker just work if moving backup from one server to another?
    Say i move my bitwarden from one vps to another, just modified necessary port and i will have the same extact instance i have in like one minute when i docker container up?

    Yes, less or more, as long as in new machine has docker installed, then you will be up in a short time

    Wow, that is awesome
    gonna start trying these setup XD

  • @forces said:

    @ferri said:

    @forces said:
    Erm a questions maybe away from the topic. How easy is migration for docker? Would docker just work if moving backup from one server to another?
    Say i move my bitwarden from one vps to another, just modified necessary port and i will have the same extact instance i have in like one minute when i docker container up?

    Yes, less or more, as long as in new machine has docker installed, then you will be up in a short time

    Wow, that is awesome
    gonna start trying these setup XD

    Great, good luck

  • @gks said: Will try ansible, initially i thought it was docker tool.

    Glorified SSH scripting tool really. Which is a feature not a bug - you can use it everywhere & for anything.

    I'm liking it though. Combined with a virtualization solution that allows CLI control you can spin up VMs etc. No trivial, but doable with some time & patience

    Thanked by (1)gks
  • InceptionHostingInceptionHosting Hosting ProviderOG

    If you want to take all the complexities out of the provisioning side so you can just get on and work and you don’t want to also have to manage and maintain your own deployment environment then you just need a host that can do all that for you.

    I am happy to work with you to store manage and deploy pre built environments and retain full VPs images to deploy on demand.

    Feel free to shoot me a PM or email me [email protected] with what you need in an ideal world and I will provide a solution that just allows you to get on and do what you do.

    Thanked by (4)gks Naix Asim user123

    https://inceptionhosting.com
    Please do not use the PM system here for Inception Hosting support issues.

  • @AnthonySmith said:
    If you want to take all the complexities out of the provisioning side so you can just get on and work and you don’t want to also have to manage and maintain your own deployment environment then you just need a host that can do all that for you.

    I am happy to work with you to store manage and deploy pre built environments and retain full VPs images to deploy on demand.

    Feel free to shoot me a PM or email me [email protected] with what you need in an ideal world and I will provide a solution that just allows you to get on and do what you do.

    Thanks for this, I will write you in details, more of long term association would help.

  • Overall we made a good progress with LXD, more than we understand the lxd, this tool https://github.com/AdaptiveScale/lxdui well manage containers, images, network, port forwarding and including support to clusters.

    Tried setting up 3 host servers, clustered them, launched few containers, made them to communicate each other. While this may be starter, production we need expert help.

    Thanked by (1)ferri
  • @gks said:
    Overall we made a good progress with LXD, more than we understand the lxd, this tool https://github.com/AdaptiveScale/lxdui well manage containers, images, network, port forwarding and including support to clusters.

    Tried setting up 3 host servers, clustered them, launched few containers, made them to communicate each other. While this may be starter, production we need expert help.

    Congrats for your progres :+1:

  • yokowasisyokowasis Services Provider

    If you comfortable with virtualbox, why not use it ?

  • @yokowasis said:
    If you comfortable with virtualbox, why not use it ?

    Isn't Virtualbox works with GUI based Systems, a ton of manual work on networking and clustering on host and vm node, it also heavy compared to LXD. VirtualBox doesn't do cross host networking out of box, IMHO.

  • yokowasisyokowasis Services Provider

    @gks said:

    @yokowasis said:
    If you comfortable with virtualbox, why not use it ?

    Isn't Virtualbox works with GUI based Systems, a ton of manual work on networking and clustering on host and vm node, it also heavy compared to LXD. VirtualBox doesn't do cross host networking out of box, IMHO.

    it works fine with headless server. Every function can be done using vboxmanage. Full Virtualization will always have more overhead than the container.

    If you after a lightweight solution, my recommendation is docker.

    Thanked by (1)gks
  • @yokowasis said:

    @gks said:

    @yokowasis said:
    If you comfortable with virtualbox, why not use it ?

    Isn't Virtualbox works with GUI based Systems, a ton of manual work on networking and clustering on host and vm node, it also heavy compared to LXD. VirtualBox doesn't do cross host networking out of box, IMHO.

    it works fine with headless server. Every function can be done using vboxmanage. Full Virtualization will always have more overhead than the container.

    If you after a lightweight solution, my recommendation is docker.

    Docker, we are tried little, then putting them into swarm/kubernetes, build script also new for us, more automation expertise needed, too big for our small brains. Docker is the destination, however we picked LXD along the journey as it is good to start to understand the hosting/deployment complexities at easy scale for small brains.

    LXD/LXC so far good with cluster, now we are looking into MASS https://maas.io/, hopefully we will have better understand how MASS add value to LXD clusters. The community is big enough for MASS, LXD integration.

  • gksgks OG
    edited December 2020

    LXD, we learned to create storage pool today, then the newly created containers are put into storage pool.
    Then created storage volume and could attach to container. Still could not get MASS to work. I see it above our head, need solid understanding.

    Buying 3 used HP 360e G8 servers tomorrow, this brings up total 5 servers including Dell R520. We need to put them in LXD cluster for large capacity data ingestion.

  • Have a look at Proxmox. You can get the best of both worlds, webui with console, easy to use, set up anything as a file backend etc etc all with LXC.

    Thanked by (1)gks

    Resident numpty

  • @dahartigan said:
    Have a look at Proxmox. You can get the best of both worlds, webui with console, easy to use, set up anything as a file backend etc etc all with LXC.

    Is Proxmox works on VPS too, like netcup/hetzner cloud/vmware, the client base has unpredictable setup

Sign In or Register to comment.