Kubernetes Pod Logs

Introduced in GitLab Ultimate 11.0.

GitLab makes it easy to view the logs of running pods in connected Kubernetes clusters. By displaying the logs directly in GitLab, developers can avoid having to manage console tools or jump to a different interface.

Overview

Kubernetes pod logs can be viewed directly within GitLab. Logs can be displayed by clicking on a specific pod from Deploy Boards:

  1. Go to Operations > Environments and find the environment which contains the desired pod, like production.
  2. On the Environments page, you should see the status of the environment's pods with Deploy Boards.
  3. When mousing over the list of pods, a tooltip will appear with the exact pod name and status. Deploy Boards pod list
  4. Click on the desired pod to bring up the logs view, which will contain the last 500 lines for that pod. Support for pods with multiple containers is coming in a future release. Deploy Boards pod list

Requirements

There are a few key requirements in order to be able to use Pod Logs:

  1. Create or connect a Kubernetes cluster to the project
  2. A GitLab Runner. If one is not available, they can be easily deployed.
  3. Ensure a Kubernetes label of app: $CI_ENVIRONMENT_SLUG is applied to the deployments, replica sets, and pods, where $CI_ENVIRONMENT_SLUG is the value of the CI variable. This needed to determine the environment a pod belongs to when is more than one. These resources should be contained in the namespace defined in the Kubernetes service setting. The Auto DevOps .gitlab-ci.yml template has predefined stages and commands to use, and automatically applies the labeling.