Get started with Launchpad¶
Launchpad is a command-line deployment and lifecycle-management tool that enables users on any Linux, Mac, or Windows machine to easily install, deploy, modify, and update MKE, MSR, and MCR.
Set up a deployment environment¶
To fully evaluate and use MKE, MSR, and MCR, Mirantis recommends installing Launchpad on a real machine (Linux, Mac, or Windows) or a virtual machine (VM) that is capable of running:
A graphic desktop and browser, for accessing or installing:
The MKE web UI
Lens, an open source, stand-alone GUI application from Mirantis (available for Linux, Mac, and Windows) for multi-cluster management and operations
Metrics, observability, visualization, and other tools
kubectl (the Kubernetes command-line client)
curl, Postman and/or client libraries, for accessing the Kubernetes REST API
Docker and related tools for using the Docker Swarm CLI, and for containerizing workloads and accessing local and remote registries.
The machine can reside in different contexts from the hosts and connect with those hosts in several different ways, depending on the infrastructure and services in use. It must be able to communicate with the hosts via their IP addresses on several ports. Depending on the infrastructure and security requirements, this can be relatively simple to achieve for evaluation clusters (refer to Networking Considerations for more information).
Configure hosts¶
A cluster is comprised of at least one manager node and one or more worker nodes. At the start, Mirantis recommends deploying a small evaluation cluster, with one manager and at least one worker node. Such a setup will allow you to become familiar with Launchpad, with the procedures for provisioning nodes, and with the features of MKE, MSR, and MCR. In addition, if the deployment is on a public cloud, the setup will minimize costs.
Ultimately, Launchpad can deploy manager and worker nodes in any combination, creating many different cluster configurations, such as:
Small evaluation clusters, with one manager and one or more worker nodes.
Diverse clusters, with Linux and Windows workers.
High-availability clusters, with two, three, or more manager node.
Clusters that Launchpad can auto-update, non-disruptively, with multiple managers (allowing one-by-one update of MKE without loss of cluster cohesion) and sufficient worker nodes of each type to allow workloads be drained to new homes as each node is updated.
The hosts must be able to communicate with one another (and potentially, with users in the outside world) by way of their IP addresses, using many ports. Depending on infrastructure and security requirements, this can be relatively simple to achieve for evaluation clusters (refer to Networking Considerations).
Install Launchpad¶
Note
Launchpad has built-in telemetry for tracking tool use. The telemetry data is used to improve the product and overall user experience. No sensitive data about the clusters is included in the telemetry payload.
Download Launchpad.
Rename the downloaded binary to launchpad, move it to a directory in the PATH variable, and give it permission to run (execute permission).
Tip
If macOS is in use it may be necessary to give Launchpad permissions in the Security & Privacy section in System Preferences.
Verify the installation by checking the installed tool version with the launchpad version command.
$ launchpad version # console output: version: 1.0.0
Complete the registration. Please be aware that the registration information will be used to assign evaluation licenses and to provide Launchpad use help.
$ launchpad register name: Anthony Stark company: Stark Industries email: astark@example.com I agree to Mirantis Launchpad Software Evaluation License Agreement https://github.com/Mirantis/launchpad/blob/master/LICENSE [Y/n]: Yes INFO[0022] Registration completed!
Create a Launchpad configuration file¶
The cluster is configured using a yaml file.
In the example provided, a simple two-node MKE cluster is set up using Kubernetes: one node for MKE and one for a worker node.
In your editor, create a new file and copy-paste the following text as-is:
apiVersion: launchpad.mirantis.com/mke/v1.4 kind: mke metadata: name: mke-kube spec: mke: adminUsername: admin adminPassword: passw0rd! installFlags: - --default-node-orchestrator=kubernetes hosts: - role: manager ssh: address: 172.16.33.100 keyPath: ~/.ssh/my_key - role: worker ssh: address: 172.16.33.101 keyPath: ~/.ssh/my_key
Save the file as
launchpad.yaml
.Adjust the text to meet your infrastructure requirements. The model should work to deploy hosts on most public clouds.
If you’re deploying on VirtualBox or some other desktop virtualization solution and are using bridged networking, it will be necessary to make a few minor adjustments to the
launchpad.yaml
.Deliberately set a
–pod-cidr
to ensure that pod IP addresses don’t overlap with node IP addresses (the latter are in the 192.168.x.x private IP network range on such a setup)Supply appropriate labels for the target nodes’ private IP network cards using the
privateInterface
parameter (this typically defaults toenp0s3
on Ubuntu 18.04 (other Linux distributions use similar nomenclature).
In addition, it may be necessary to set the username for logging in to the host.
apiVersion: launchpad.mirantis.com/mke/v1.4 kind: mke metadata: name: my-mke spec: mke: adminUsername: admin adminPassword: passw0rd! installFlags: - --default-node-orchestrator=kubernetes - --pod-cidr 10.0.0.0/16 hosts: - role: manager ssh: address: 192.168.110.100 keyPath: ~/.ssh/id_rsa user: theuser privateInterface: enp0s3 - role: worker ssh: 192.168.110.101 keyPath: ~/.ssh/id_rsa user: theuser privateInterface: enp0s3
For more complex setups, Launchpad offers a full set of configuration options.
Note
Users who are familiar with Terraform can automate the infrastructure creation using Mirantis Terraform examples as a baseline.
Bootstrap your cluster¶
You can start the cluster once the cluster configuration file is fully set up.
In the same directory where you created the launchpad.yaml
file, run:
$ launchpad apply
The launchpad
tool uses a cryptographic network protocol (SSH on Linux
systems, SSH or WinRM on Windows systems) to connect to the infrastructure
specified in the launchpad.yaml
and configures on the hosts everything that
is required. Within a few minutes the cluster should be up and running.
Connect to the cluster¶
Launchpad will present the information needed to connect to the cluster at the end of the installation procedure. For example:
INFO[0021] ==> Running phase: MKE cluster info
INFO[0021] Cluster is now configured. You can access your admin UIs at:
INFO[0021] MKE cluster admin UI: https://test-mke-cluster-master-lb-895b79a08e57c67b.elb.eu-north-1.example.com
INFO[0021] You can also download the admin client bundle with the following command: launchpad client-config
By default, the administrator username is admin
. If the password is not
supplied in launchpad.yaml installFlags
option like
--admin-password=supersecret
, the generated admin password will display in
the install flow.
INFO[0083] 127.0.0.1: time="2020-05-26T05:25:12Z" level=info msg= "Generated random admin password: wJm-TzIzQrRNx7d1fWMdcscu_1pN5Xs0"
Important
The addition or removal of nodes in subsequent Launchpad runs will fail if
the password is not provided in the launchpad.yaml
file.
See also