- For information about Kubernetes in the Toolforge environment see Help:Toolforge/Kubernetes.
Kubernetes (often abbreviated k8s) is an open-source system for automating deployment, and management of applications running in containers. This page collects some notes/docs on the Kubernetes setup in the Foundation production environment.
Most of the information on this page and its subpages applies to the clusters in the production realm, although some techniques and tools are broadly applicable to other WMF clusters and Kubernetes in general.
The Kubernetes/Clusters page contains the definitive list of currently maintained clusters in the production realm, along with information about who manages them and each cluster's specific purpose.
For information relating to the Kubernetes clusters in the cloud services realm, please see Toolforge info.
We deploy kubernetes in WMF production using Debian packages where appropriate. There is an upgrade policy in place for defining the timeframe and versions we run at every point in time. It's under Kubernetes/Kubernetes_Infrastructure_upgrade_policy. For more technical information on how we build the Debian packages have a look at Kubernetes/Packages
For how our images are built and maintained have a look at Kubernetes/Images
A service in Kubernetes is an "abstract way to expose an application running on a set of workloads as a network service". That creates an overload of the term, as we also use the term "services" to describe how our various in-house developed applications are exposed to the rest of the infrastructure or the public. It's worthwhile to make sure one is on the same page as the other side when having a conversation around "services". Below there are some links to basic documentation about both concepts to help differentiate between them.
We use a git repository called operations/deployment-charts to manage all of the applications and deployments to Kubernetes clusters in the production realm.
See Kubernetes/Deployment Charts for more detailed information about the respository structure and its various functions.
The services and deployments that are defined within the repository are a combination of:
- WMF software, running on service images managed by the deployment pipeline
- WMF forks of third-party software, also running on service images managed by the deployment pipeline
- WMF builds of third-party software, running on production images and built with docker-pkg
See Kubernetes/Administration for collected instructions and runbooks for such tasks as: