What’s new with Microsoft in open-source and Kubernetes at KubeCon North America 2024
At Microsoft, we are committed to innovation in the cloud-native ecosystem through…
7-minute read
Post by Mesosphere’s Phil Simpson and Microsoft’s Rob Bagby
We are happy to announce the availability of Mesosphere DC/OS Enterprise in the Azure Marketplace. DC/OS Enterprise on Azure allows organizations to eliminate the lag time of procuring new hardware and related equipment while simultaneously accelerating hybrid initiatives and reducing the waste incurred as capital and operational costs.
Built on Apache Mesos, DC/OS, provides a unified platform for a wide range of workloads from Docker container orchestration to big data (i.e., SMACK stack) and machine learning. DC/OS Enterprise builds on open source DC/OS and has additional capabilities, including multi-tenancy, security capabilities such as encrypted control plane for compliance, and based secrets management service.
In this post, we will walk through how you can easily deploy Mesosphere DC/OS from the Azure Marketplace and help your businesses decrease time to market, save on cloud and infrastructure costs, and ensure resilient applications.
Azure subscription: If you don’t have one, sign up for a free trial. For a larger cluster, consider a pay-as-you go subscription or other purchase options.
Note: Your Azure subscription usage and resource quotas, such as cores quotas, can limit the size of the cluster you deploy. To request a quota increase, open an online customer support request at no charge.
SSH RSA public key: When deploying through the portal or one of the Azure quickstart templates, you need to provide the public key for authentication against Azure Container Service virtual machines. To create Secure Shell (SSH) RSA keys, see the OS X and Linux or Windows guidance.
The first thing we need to do is to deploy Enterprise DC/OS in Azure. The following will step you through the process:
1) Log in to the Azure portal
2) Search for and choose ‘Enterprise DC/OS on Azure’
3) Deploy the DC/OS cluster
4) Fill in details for Blade 1 – Basics – and click ‘OK’
5) Fill in details for Blade 2 – DC/OS Details – and click ‘OK’
6) Fill in details for Blade 3 – Private Agent Details – and click ‘OK’
7) Fill in details for Blade 4 – Public Agent Details – and click ‘OK’
8) Validate your choices in Blade 5 – Summary – and click ‘OK’
9) Read through the Terms of Use in Blade 6 – Buy – and if you agree with the terms, click ‘Create’
Once the cluster has been created, you will likely want to connect to the DC/OS UI. If you set ‘Disable password login’ to false you can use the following steps to login to the DC/OS UI.
1) Login to the Azure portal
2) Click on the Resource Group containing your cluster
3) Click on the ‘1 Succeeded’ link under Deployments
4) Click on the deployment
5) Copy the DCOSLOGINURL output
6) Paste the URL into a browser
Note: you will receive a self-signed certificate error. Depending upon your browser, follow the steps to go to the site and ignore the warning.
7) Please note: there is currently a bug when you first go to the DC/OS Login page. You may see the following:
8) Login with the DC/OS Username and DC/OS Password you entered in Blade 2 above.
9) You should be logged in to the DC/OS UI
Once the cluster has been created, you will likely want to install the CLI (if you have not already done so) and configure it for your cluster. The following is the Mesosphere guidance on installing the CLI.
Once you have the CLI installed on your system, the guidance indicates that you should run the following command:
dcos cluster setup http://example.com
The question you may rightly have is: “What do I enter for http://example.com.” The answer is that you need to find the DNS name for the Public IP that is sitting in front of the Load Balancer for the master(s). The following are the steps to find the DNS name:
1) Login to the Azure portal
2) Click on the Resource Group containing your cluster
3) Sort the resources by type and locate the public IP for the master Load Balancer. Click it.
4) Copy the DNS Name
5) Given the above example, I would run the following command:
dcos cluster setup http://dcosy7gmij7vsqjpc.westus.cloudapp.azure.com
6) Enter the DC/OS Username and DC/OS Password you entered in blade 2 when prompted.
You should now have the CLI installed and configured.
The cluster has a jumpVM that you can SSH into. From there you can SSH into the other nodes such as the private agent nodes.
Regardless if you are using Bash or Putty on windows, you need the SSH string. The following steps illustrate how to get to it from the Azure portal.
1) Login to the Azure portal
2) Click on the Resource Group containing your cluster
3) Click on the ‘1 Succeeded’ link under Deployments
4) Click on the deployment
5) Copy the JUMPCONNECTIONSTRING to the clipboard
The following steps illustrate how to SSH into the jump box node from a Bash shell.
1) Open a bash shell.
2) Paste the JUMPCONNECTIONSTRING into the shell.
3) Enter ‘core’ for the username.
4) Enter the SSH Password (the password you set when you created the SSH key) for the password.
The following steps illustrate how to SSH into an agent (or master node) from a Bash shell.
1) First, we need to get the private IP address for the node we want to SSH to login to the Azure portal.
2) Click on the Resource Group containing your cluster.
3) Sort the resources by type, then click on the dcosVirtualNetwork link.
4) Find the IP address to the node you want to SSH into. For example, in my cluster, if I want to SSH into the first private agent, the IP address is 10.32.8.4.
5) From the Bash shell where you SSHed into the jump box, type the following command:
ssh core@the_ipaddress_of_your_node. In my example: ssh core@10.32.8.4
The following steps illustrate how to SSH into the jump box VM from putty.
1) Ensure that you have Putty and Pageant installed on your machine. You can find the latest downloads here.
2) Configure Pageant:
3) Run Putty
In order to SSH into an agent, you can follow the same steps as in the Bash instructions.
Follow the instructions here in order to deploy a load balanced web app.