Azure / Azure/kars

`kars up` fails: hardcoded `kubernetesVersion: '1.33'` is Long-Term-Support-only in some regions

Open
#516 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
42
Forks
10
Avg merge
1d 11h
Merged PRs (30d)
19

Description

### Summary

After working around the ACR Content Trust issue, `kars up` fails again because the AKS module pins a Kubernetes version that Azure no longer offers on the standard support plan in all regions.

### Version

- `@kars-runtime/cli@0.1.26`
- Region tested: `westus3`

### Error

```
K8sVersionNotSupported: Managed cluster -aks is on version 1.33.13, which is
only available for Long-Term Support (LTS). To enable LTS on the cluster, see
https://aka.ms/aks/enable-lts.
```

### Root cause

`dist/deploy/bicep/modules/aks.bicep`:

```bicep
kubernetesVersion: '1.33'
```

Hardcoded, not a Bicep parameter, and not surfaced as a `kars up` flag — so there is no supported way to override it.

In `westus3` today, `az aks get-versions` reports:

| Version | Support plan |
|---|---|
| 1.36 | KubernetesOfficial, AKSLongTermSupport |
| 1.35 | KubernetesOfficial, AKSLongTermSupport |
| 1.34 | KubernetesOfficial, AKSLongTermSupport |
| 1.33 | **AKSLongTermSupport only** |
| 1.32 | AKSLongTermSupport only |

### Suggested fix

Either:

1. Expose `kubernetesVersion` as a `kars up` flag and a Bicep parameter, or
2. Omit `kubernetesVersion` entirely and let AKS pick its default, or
3. Track a currently-supported version and add CI that fails when the pin drops off the standard support plan.

Option 3 combined with 1 would prevent recurrence. This is the second hardcoded value in the same deployment that current Azure rejects, so a general "pinned values drift out of support" check may be worth more than either individual fix.

Setting `1.34` locally was sufficient to get past this error.

Contributor guide

Open the contributing guide

Research direction

Start with dist/deploy/bicep/modules/aks.bicep and trace how `kars up` supplies deployment parameters. Use `az aks get-versions` for the tested region to understand the supported-version requirement, then inspect the CLI and deployment flow for the chosen fix. Done means `kars up` can deploy in regions where Kubernetes 1.33 is LTS-only, with coverage for the supported-version behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, kubernetes
Domain
cli, cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.