Short URL: http://j.mp/pmx_installagent
Installing the Panamax Remote Agent allows you to deploy your application directly from your Panamax client to a deployment endpoint. The following describes the process for preparing your deployment environment and how to install the Panamax Remote Agent and adapter for your specific orchestrator.
Panamax allows you to deploy your application to any node or cluster of nodes utilizing our remote agent. The first step is to setup your deployment endpoint on the cloud provider of your choice with the orchestrator of your choice. The following links should provide some guidance on how to setup an environment with specific orchestrators that Panamax currently supports:
###Kubernetes Learn more about the Kubernetes Adapter
Kubernetes Project Home - lots of guides for setting up Kubernetes on different environments
Getting started on Google Compute Engine
How To Install and Configure Kubernetes on top of a CoreOS Cluster
Multi-node CoreOS Cluster Setup
###Fleet/etcd Learn more about the Fleet Adapter
Installing CoreOS On CenturyLink Cloud
Building CoreOS Server Cluster on the CenturyLink Cloud
Running CoreOS on Google Compute Engine
###Marathon Learn more about the Marathon Adapter
Getting started using Playa/Mesos
Installing Mesosphere in the Cloud
In order to install and utilize the Panamax Remote Agent, Panamax uses a dedicated installer node. The Panamax remote agent can run on Linux with docker installed. However, we recommend using CoreOS for simplicity.
Following the normal methods of adding a CoreOS VM with your cloud provider. Ensure that the node resides on the same VPN as your deployment node or cluster and the node has a publicly accessible IP.
Ensure tcp port 3001 is open on your Panamax Remote Agent node.
To test connectivity to cluster, run:
Kubernetes:
$ telnet <kubernetes_master_IP> 443
- connection should be successful
Fleet:
$ telnet <public_exposed_fleet_node_IP> 4001
- connection should be successful
Docker must be installed on the node. This step is not necessary if using CoreOS as the Remote Agent. Use the following steps to install the Panamax Remote Agent:
- SSH into the Panamax remote agent node created above
- Run
$ sudo su
to ensure your docker commands will run with correct privileges - Run
$ sudo bash -c "$(curl http://download.panamax.io/agent/pmx-agent-install)"
- Execute
$ cd /root/pmx-agent && ./pmx-agent
to invoke agent setup script. - Select (1) -
init
, to begin the installation process - Follow the prompts, including choosing your adapter, adding your API endpoint (typically a private IP) and Panamax Remote Agent endpoint (typically a public IP)
- Copy the displayed token (needed when adding the deployment endpoint to the client)
Notes for Kubernetes Adapter:
- The API endpoint url (kubernetes-master node) should include
https://
and no port. For example:https://10.x.x.x
. This is typically a private IP - where kubernetes apiserver service is exposed. Run the commandkubectl get services
to list the running services and find the one with apiserver LABEL and PORT 443 as below:
NAME LABELS SELECTOR IP PORT
kubernetes component=apiserver,provider=kubernetes <none> 11.1.1.2 443
As shown above, the private IP is: 11.1.1.2, hence the API endpoint url is: https://11.1.1.2
-
The default API username is
admin
and your password is located in$ ~/.kubernetes_auth
. -
The installer optionally allows you to provide an IP address for an external load balancer. More details about Kubernetes' external services can be found here. A load balancer from your cloud provider (or a software load balancer like haproxy configured by you) can be pointed at the correct exposed ports across the nodes of your cluster to provide a consistent external access point that will survive changes within the cluster.
Notes for Fleet Adapter:
- The API endpoint url, which can be of any Fleet enabled node running in the cluster, should include
http://
and port 4001. For example:http://10.x.x.x:4001
. This is typically a private IP.
Notes for Marathon Adapter:
- The API endpoint url, the marathon master node, should include
http://
and port 8080. For example:http://10.x.x.x:8080
. This is typically a private IP.
Notes for running on Google Container Engine:
-
The API endpoint url (k8s-containercluster-master) should include
https://
and no port. For example:https://10.x.x.x
. This is typically a private IP. -
The default API username is
admin
and your password can be discovered by running the following commands where you have gcloud installed:$ gcloud components update preview
$ gcloud preview container clusters list -z _ZONE_
You can run $ ./pmx-agent
to reinstall, upgrade and run other options for the remote agent. The folder is located under root home. Access the folder, following these steps:
$ sudo su
$ cd ~/pmx-agent
$ ./pmx-agent
- Learn more about the Fleet Adapter
- Learn more about the Kubernetes Adapter
With you copied token, browse to the Dashboard on the Panamax client and select Remote Deployment Targets:
Click on Add a new Remote Deployment Target, enter a friendly name and your copied token from the Remote Agent:
Click Create Remote Deployment Target to save. The deploy target is now available to deploy applications.
Kubernetes Adapter Troublshooting
The Panamax CLI (pmxcli
) is a stand-alone command-line utility for interacting with a remote agent. It offers the basic remote deployment features of Panamax in a smaller download free from all dependencies.
If you already have Panamax already (installer 0.6.0+), you already have the Panamax CLI installed. To test, run pmxcli
in a terminal window on your local machine.
If you'd like pmxcli stand-alone, 64-bit binaries for OSX and Linux are available for direct download. Remember that you'll need to give yourself execute permissions after the file is downloaded, and you'll need to place it somewhere in your PATH (we'd suggest /usr/local/bin) if you'd like to run it from anywhere.
For example from the OSX terminal:
$ curl -O http://download.panamax.io/panamaxcli/panamaxcli-darwin && mv panamaxcli-darwin /usr/local/bin/pmxcli && chmod 755 /usr/local/bin/pmxcli
or Linux:
curl -O http://download.panamax.io/panamaxcli/panamaxcli-linux && mv panamaxcli-linux /usr/local/bin/pmxcli && chmod 755 /usr/local/bin/pmxcli