This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Cloud Provider

Info about the cloud providers available

This Page includes more info about different cloud providers

1 - Amazon Web Services

Amazon Web Services

AWS integration for High Availability and Managed Kubernetes Clusters

Authentication Methods

Environment Variables

Set the following environment variables:

export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""

Command Line Interface

Use the ksctl credential manager:

ksctl cred

Available Cluster Types

Highly Available (HA) Clusters

Self-managed clusters with the following components:

  • Distributed etcd database instances
  • HAProxy load balancer for control plane high availability
  • Multiple control plane nodes
  • Worker nodes

Choose between two bootstrap options:

  • k3s (lightweight Kubernetes distribution)
  • kubeadm (official Kubernetes bootstrap tool)

Amazon EKS (Managed Clusters)

Elastic Kubernetes Service deployment with automated:

  • IAM role creation and management
  • Control plane setup
  • Node group configuration

IAM Configuration

For each cluster, ksctl creates two roles:

  • ksctl-<clustername>-wp-role: Manages node pool permissions
  • ksctl-<clustername>-cp-role: Handles control plane access

Required IAM Policies

  1. Custom IAM Role Access Policy
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor6",
            "Effect": "Allow",
            "Action": [
                "iam:CreateInstanceProfile",
                "iam:DeleteInstanceProfile",
                "iam:GetRole",
                "iam:GetInstanceProfile",
                "iam:RemoveRoleFromInstanceProfile",
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "iam:ListInstanceProfiles",
                "iam:AddRoleToInstanceProfile",
                "iam:ListInstanceProfilesForRole",
                "iam:PassRole",
                "iam:CreateServiceLinkedRole",
                "iam:DetachRolePolicy",
                "iam:DeleteRolePolicy",
                "iam:DeleteServiceLinkedRole",
                "iam:GetRolePolicy",
                "iam:SetSecurityTokenServicePreferences"
            ],
            "Resource": [
                "arn:aws:iam::*:role/ksctl-*",
                "arn:aws:iam::*:instance-profile/*"
            ]
        }
    ]
}
  1. Custom EKS Access Policy
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "eks:ListNodegroups",
                "eks:ListClusters",
                "eks:*"
            ],
            "Resource": "*"
        }
    ]
}
  1. AWS Managed Policies Required
  • AmazonEC2FullAccess
  • IAMReadOnlyAccess

Looking for CLI Commands?

All CLI commands mentioned in this documentation have detailed explanations in our command reference guide.

2 - Azure

Azure Cloud Provider

Azure support for High Availability and Managed Kubernetes Clusters

Azure Credential Requirements

Subscription ID

Your Azure subscription identifier can be found in your subscription details.

azure-subscription

Tenant ID

Located in the Azure Dashboard, which provides access to all required credentials.

azure-dashboard

To locate your Tenant ID:

Client ID (Application ID)

Represents the identifier of your registered application.

Steps to create:

  1. Navigate to App Registrations

  1. Register a new application

  2. Obtain the Client ID

Client Secret

Authentication key for your registered application.

Steps to generate:

  1. Access secret creation create app secret

  2. Configure secret settings after-click

  3. Save the generated secret copy-secret

Role Assignment

Configure application permissions:

  1. Navigate to Subscriptions > Access Control (IAM)
  2. Select “Role Assignment”
  3. Click “Add > Add Role Assignment”
  4. Create new role and specify the application name
  5. Configure desired permissions

role-assign-app

Authentication Methods

Environment Variables

export AZURE_TENANT_ID=""
export AZURE_SUBSCRIPTION_ID=""
export AZURE_CLIENT_ID=""
export AZURE_CLIENT_SECRET=""

Command Line Interface

ksctl cred

Available Cluster Types

High Availability (HA) Clusters

Self-managed clusters with the following components:

  • Distributed etcd database instances
  • HAProxy load balancer for control plane high availability
  • Multiple control plane nodes
  • Worker nodes

Bootstrap options:

  • k3s (lightweight Kubernetes distribution)
  • kubeadm (official Kubernetes bootstrap tool)

Azure Kubernetes Service (AKS)

Fully managed Kubernetes service by Azure.

Cluster Management Features

Looking for CLI Commands?

All CLI commands mentioned in this documentation have detailed explanations in our command reference guide.

3 - Civo

Civo Cloud Provider

Civo support for High Availability and Managed Kubernetes Clusters

Obtaining Civo Credentials

1. Access API Settings

Navigate to your Civo dashboard settings:

2. Open Profile Settings

Select your profile section:

3. Generate API Key

Access the API keys section and create or copy your API token:

Authentication Methods

Environment Variables

Set your Civo API token:

export CIVO_TOKEN=""

Command Line Interface

Use the ksctl credential manager:

ksctl cred

Available Cluster Types

High Availability (HA) Clusters

Self-managed clusters with the following components:

  • Distributed etcd database instances
  • HAProxy load balancer for control plane high availability
  • Multiple control plane nodes
  • Worker nodes

Bootstrap options:

  • k3s (lightweight Kubernetes distribution)
  • kubeadm (official Kubernetes bootstrap tool)

Civo Kubernetes Service (CKS)

Fully managed Kubernetes service by Civo.

Cluster Management Features

Looking for CLI Commands?

All CLI commands mentioned in this documentation have detailed explanations in our command reference guide.

4 - Google Cloud Platform

Google Cloud Platform

Gcp support for HA and Managed Clusters

5 - Local

Local Provider

It creates cluster on the host machine utilizing kind

Current features

currently using Kind Kubernetes in Docker

Looking for CLI Commands?

All CLI commands mentioned in this documentation have detailed explanations in our command reference guide.