Auto DevOps readiness for Kubernetes 1.16
Update: The documentation for Kubernetes 1.16+ support can be found here. GitLab 13.0 supports Kubernetes 1.16 out of the box for new deployments, but existing deployments that include the in-cluster PostgreSQL will need to be manually upgraded.
Problem to solve
Kubernetes 1.16 no longer will be serving extensions/* and apps/beta* API versions, all resources should stop using them.
Auto Devops should continue to work Kubernetes 1.16 and up.
- NetworkPolicy (in the extensions/v1beta1 API group)
- Migrate to use the networking.k8s.io/v1 API, available since v1.8. Existing persisted data can be retrieved/updated via the networking.k8s.io/v1 API.
- PodSecurityPolicy (in the extensions/v1beta1 API group)
- Migrate to use the policy/v1beta1 API, available since v1.10. Existing persisted data can be retrieved/updated via the policy/v1beta1 API.
- DaemonSet, Deployment, StatefulSet, and ReplicaSet (in the extensions/v1beta1 and apps/v1beta2 API groups)
- Migrate to use the apps/v1 API, available since v1.9. Existing persisted data can be retrieved/updated via the apps/v1 API.
Proposal
Update the auto-deploy-app
helm chart:-
gitlab-org/charts/auto-deploy-app#22 (moved) (straightforward)- gitlab-org/charts/auto-deploy-app#8 (closed) (much harder, probably need manual steps)
- gitlab-org/charts/auto-deploy-app#28 (closed) The postgresql dependent chart also uses the old deployment API. This is the hardest.
Relevant links
- https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
- https://kubernetes.io/blog/2019/09/18/kubernetes-1-16-release-announcement/
- gitlab-org/charts/gitlab-runner!167 (merged)
Follow-up issues
- #209045 (closed)
- AutoDevOps: Automatically detect Kubernetes 1.16 (#209237 (closed))
- Auto DevOps: Default to version 2 Postgres (#210499 (closed))
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.