GitLab, as part of an update to its core continuous integration/continuous delivery (CI/CD) platform, has added support for GitLab Kubernetes Agent (GKA) that makes it possible for Kubernetes clusters to automatically pull application updates from a CI/CD platform.
Traditionally, a CI/CD platform has been employed to push updates to a deployment platform. That approach has been required because each deployment platform is different. Organizations that adopt Kubernetes, however, now have a standard interface through which CD processes can become more automated.
GKA achieves that goal by establishing a permanent communication channel between its CI/CD platform and Kubernetes clusters. GKA is based on an agent developed as part of a GitOps Engine project launched by the team that oversees the development of the Argo CD and Flux, an Operator for deploying GitOps Engine on Kubernetes clusters.
Brendan O’Leary, senior developer evangelist GitLab, says the company evaluated multiple engines before settling on the agent developed as part of two projects that GitLab engineers are already involved in.
O’Leary said it’s not clear to what degree organizations will opt to automate updates via GKA versus continuing the push application updates via existing DevOps processes. Most organizations over time will likely employ a mix of both based on their own use cases and individual preferences, he says.
In the meantime, as part of the 13.4 update to the GitLab CI/CD platform the company is also adding support for HashiCorp Vault to manage application secrets. IT teams can already store application secrets on a Kubernetes cluster; however, most organizations want to be able to centrally manage application secrets across both existing legacy applications and emerging cloud-native applications O’Leary notes.
Finally, GitLab also announced enhancements to the role-based access controls it provides, in addition to officially making its feature-flagging software an open source project.
With the rise of Kubernetes, there’s no doubt application deployments will become much more automated. While most organizations that have embraced best DevOps practices have mastered CI, success with CD has proven more elusive. Each platform an IT team needs to support tends to have unique attributes, which makes automating the CD process problematic. As IT teams embrace Kubernetes it becomes possible to leverage a standard set of application programming interfaces (APIs) to fully automate application deployments and updates.
Of course, GitLab is not the only provider of a CI/CD platform aiming to leverage Kubernetes to automate the CD process. Regardless of the CI/CD platform employed, however, it’s now only a matter of time before Kubernetes provides IT teams with a de facto standard for deploying applications. The issue now will be determining to what degree organizations will want to automate the application deployment process. Given the overall complexity of modern IT environments, most hard-pressed IT teams are likely to opt for as much automation as possible.