docs: refresh CLI examples and manifests for kOps 1.37 - #18754
Merged
kubernetes-prow[bot] merged 1 commit intoAug 27, 2026
Conversation
Every YAML example under docs/ was strict-decoded through the kOps API scheme, and every documented kops command was checked against the 1.37 flag set. Fix examples that current kOps would reject: * networking.kubeRouter and calico.IPIPMode do not match the JSON tags in the API types; they are kuberouter and ipipMode * clusterAutoscaler.scaleDownUtilizationThreshold and a kubeAPIServer env value were unquoted numbers, but both fields are strings * an InstanceGroup in the Spot Ocean docs had its spec nested under metadata * iam_roles used the long-removed zones field instead of subnets * the GPU taint was shown as a Kubernetes taint object, but the kOps taints field takes strings * a missing line continuation split the GCE create cluster command Rename the flags that moved to control-plane naming (--master-zones, --master-size, --master-count, --master-volume-size, --master-interval) and --vpc, which is now --network-id. kops toolbox instance-selector takes the instance group name as a positional argument. Drop the containerRuntime and spec.docker sections, as validation now rejects containerRuntime: docker outright. Refresh stale versions and images: Kubernetes 1.36.4, containerd 2.3.4, and Ubuntu 24.04 in place of focal, CoreOS, kope.io and debian-9 references. The exported manifest in manifests_and_customizing_via_api was regenerated with kops create cluster --dry-run -o yaml. Remove the Ubuntu 20.04 and Debian 10 sections from the images doc. Both distros were removed in kOps 1.36 and were the only removed distros still listed under Supported Distros. Examples stay on the v1alpha2 apiVersion, which is what kOps writes.
Member
|
/override pull-kops-e2e-k8s-aws-calico |
Contributor
|
@hakman: Overrode contexts on behalf of hakman: pull-kops-e2e-k8s-aws-calico DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Member
|
/lgtm |
Contributor
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: hakman The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every YAML example under
docs/was strict-decoded through the kOps API scheme, and every documentedkopscommand was checked against the 1.37 flag set. That surfaced a number of examples that current kOps would reject outright.Examples that would be rejected today
networking.kubeRouterandcalico.IPIPModedo not match the JSON tags in the API types — they arekuberouterandipipMode.clusterAutoscaler.scaleDownUtilizationThresholdand akubeAPIServerenv value were unquoted numbers, but both fields are strings.specnested undermetadata.iam_roles.mdused the long-removedzonesfield instead ofsubnets.taintsfield takes strings; the value kOps actually sets isnvidia.com/gpu:NoSchedule.kops create clustercommand.Renamed flags
--master-zones,--master-size,--master-count,--master-volume-sizeand--master-intervalmoved to--control-plane-*, and--vpcis now--network-id.kops toolbox instance-selectortakes the instance group name as a positional argument.Removed features
Dropped the
containerRuntimeandspec.dockersections — validation now rejectscontainerRuntime: dockeroutright, anddocker.servicein the hooks example becamecontainerd.service.Stale versions and images
Kubernetes 1.36.4 (latest recommended in
channels/stable), containerd 2.3.4, and Ubuntu 24.04 in place of focal, CoreOS,kope.ioand debian-9 references. The exported manifest inmanifests_and_customizing_via_api.mdwas regenerated withkops create cluster --dry-run -o yamlrather than hand-edited.Worth a look during review
images.md— I removed the "Ubuntu 20.04 (Focal)" and "Debian 10 (Buster)" sections. Both were removed in kOps 1.36 and were the only removed distros still listed under "Supported Distros". This leaves a dead fragment in an old release note (the page still resolves, just not the anchor). Happy to drop this hunk if you'd rather keep them.coreos-kops-tests-multimaster.md— only the flags were fixed. The doc is an end-to-end CoreOS tutorial and CoreOS was removed in kOps 1.18, so the AMI IDs andcoreos.comURLs are all dead. It probably wants deleting or rewriting against a supported distro, which felt out of scope here.Examples stay on the
v1alpha2apiVersion, which is what kOps writes today.59 YAML blocks still do not strict-decode; each was checked by hand and they are intentional
...elisions, Go templates incluster_template.md, non-kOps manifests, and shell transcripts.🤖 Generated with Claude Code
https://claude.ai/code/session_01UwhWXUuoWwsv9WSzGAkanj