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.
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.
- gitlab-org/charts/gitlab-runner!167 (merged)