2018-08-20 11:25:36 +03:00
2018-08-17 18:45:52 +03:00
2018-08-20 11:25:36 +03:00
2018-08-16 15:21:26 +03:00
2018-08-20 11:20:56 +03:00
2018-05-11 14:53:17 +01:00
2018-08-14 13:33:36 +03:00
2018-04-12 10:14:51 +01:00
2018-08-13 14:52:49 +03:00
2018-08-13 14:52:49 +03:00
2018-08-20 11:21:51 +03:00
2018-08-20 11:20:56 +03:00
2018-08-20 11:20:56 +03:00
2018-01-05 16:20:00 +02:00
2018-08-20 11:21:51 +03:00
2018-08-20 11:22:48 +03:00
2018-05-17 12:51:52 +01:00

k8s-podinfo

Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes.

Specifications:

  • Release automation (Make/TravisCI/CircleCI/Quay.io/Google Cloud Container Builder/Skaffold/Weave Flux)
  • Multi-platform Docker image (amd64/arm/arm64/ppc64le/s390x)
  • Health checks (readiness and liveness)
  • Graceful shutdown on interrupt signals
  • Watches for secrets and configmaps changes and updates the in-memory cache
  • Prometheus instrumentation (RED metrics)
  • Dependency management with golang/dep
  • Structured logging with zap
  • Tracing with Istio and Jaeger
  • Helm chart

Web API:

  • GET / prints runtime information
  • GET /version prints podinfo version and git commit hash
  • GET /metrics return HTTP requests duration and Go runtime metrics
  • GET /healthz used by Kubernetes liveness probe
  • GET /readyz used by Kubernetes readiness probe
  • POST /readyz/enable signals the Kubernetes LB that this instance is ready to receive traffic
  • POST /readyz/disable signals the Kubernetes LB to stop sending requests to this instance
  • GET /status/{code} returns the status code
  • GET /panic crashes the process with exit code 255
  • POST /echo forwards the call to the backend service and echos the posted content
  • GET /headers returns a JSON with the request HTTP headers
  • GET /delay/{seconds} waits for the specified period
  • GET /configs returns a JSON with configmaps and/or secrets mounted in the config volume
  • POST /write writes the posted content to disk at /data/hash and returns the SHA1 hash of the content
  • GET /read/{hash} returns the content of the file /data/hash if exists

Guides

Description
Languages
Go 76.8%
CUE 11.6%
HTML 3.7%
Makefile 3.4%
Shell 2.4%
Other 2.1%