Instances is a great starting point for taking advantage of self service features and spinning up both VM’s and containers. In Morpheus it may be advisable to cover the definition of a few terms used within the application so as to reduce confusion.
- A set of containers or virtual machines that can correlate to a single horizontally scalable entity or a service suite like a database. (It is important to note that an instance can contain one or more containers/vms depending on the instance type and configuration).
- Typically a docker container provisioned via a Morpheus Docker host.
- Virtual Machine
- A virtualized compute server provisioned onto various hypervisor hosts.
The top of the main Instances page shows overall statistic for the listed Instances, including count, status, and resource utilization. You can search for instances by name, or filter by group, instance type, or category.
Instances listed are determined by group access and role permissions.
The Instance list contains important information about each instance, including the instance name, environment tag, instance type icon, ip and port info, instance version, the number of virtual machines or containers in the instance, the group the instance is in, and the cloud or clouds the instance is in.
The instance catalog is the one stop shop for selecting items to be provisioned and pieced together. It contains not only basic container and vm options but also tailored services for SQL databases, NoSQL databases, cache stores, message busses, web servers, and even full fledged apps. The list contains a lot of items to choose from and they are represented to the user based on what provisioning engines are enabled and integrated in the Morpheus environment.
To get started, simply click the + Add button in the upper right of the
Provisioning -> Instances section. A modal will display allowing the catalog to be searched. Once an item is selected it is just a matter of following the steps through the wizard.
The instance catalog can be customized via role based access control thereby restricting access to non sanctioned catalog items, as well as added to via the
Provisioning -> Library section. It is completely customizable.
The next step will ask for a Group and Cloud to be selected. The Group is an abstract representation that can contain multiple cloud integrations. These cloud integrations can also be in multiple groups and is also useful for using role based access control to restrict provisioning access and set retainment policies. If the environment is new and these do not yet exist, It may be advisable to refer to the main section on Getting started by setting up some cloud integrations and infrastructure first. The wizard continues by allowing us to choose a name for the instance as well as an environment.
Currently the Environment option is mostly useful for presenting the user with informative metadata around the instance when coming back to it later.
Moving on, it is now time to configure the Instance. Depending on the option that was chosen and the Instance Configuration that is chosen fields will change. This can include cloud specific fields (i.e. Datastore for VMware or Network). There will also be options like initial username. Some of these fields are optional and will be represented as such.
Configuration options provided in this screen are very powerful. An example is Mysql where a Master/Slave or Master/Master layout can be selected. These configurations will automatically deploy two MySQL VMs or containers and link them together to provide replication. These types of configurations exist for a wide range of instance types and are optimized for high performance and scale. It is even possible to provision entire sharded Mongo clusters.
One last step before the instance can be provisioned is the
Automation step. This wizard step may or may not appear depending on the capabilities of the instance type or previous configurations in the account. It is here one can easily select a post provisioning workflow to run ( see more on Tasks and Workflows), assign a load balancer, or even configure the backup job that gets created.
Now that the steps are completed for provisioning the selected instance type , simply review your selections and complete. The instance will automatically show up in the instances list and its provisioning state will be represented. Depending on what was provisioned this step can range from seconds to minutes (typically a container configuration will be rather quick if the instance type has previously been provisioned before).
The instance detail page is where you can view and fully manage an instance. To get to an instance detail page, navigate to provisioning, instances, and click on an instance. Please note instance details and actions differ between instance types and user permissions.
There are several sections within an Instance page that provide useful capabilities to the user.
- Stats and status information
- Track deployment history for instance types that support deployments or manually kick off a deployment (only visible for instance types that support deployments)
- Some instance types support custom configuration settings (i.e. mysql presents the my.ini)
- Useful for configuring security groups and access to the instance.
- Quick summary of the monitoring system and all checks that were configured to test the state of the instance
- Quick backup dashboard. Useful for viewing historical backups as well as kicking off new ones.
- View all aggregated logs from the containers or VM’s representing the instance.
- View the environment variables presented to the instances or exported by the instances via Apps (more on this in the Apps section). Even see Imported environment variables that may be referenced by the running instance.
- For instances that support load balancing and auto scaling. Easily configure auto scaling thresholds and load balancer settings that pertain to a particular instance.
- Access the instance or container via a client-less Console supporting SSH, RDP, VNC, and even hypervisor level remote consoles.
Instance actions allow you to perform numerous management tasks on instances. The actions available depend on the instance type, hypervisor, roles permissions, and instance state.
- Edit the Name, Description, Environment, Group, Metadata, Tags, and Owner for the Instance.
- Deletes the Instance.
Deleting an Instance will delete associated VM’s or Containers and cannot be undone. To delete instances without deleting associated VM’s, delete the VM from the Infrastructure section and uncheck “Remove Infrastructure” while checking “Remove Associated Instances” in the delete modal options.
You can change the owner of an instance easily by selecting the edit button and entering a new owner in the corresponding field.
Available options in the Actions dropdown can include:
- Puts the VM in a suspended state without shutting down the OS.
- Stop/Start/Restart Service
- Stops, Starts or Restarts the service associated with the Instance Type.
- Stop/Start/Restart Server
- Stops, Starts or Restarts the Virtual Machine.
- Import as Image
- Creates a Virtual Image Blueprint from the Instance at its current state and adds it to the Virtual Image library with corresponding metadata.
- Clone to Image
- Stores the image in vCenter as a virtual image record
- Lock/Unlock Instance
- A locked instance cannot be deleted until it is unlocked.
- The Reconfigure action allows service plan, disk, cpu, ram, networks and storage controller changes. Available options depend on the instance type and service plan configuration. Some resize actions require an instance restart.
- Creates a new Instance from the Instance at its current state.
- Immediately executes a backup of the Instance. Only available for Instances with backups enabled.
- Run Workflow
- Presents workflow options and then immediately runs selected Workflow on the Instance. Workflows can be created in the
Provisioning -> Automationsection.
- Run Script
- Presents Script options and immediately executes selected Script on the Instance. Scripts can be created in the
Provisioning -> Librarysection.
- Apply Template
- Presents Template options and immediately applies selected Template to the Instance. Templates can be created in the
Provisioning -> Librarysection.
- Add Node
- Adds an additional node to the configuration. Additional options and configurations are required in the add node wizard depending on instance configuration and type.
- Eject Disk
- Ejects attached disk/iso.
- Add Slave
- Adds a database slave in the Instance.
- Change Master
- Changes the database Master node in an Instance.
- Clone to Template (VMware)
- Creates a new VMware Template from the Instance with corresponding Morpheus Virtual Image record.
Scrolling down in the Actions dropdown may be necessary to see all options.
Performing Instance Actions¶
- Select the Provisioning link in the navigation bar.
- Click the Instance from the list of instances you wish to perform an action on.
- Click the Actions drop down button and select an Action.
Every Instance has a Notes section for adding useful information about the Instance. Notes can be added by selecting the
ADD NOTES button on the bottom of Instance Detail pages. Existing notes can be edited by selecting the
Markdown Syntax is supported in Instance Notes.