Breaking changes
Significant changes
- kops now supports running with objects as CRDs, stored in a kubernetes apiserver.
- The apiGroup for kops objects has changed from
kops
to , to support CRDs. You can continue to provide either apiGroup as input (but you should ideally move tokops.k8s.io
), but the output will always be of thekops.k8s.io
form. - Rolling updates are much faster by default. A lot of the time-padding that was in previous versions has been replaced with reliance on validation. The
--cloudonly
case is much faster than previously, which we believe to be correct because we expect this is normally for disaster-recovery scenarios, but you may want to specify longer timings via flags if you are relying on time-based delays.
Required Actions
Full change list since 1.14.0 release
kops 1.14.0-beta.2 to 1.15.0-alpha.1
- Release 1.14.0-alpha.1 @justinsb
- Put 1.13 and 1.14 into channels @justinsb
- 1.12 release notes: populate list of PRs @justinsb
- Carry Provisioned IOPS to Terraform and CloudFormation templates @mmailhos
- pin nvidia-docker2 version to avoid installation failure @adrianlyjak
- pkg/model: Fix dropped error @alrs
- Using const() defines constants together (part:1) @alrs, #6789
- Using const() defines constants together (part:3) #6791
- Update rules go #6766
- Update etcd3-migration.md doc ,@mikesplain
- KubeAPIServer HTTP2 Stream Parameter @gambol99
- Refactor names of URLs in assets to clarify their purpose @justinsb
- Update docker README.md file, delete @xichengliudui
- Switch to golang 1.11.5 @justinsb
- Switch to golang 1.12.1 @justinsb
- Using const() defines constants together (part:3) @xichengliudui
- Using const() defines constants together (part:4) @xichengliudui
- [docs] Use env var for state store examples @elithrar
- Update README.md @wangxy518
- set kubernetes version to 1.12.8 to match current release @chrisz100
- Canal manifest updates for k8s v1.12+ @KashifSaadat
- Update readme chart given alphas and betas @mikesplain
- Fix typo in aws-iam-authenticator image field name @rifelpet
- Remove verify bazel and expose error @mikesplain
- Add t3a family @mikesplain
- Add support for AWS ap-east-1 region @wxdao
- update tolerations to openstack external cloud provider @zetaab
- [Unit Tests] Add unit tests for create_kubecfg file @srikiz
- Protect against nil derefence @justinsb
- Support Scale from 0 with Lauch Templates @granular-ryanbonham
- Remove spurious cadvisor dependency @justinsb
- makefile: add gazelle alias for bazel-gazelle @justinsb
- bazel: fix distroless imports for latest bazel @justinsb
- Update kubernetes dependencies to k8s 1.13.5 @justinsb
- Switch from glog to klog @justinsb
- travis: Remove go-vet and boilerplate checking @justinsb
- Use existing SSHKeyName if no public key is created. @rralcala
- Start CRDification: Change apigroup to kops.k8s.io @justinsb
- Simply bazel test using exclude pattern @justinsb
- Include aws-cloud-provider roles in 1.15 @justinsb
- Fix machine types with klog @mikesplain
- Avoid concurrent write corruption to /etc/hosts @justinsb
- Add i3en instance types @mikesplain
- Fix typo in docker healthcheck @TristanPeers
- Update to etcd-manager 1.0.20190509 @justinsb
- Call klog.InitFlags in dns-controller @justinsb
- Use klog logging from 1.15 @justinsb
- S3 VFS: Default to current region from metadata service @justinsb
- Canal v3.7.2 for k8s v1.12+ @KashifSaadat
- Subnet Update Consistency @drekle
- Configure AMIs for 1.12 @justinsb
- Fix Docker not being installed on Ubuntu 16.04 @mfrister
- bumped k8s 1.11 versions to 1.11.10 in alpha channel @idealhack
- Issue #6945 @pkutishch
- Generate CRDs for kops API types @justinsb
- etcd-manager: Update to 3.0.20190513 @justinsb
- add node-exporter to allowed ports @zetaab
- Make gofmt fails find usage @drekle
- Update commitlog relnotes for 1.12.0 @justinsb
- 1.12 highlight changelog @granular-ryanbonham
- Mention version of kOps that introduced new features @rifelpet
- Terraform: fix options field, should be spot_options @kimxogus
- Add shortNames and columns to InstanceGroup CRD @justinsb
- Add script to verify CRD generation @justinsb
- Update README.md to reflect 1.12 release @natebwangsut
- add kops instancegroup tag to metadata @zetaab
- Don’t panic when deleting instancegroups @justinsb
- Support using kops CLI with CRDs @justinsb
- etcd-manager: update to 3.0.20190516 @justinsb
- VPC cleanup: recognize the error code for concurrent VPC deletion @justinsb
- Recommend kops 1.12.1 @justinsb
- Add relnotes list for 1.12.1 @justinsb
- Makefile: keep go vet simple @justinsb
- Update go_version to 1.12.5 @justinsb
- Start relnotes for 1.13 and 1.14 @justinsb
- Speed up rolling-update - longer timeout on validation, less scheduled holds @justinsb
- Update stretch dependencies and kubeup @mikesplain
- Bump alpha-channel of k8s @justinsb
- Fix machine empheral disks @mikesplain
- Add docs for cpuCFSQuota / cpuCFSQuotaPeriod @thomaspeitz
- implement append admission controllers @zetaab
- Add documentation for etcd-manager backup/restore procedures @dzoeteman
- Fix typo on node-authorizer prometheus metric @KashifSaadat
- Openstack delete dynamic floating ip in delete cluster @drekle
- Updated docs for openstack cloud provider. @prankul88
- Change versions to fix memory.limit_in_bytes: device or resource busy @flouthoc
- K8s 1.12.8 to stable 1.12.9 to alpha @granular-ryanbonham
- Fix link to Calico route reflectors documentation + typo @Misdre
- Mark ENI 0 as delete_on_termination for LaunchTemplates @granular-ryanbonham
- Add Debian 10 (buster) support @zetaab
- Openstack support for rolling-update status @drekle
- Upgrade AWS VPC CNI provider to 1.5.0 @rifelpet
- Documentation Cleanup @rifelpet
- Adding affinity and PDB to dns. @michalschott
- bumped k8s 1.11 versions to 1.11.10 in stable channel @idealhack
- Add support for SpotPrice and Mixed Instance ASGs @rifelpet
- support apiserver admission-control-config-file flag @r0fls
- typo fix: fix kops-server-push -> make kops-server-push @Sn0rt
- Add rdrgmnzs to the approvers list in OWNERS @rdrgmnzs
- Flatcar support @mazzy89
- Don’t precreate etcd DNS records if we’re using etcd-manager @rifelpet
- Update Docs for Calico Backend for kops 1.12 @gjtempleton
- Update Canal to v3.7.3 @KashifSaadat
- Improve docs on labels @granular-ryanbonham
- Allow user to set the —kube-api-qps and —kube-api-burst flags on KubeControllerManager @rdrgmnzs
- Egress proxy for etcd manager @austinmoore-
- [Unit Tests] Added unit test for kube proxy builder @srikiz
- add c5.12xlarge, c5.24xlarge, c5.metal, i3en.metal @rekcah78
- Simplify
go test
command @justinsb - Spotinst: New instance group type: Ocean @liranp
- Fix the link to the Prow commands. @cjwagner
- add masterPublicName support in kops set cluster @camilosantana
- Update aws-iam-authenticator image to 0.4.0 @rifelpet
- Added some changes to openstack.md file @prankul88
- Relnotes for 1.12.2 @justinsb
- Add updated 1.12 image to the alpha channel @justinsb
- Instance protection @mikesplain
- Remove kube-proxy resource-container flag @justinsb
- Drop missing sources when building utils image @KashifSaadat
- goimports update @KashifSaadat
- Add more debug info for when cluster path doesnt match @jayunit100
- Canal v3.7.4 @KashifSaadat
- Upgrade Calico to 3.7.2 @asincu
- Spotinst: Ocean’s Strategy object is optional @liranp
- update instances list with make update-machine-types @rekcah78
- Possibility to use OpenStack without lbaas (loadbalancer) @zetaab
- Clear append admission plugins before inserting flags to kube-apiserver @zetaab
- Use NodeAuthorizer config options instead of soely hard-codes @jacksontj
- doc: support to debug kops-apiserver @Sn0rt
- GCE tutorial markdown formatting @flaviamissi
- Make an actual deep-copy of the state @jacksontj
- Set priority for static pods @vainu-arto
- Allow setting Limit & Request for aws-iam-authenticator @rdrgmnzs
- Delete the function keyword to prevent shellcheck from failing @xichengliudui
- Bumping calico to 3.7.4. @michalschott
- Update metrics server image @elisiano
- Use readinessProbe for weave-net instead of livenessProbe @ReillyProcentive
- Add some permissions to cluster-autoscaler clusterrole @Coolknight
- Spotinst: Rolling update always reports NeedsUpdate @liranp
- Add documentation example for running kOps in a CI environment @rifelpet
- Calico -> 3.7.4 for older versions @justinsb
- [Issue-7148] Legacyetcd support for Digital Ocean @srikiz
- Stop .gitignoring all files named go-bindata @justinsb
- Create hack/update-expected.sh to update test output @justinsb
- replace behavior for @aws hostnameOverride @jacksontj
- Rhel8 support @cassandracomar
- Update DigitalOcean CCM to v0.1.16 @timoreimann
- Replace use of cmdutil IsFilenameSliceEmpty @justinsb
- GCE: support ipalias networking mode, named “gce” @justinsb
- Move NTP and misc packages initialization to code @justinsb
- Machine types fix @mikesplain
- Improve channel updates @granular-ryanbonham, #7133
- Rationalize golden-output comparison #7290
- hack/update-expected: regenerate gobindata #7311
- Add me as reviewer #7313
- Update Calico to v3.8.0 #7257
- Manifest hashing: move trimming out of hash function #7312
- Adding documentation to mitigate workload outages on AWS #7292
- Mount FlexVolume directory in kube-controller-manager pod #6874
- remove code: remove kops-server chart #7324
- Bump alpha channel with latest kubernetes versions #7338
- Default etcd-version to 3.3.10 for >= 1.14 #7341
- Warn/prevent if the version of etcd is unsupported with etcd-manager #7340
- Update Image version and RBAC for Citrix Ingress Controller #7335
- Promote k8s 1.12.9 from alpha -> stable #7337
- Update repo-infra and distroless for bazel fixes #7348
- Cross-Zone Load Balancing for API ELB #6958
- stop kubelet to prevent orphan containers #7345
- Update default flexvolumepath for COS #7339
- Promote 1.12 image from alpha to stable #7343
- Update kube-router to 0.3.1 #7317
- Enable scraping of weave metrics #7326
- Bump etcd-manager to 3.0.20190801 #7349
- Add mappings for Webhook authorization mode. #7344
- Set and mount the correct volume plugin dir based on OS #7355
- Don’t default adding MIMEBOUNDARY headers when a mixed instances policy is set #7370
- Add release notes for 1.13.0 beta.2 -> 1.13.0 #7372
- Release notes for 1.12.2 -> 1.12.3 #7373
- correct typo in output message #7380
- Remove extraneous note in 1.13 release notes #7374
- protokube/gce_volume.go: error info correction #7382
- cleanup: client.go error message words correction #7394
- awstasks: fix misspelled words in logging. #7412
- AWS SDK v1.23.0 #7404
- Update Compatibility Table in Readme #7408
- Add maxPersistentVolumes to support the KUBE_MAX_PD_VOLS scheduler setting #7346
- add zetaab as reviewer #7403
- Support mirroring for nodeup also #7377
- Use Cluster Proportional Autoscaler for CoreDNS 1.12+ #7400
- Upgrading k8s-srcdst to v0.2.2 #7388
- add OpenStack etcd-manager support #7395
- Bump k8s versions in alpha channel #7422
- Update AMIs in alpha channels #7420
- skip verification when the file already installed #7387
- cleanup: fix error message typos #7425
- fix Typo ‘the the’ -> ‘the’ #7441
- ali.go: cleanup error words in messages #7433
- promote k8s versions #7437
- Dont set ExperimentalCriticalPodAnnotation feature gate in k8s 1.16 #7430
- fix typo “specifiction” -> “specification” #7440
- Add relnotes for 1.14.0-beta.1 #7443
- bash script: don’t assume nodeup filename #7448
- Add doc for using custom CA #7434
- nodeup download should try all mirrors #7447
- Add nodeup to shipbot targets for release upload #7449
- Update channel recommended versions for kops versions #7446
- fix typo “in ingards to” -> “in regard to” #7451
- Update weave to 2.5.2 #7444
- cloudformation tests: use standard file comparison #7450
- Look for sha256 and sha1 files for artifacts #7468
- [Digital Ocean] DO-7442 upgrade godo client to latest version #7467
- Fix Flatcar distro #7464
- fix typo “new” -> “newer” #7462
- print all failure messages #7465
- [DO-7148] Digital Ocean support for etcd-manager #7435
- Publish sha256 artifacts for kops itself #7471
- Ignore empty hashfiles #7472
- Update to kubernetes 1.15 #7470
- util/pkg/vfs: Fix swallowed errors #7483
- Set GOPROXY in travis builds #7485
- Allow configure ip to ip mode in calico #7481
- Add exec-opts options to dockerconfig #7460
- move OpenStack from alpha to beta #7488
- Add support for netExtraArgs #7429
- Cleanup versions, deprecate kops 1.10, remove k8s 1.8 #7491
- Create verify-gomod script #7498
- Update to golang 1.12.9 #7499
- Corrected spelling of ‘we’ in the documentation #7495
- fix-up docs/releases/1.11-NOTE.md spelling mistake #7501
- Copy well-known users from apiserver #7497
- Replace resource.FilenameOptions with []string #7500
- Configure calico MTU #7480
- Create env-var helper function #7505
- Label AWS ASGs with kops.k8s.io/instancegroup #7504
- Support for using hostPort when using flannel #7295
- Remove unused ClientGetter from Drain code #7509
- DeleteLocalData on drain #7510
- Updating the vendored gazelle to match workspace. #7511
- Add verbosity #7514
- fix(addons/coredns.addons.k8s.io) Workaound to stop coredns crashing on 1.3.1 version #7492
- Update rules_docker with python2 workaround #7508
- Update and add back some sizes #7515
- Don’t try to delete ElasticIPs of NatGateway is shared #7525
- fix(addons/networking.projectcalico.org) calico kube-controllers is needed in CRD mode #7517
- remove default insecure from openstack #7524
- docs: fix link to Metrics Server user guide #7479
- fix static check error in vfssync.go #7482
- fix(upup/models/cloudup/resources/addons/coredns.addons.k8s.io) missing resourceVersion #7477
- modify-doc-small-mistake #7519
- Calico update and typha ,@mikesplain
- [Feature] CoreDNS: External CoreFile option @gjtempleton
- Fix gomod errors @mikesplain
- Log more sensibly when we can’t get sha256 @justinsb
- Add horizontalPodAutoscalerDownscaleStabilization @mikesplain
- Fix kops for us-gov-east-1 #7564 @ibrf
- Fix Dropped Errors in upup @alrs
- add cilium in error message @PascalBourdier
- [DO-7442] Digital Ocean add consistent volume and droplet tags for multi master feature @srikiz
- Expose API Server flags needed for AWS pod identities @rifelpet
- Add logrotate for etcd/etcd-events.log @mikesplain
- Updated container-selinux url to point to the right path @igarcia-sugarcrm, #7609
- Check the HTTP response code when downloading URLs #7611
- Clean security groups if api/ssh ips are removed from config #7561
- Skip Docker install #6957
- Add —wait argument to kops validate #7371
- Fixed “NeedsUpdate” status of nodes in mixedinstancegroups after rolling update #7445
- Associate subnets to port within OpenStack #7578
- fix instance name #7641
- Use without external router (OpenStack) #7644
- Updating master IAM policies. #7580
- Cherrypick #7581 into release 1.15 #7671
- Pull centos.org packages from the vault #7674
- Align AWS and kops validation for spot allocation strategy #7660
- Limit calico cpu request to 100m #7688
- Cherrypick #7690 onto release 1.15 #7693
- Update etcd-manager with OpenStack fixes #7710
- Change Cilium templates to standalone version ,@olemarkus
- Update DigitalOcean CCM to v0.1.20 @timoreimann
- Cilium standalone continuation @olemarkus
- Add calico 3.9.1 @mikesplain
- Fix some bugs reported by staticcheck @rifelpet
- Add arg min-port=1024 to dnsmasq container in kube-dns @nr17
- Add artifacts.k8s.io to mirror list @justinsb
- Upgrade Amazon VPC CNI plugin to 1.5.4 @rifelpet
- Add event ttl flag @tioxy
- Kubelet configuration: Maximum pods flag is miscalculated when using Amazon VPC CNI @liranp
- fix(apiserver): allow multiple service-account-key-file @hatappi
- Openstack: value if spec does not associate public ips @mitch000001
1.15.0-beta.1 to 1.15.0
- Cherry-pick #7807 to release-1.15 #7809
- allow protocol rules in master #7835
- Revert “Upgrade Amazon VPC CNI plugin to 1.5.4” #7847
- Add back calico metrics options #7885
- Remove extraneous document separator causing failures applying addons #7857
- add missing priorityClassName to flannel DaemonSet #7842
- Create PodDisruptionBudget for kube-dns in kube-system namespace ,@justinsb
- Machine types updates @mikesplain
- Add support for newer Docker versions @hakman
- Add indent template function and use it to fix KubeDNS.ExternalCoreFile rendering @rochacon
- fix(openstack): fix additional security groups on instance groups @mitch000001
- Fix Handling of LaunchTemplate Versions for MixedInstancePolicy @granular-ryanbonham
- Fix mounting Calico “flexvol-driver-host” in CoreOS @hakman
- Complete support for Flatcar @mazzy89
- Openstack: Fix cluster floating ips @mitch000001
- Bump cilium version to 1.6.4 @olemarkus
- mark weavenet-pod as system-critical @jochen42
- cilium: don’t try to mount sys/fs/bpf if already mounted @justinsb
- Update copyrights for 2020 @hakman
- Fix rendering of the Node Authorizer template @KashifSaadat
- Cherry pick #7874 onto 1.15 @k8s-ci-robot
- Backport the k8s 1.9 required action release note @johngmyers
- Don’t output empty sections in the manifests @justinsb, #8317
- Fix issues with older versions of k8s for basic clusters ,@rifelpet
- CoreDNS default image bump to 1.6.6 to resolve CVE @gjtempleton
- Don’t load nonexistent calico-client cert when CNI is Cilium @johngmyers
- kOps releases - prefix git tags with v @rifelpet
1.15.1 to 1.15.2
- Fix Github download url for nodeup ,@justinsb
- GCS: Don’t try to set ACLs if bucket-policy only is set @justinsb
- Cilium - Add missing Identity Allocation Mode to Operator Template @daviddyball
- Make it possible to enable Prometheus metrics for Cilium @olemarkus
- Stabilize sequence of “export xx=xxx” statements @mitch000001
- Properly detect that bpffs has been mounted @olemarkus
- Update to etcd-manager 3.0.20200428 @justinsb