A simple tool to create ephemeral AKS Clusters
Project description
Kina - Kubernetes in Azure
Inspired by kind, Kina aims to spawn Kubernetes clusters in Azure and add them to your local kubectl config with minimal fuss.
[!WARNING] These clusters are not suitable for production workloads and have several developer features enabled by default.
Installation
Kina is managed via uv. While tools like pip or pipx may work, only uv is officially supported.
$ uv tool install kina
If this is your first time using uv, make sure it's tools directory is in your PATH, e.g. ~/.local/bin.
Usage
Create an AKS Cluster
[!TIP] Kina reads your
~/.azure/azureProfile.jsonfor configuration, specifically using the currently active Subscription ID as the base for resource creation.
$ kina create
This creates a Kubernetes cluster in uksouth using the latest version and sensible defaults for local development. You can override the location with the --location flag:
Create Multiple VNet-Peered AKS Clusters
To test multi-cluster service meshes (e.g. Linkerd, Istio) or eBPF-based solutions like Cilium, you can spawn multiple VNet-peered clusters:
$ kina create --locations="uksouth,ukwest,northeurope,westeurope"
Kina assigns IP ranges as follows:
- Virtual Network CIDR:
10.0.0.0/16 - Pod CIDR:
10.1.0.0/16 - Service CIDR:
10.2.0.0/16
Subsequent locations increment accordingly:
- Virtual Network CIDR:
10.3.0.0/16 - Pod CIDR:
10.4.0.0/16 - Service CIDR:
10.5.0.0/16
And so on.
Listing Kina Instances
List your Kina clusters with: $ kina list
You can specify output formats using --output, e.g. table, json, or names.
$ kina list
┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Name ┃ Location(s) ┃ Created By ┃ Created At ┃ Status ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ kina-1eoyoe │ uksouth │ example@example.onmicrosoft.com │ 2025-05-12 16:12:19 │ Creating │
└─────────────┴─────────────┴─────────────────────────────────┴─────────────────────┴──────────┘
$ kina list -o json
[
{
"name": "kina-1eoyoe",
"locations": "uksouth",
"created_by": "example@example.onmicrosoft.com"
}
]
$ kina list -o names
kina-1eoyoe
FAQs
Q: Sometimes I get a DNS lookup failure, e.g. Unable to connect to the server: dial tcp: lookup kina-277rtg-uksouth-ey6vbz58.hcp.uksouth.azmk8s.io: no such host:
A: Because we create the AKS Clusters asynchronously, sometimes we've actually configured kubectl before Microsoft has published a DNS record for the cluster. Wait a few minutes and try again.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kina-1.4.0.tar.gz.
File metadata
- Download URL: kina-1.4.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f912e91079e504aded0856fabb21167ebd8bdcf202f5a51d89e9d4afd76485f4
|
|
| MD5 |
72116aeb98223316aba1b6c7d4331944
|
|
| BLAKE2b-256 |
445d1ce79aeed02439b880e6118b76575d96d7a7e53bd430673526a2afddd960
|
File details
Details for the file kina-1.4.0-py3-none-any.whl.
File metadata
- Download URL: kina-1.4.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aea2621e6f7d280a92effeabbebaa063e10fb344dcd75c21c036addcfa38b2c5
|
|
| MD5 |
7fbbbb2630665b27889db0458a2e6249
|
|
| BLAKE2b-256 |
7ee4679460a01d3d99c4b2da6ab4bc33ac23e7b2bbc3968c69a7613c3ab47ad2
|