Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs for zpages #48760

Open
wants to merge 2 commits into
base: dev-1.32
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions content/en/docs/reference/instrumentation/zpages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
reviewers:
- richabanker
title: Kubernetes z-pages
content_type: reference
weight: 20
---

<!-- overview -->

{{< feature-state for_k8s_version="v1.32" state="alpha" >}}

Kubernetes core components expose a suite of z-endpoints to make it easier for users to debug their components. As of 1.32, these endpoints only support plain text format and are strictly to be used for human inspection to gain real time debugging information of a component binary. Avoid automated scraping of data returned by these endpoints since they are introduced as alpha features and their format may change in future releases.

<!-- body -->

## z-pages

Kubernetes now includes "z-pages" to help you troubleshoot problems with its core control plane components. These special debugging endpoints provide internal information about running components. Currently we have the following endpoints:

- [z-pages](#z-pages)
- [statusz](#statusz)
- [flagz](#flagz)

### statusz

Enabled using the ComponentStatusz feature gate, statusz endpoint displays the high level information about the component such as its Kubernetes version, emulation version, start time and more.

The statusz data for apiserver looks like this:

```
kube-apiserver statusz
Warning: This endpoint is not meant to be machine parseable, has no formatting compatibility guarantees and is for debugging purposes only.

Started: Wed Oct 16 21:03:43 UTC 2024
Up: 0 hr 00 min 16 sec
Go version: go1.23.2
Binary version: 1.32.0-alpha.0.1484&#43;5eeac4f21a491b-dirty
Emulation version: 1.32.0-alpha.0.1484
```

### flagz

Enabled using the ComponentFlagz feature gate, the flagz endpoint shows you the command line flags that were used to start a component.

The flagz data for apiserver looks like this:

```
kube-apiserver flags
Warning: This endpoint is not meant to be machine parseable, has no formatting compatibility guarantees and is for debugging purposes only.

advertise-address=192.168.8.2
contention-profiling=false
enable-priority-and-fairness=true
profiling=true
authorization-mode=[Node,RBAC]
authorization-webhook-cache-authorized-ttl=5m0s
authorization-webhook-cache-unauthorized-ttl=30s
authorization-webhook-version=v1beta1
default-watch-cache-size=100
```