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 Self-Managed and Managed Kubernetes Clusters

Authentication Methods

Command Line Interface

Use the ksctl credential manager:

ksctl configure cloud

Available Cluster Types

Self-Managed 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 Self-Managed 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

Command Line Interface

ksctl configure cloud

Available Cluster Types

Self-Managed 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 - Kind

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.