Clusters and cloud providers¶
Hub Clusters is the list of every Kubernetes cluster the organization can use. The page title is Hub Clusters. The line under it is Manage and monitor all your clusters. The page is /dks/hub/clusters.
The sidebar item is Clusters, not Hub. That first page lists clusters Door runs, and its title is Clusters. An organization can have Hub clusters while that list says No clusters yet. The card under it is Manage Hub Clusters. The line on the card is View hub clusters, add from a Cloud Provider or directly with the api server url. The button is Hub Cluster.
A cluster gets onto this page in one of two ways. Connect a cloud account first, then import a cluster from it. Or join any cluster yourself, with its API address. A cluster Door creates is a third path, Door Kubernetes Service.
Pick a path¶
| Your cluster | What you open |
|---|---|
| It already runs in AWS, Google Cloud, or Azure, and that account can list it | Cloud Providers, then Import |
| It runs somewhere else, or you run it yourself | Manually Add Cluster |
| You want Door to create the cluster | Door Kubernetes Service, on the Clusters page. That New Cluster is a different button from New Cluster on Hub Clusters |
One organization can hold all three. An environment can sit on any cluster in this list, including clusters on different clouds.
After the cluster is in the list¶
The row is not enough. Door reads CPU, memory, and reachability through an agent on that cluster.
- Open the row menu and choose Agent Installation.
- The dialog title is Agent installation, or Agent installation — plus the cluster name. The line under it is Run these commands in your terminal to install the Door agent on this cluster. Copy Installation script and run it where you administer that cluster. Close leaves the dialog.
- Wait until Status is Ready. Provisioning means Door is still bringing it in. Not Available and Failed mean the console cannot use it yet. An environment on that cluster can receive an application once the status is Ready. A cluster created with Door Kubernetes Service can already show Ready without this script.
- Create the environment once the row says Ready.
Connect a cloud provider, then import¶
Do this when the cluster already runs in AWS, Google Cloud, or Azure.
- On Hub Clusters, the card Cloud Providers lists AWS, GCP, and Azure. Each tile shows CONNECT until that account is linked. The line under the title is Add cluster from a Cloud Provider or directly with the api server url.
- Click CONNECT on the provider, or Connect New Cloud Provider. The form title is Connect New Cloud Provider. The line under it is Link a cloud provider to your organization.
-
Pick AWS, GCP, or Azure. The form opens on AWS. On an edit, the provider cannot be changed.
Provider What the form asks for AWS Cluster Name, Default Region, then Authentication: Access Key, Secret Key, and an optional Session Token. GCP Cluster Name, Default Region, then File: Upload File for the service account JSON. Azure Cluster Name, Default Region, then Authentication: Client ID, Client Secret, Subscription ID, Tenant ID, and Resource Group. -
Connect Cloud Provider saves the account. The tile is then a connected account. Select it. The page says Manage and import clusters from your connected cloud accounts. The header button on that view is Manually Add Cluster.
- Pick the region if the account has more than one. Switch Cloud Provider returns to the tiles. The search box is Filter discoverable clusters.... Refresh reloads the list.
- The columns are Cluster name, Region, K8s version, and Action. Import brings that cluster into Door. A cluster already in Door says Imported. A cluster the account cannot manage says No access.
- If the region has nothing to import, the page says No clusters to import, then: We did not find any discoverable clusters in this cloud account for the selected region. Try another region, refresh, or add a cluster manually.
Edit on a connected tile opens Edit Cloud Provider. The line under that title is Update credentials and settings for this cloud provider. The button is Update Cloud Provider. On AWS and Azure, leave a secret blank to keep the current value. The Azure line says Update credentials. Leave client secret blank to keep the current value. The AWS line says Update credentials. Leave secret fields blank to keep current values. On GCP, upload a new file only to rotate the key. The line says Upload a new service account JSON only if you need to rotate credentials.
Delete asks Delete cloud provider? The line is This permanently removes the account from your organization. This action cannot be undone. The buttons are Cancel and Delete cloud provider.
While the import list loads, the page says Loading discoverable clusters. If the account cannot be read, the title is Unable to load cloud provider, and the button is Try again. A failed import says Import failed.
This walkthrough stops before Connect Cloud Provider and before Import.
Join any cluster¶
Do this for a cluster that is not listed by AWS, GCP, or Azure: a cluster on another cloud, or a cluster you run yourself.
- On Hub Clusters, the card Manually Add New Cluster says Add a cluster directly with the api server url. Click Manually Add Cluster. New Cluster at the top of the page opens the same dialog.
- The dialog title is Add New Cluster. The line under it is Enter the details to manually connect your cluster.
- Set Cluster Name (placeholder
e.g. staging-cluster-01), Cluster Type (placeholder Select a type...), and Cluster API Server URL (placeholderhttps://api.cluster.example.com). - Add Cluster saves it. Cancel leaves the dialog without saving. The corner control is Close. This walkthrough stops before Add Cluster.
The dialog refuses an empty field:
| Message | When |
|---|---|
| Cluster name is required. | Cluster Name is empty. |
| Cluster type is required. | Cluster Type is still Select a type.... |
| Cluster API server URL is required. | Cluster API Server URL is empty. |
| Enter a valid HTTP or HTTPS API server URL. | The address is not http:// or https://. |
| Enter a valid API server URL. | The address is not a URL. |
If the type list fails to load, the dialog says Try again. While it loads, the label is Loading cluster types. On Others inside Connect New Cloud Provider, the save button is Connect Cluster, not Connect Cloud Provider.
The same fields exist if you open Connect New Cloud Provider and choose Others. The section title there is also Add New Cluster.
After the cluster is in the list, open the row menu and choose Agent Installation. The dialog title is Agent installation, or Agent installation — plus the cluster name. The line under it is Run these commands in your terminal to install the Door agent on this cluster. The block is Installation script. Close leaves the dialog. Door uses that agent to read status, CPU, and memory. Until it is installed, the row can stay unreachable.
Everything on Hub Clusters¶
The demo organization, on the day this was checked, listed three clusters.
| Cluster | Status | What the row showed |
|---|---|---|
| group-cluster | Ready | CPU and memory in use, last seen a few seconds ago |
| cp-canary | Not Available | The console could not reach it |
| cp-canary-in | Not Available | The console could not reach it |
Not Available means the console cannot reach that cluster. An application cannot deploy into an environment on it until the status changes. Those two rows were counted under the Failed filter.
| Control | What it does |
|---|---|
| Filter clusters by name... | Narrows the table by name. |
| All, Ready, Provisioning, Failed | Filters by status. Each pill shows a count. Failed includes Not Available. |
| Cluster | The name, with the provider icon. |
| Status | Ready when Door can use the cluster. A row that still needs the agent can read WaitingForInstall. Provisioning, Failed, and Not Available are the other values this list uses. |
| Type | The provider icon. |
| CPU and Memory | How full the cluster is. An empty reading is —. |
| Last seen | When Door last heard from the cluster. |
| Actions | Analyze with Maya on the row. The row menu is Agent Installation, Update, and Delete. |
| Footer | Showing 1 to 3 of 3 clusters in the demo list, with Previous and Next. |
An empty organization says No data found. A search with no match says No clusters match your filters or search.
Update opens Update Cluster. The line under it is Update the connection details for this cluster. The button is Update Cluster. While it loads, the dialog says Loading cluster details.
Delete asks Delete cluster? The line is This permanently removes the cluster and related resources from your organization. This action cannot be undone. The buttons are Cancel and Delete cluster. The row menu on Hub Clusters does not offer Force delete.
Door Kubernetes clusters¶
New Cluster on the Clusters page (/dks/clusters) creates a cluster that Door runs. That is Getting started. It is not an import, and it is not New Cluster on Hub Clusters. A Door cluster can still receive an environment, the same way an imported cluster can.
What this does not do¶
- Deploy an application. That is Door DevOps, after the cluster has an environment.
- Click CONNECT, Import, or Add Cluster. Those save a real account or cluster. This page stops on the form.
- Create the registry. A Super Admin does that. See Access.