How to install Landscape Server with Juju

With Juju you can deploy Landscape in a scalable way, and still have all services on a single machine if you want to.

Contents:

  1. Install Juju
  2. Deploy self-hosted Landscape Server
  3. Access self-hosted Landscape

Install Juju

Install Juju as a snap with this command:

sudo snap install juju --classic

To learn more about Juju and to bootstrap a Juju controller, check out their getting started page.

Deploy self-hosted Landscape Server

When deploying with Juju, you will use a Juju bundle. A bundle is an encapsulation of all of the parts needed to deploy the required services as well as associated relations and configurations that the deployment requires. When deploying Landscape Server using Juju, there are three different methods you can use. Select the one that meets the needs for your environment.

landscape-dense-maas bundle

If you have a MAAS server, you can take advantage of containers and use the landscape-dense-maas bundle:

juju deploy landscape-dense-maas

This will deploy Landscape on just one node using LXD containers for all services.

landscape-scalable bundle

landscape-scalable each service gets its own machine. Currently that means you will need 4 machines for Landscape, and one for the controller node:

juju deploy landscape-scalable

landscape-dense bundle

landscape-dense is quite similar to the landscape-dense-maas deployment, but it installs the haproxy service directly on the machine without a container. All the other services use a container:

juju deploy landscape-dense

This is useful for the cases where the LXD containers don’t get externally routable IP addresses.

Access self-hosted Landscape

Once the deployment has finished, grab the address of the first haproxy unit and access it with your browser:

juju status haproxy

Hi Yanisa,

I’m curious if it’s possible to add more units for the services in Juju deployment. Currently, each service is only scaled to one unit.

Is it possible to add units using the juju add-unit command? Alternatively, could I add units by modifying the Juju charm scripts that rebooting won’t erase the modification?

Additionally, is it possible to modify the hardware settings for each unit, such as increasing CPU cores or memory?

I would appreciate any advice you can offer. Thank you!

Hey @hillpig! I’m not quite sure on these questions - perhaps another community member can chime in and provide more insight? :slight_smile: You can also consider posting a new topic to the community on Landscape or Juju’s Discourse forums if you’re able.

  1. You can add units with juju add-unit. Here’s a link to Juju’s documentation for add-unit.
  2. I’m not sure if you can add units by modifying the Juju charm script. It might be possible, but I would expect using add-unit is more common for that.
  3. I think it’s possible to modify the hardware settings, but I’m not familiar with the Juju commands for that. Here’s a link to the Juju Docs. Their commands are well documented. (You might be looking for the command set-constraints?)