Cloud-init configuration for setting up Kubernetes clusters
k8scloudconfig library uses semver versioning scheme. Please follow simple rules, when creating new version:
- Increment MAJOR version number when breaking library API changes introduced.
- Increment PATCH version number for critical bug fixes. Patch release needs to be immediately included into patch release of operator.
- Increment MINOR version number for all other changes.
- WIP releases are only possible for major and minor version updates. Patch releases should be immediately frozen.
Examples:
- "Hyperkube upgrade from 1.9.5 to 1.10.1" is a minor version upgrade.
- "New field
DisableCalico
added toParams
struct" is a major version upgrade. - "Kubelet configuration changed to prevent stuck in terminating state pods" is a patch version upgrade.
Versions for core components such as Kubernetes are passed in to templates via Params
at runtime. Certain versions
require changes to templates to function correctly so versions are validated when generating the cloud config. If you
see a validation error in operator logs, check pkg/key/key.go
for the current version constraints and edit the
component version or constraints (after testing/adjusting templates) as needed.