Skip to content

Instantly share code, notes, and snippets.

@thejoycekung
Created October 16, 2020 20:05
Show Gist options
  • Save thejoycekung/4b08803bca806090a5c295b53393115a to your computer and use it in GitHub Desktop.
Save thejoycekung/4b08803bca806090a5c295b53393115a to your computer and use it in GitHub Desktop.
Tour of infra-related repos for Kubernetes

k/k: source code for kubernetes, unit + integration/e2e test

  • test/e2e: framework for testing
  • hack: checks dependencies, etc.

k/test-infra: configuration of prow jobs + prow itself + spyglass + any other test/CI tools

  • config/jobs: the configuration of prow jobs for anything on prow.k8s.io
    • all the stuff on release board (for testgrid) is periodic except for a few postsubmit (? may need to confirm this) - images/kubekins/e2e: all the stuff you need to run k8s jobs
      • prow autobump PR is merged every weekday by Googler [historical reasons]
      • changes in kubetest or bootstrap.py require an image bump - images/krte: allows kind jobs to run - prow: the CI/CD system
      • Life of a Prow Job for how all the components work together
      • components: easy, short explanation for what each component does with links to their respective folders
  • releng: contains config-forker, config-rotator (for eventually creating 1.20 dashboards)

k/k8s.io: anything with GCP

  • e.g. failed to schedule to a node: infra problem, means not enough mem/CPU
    • last release cycle they added resource limits to every job which helped with that

k/release: stuff more related to release engineering - what do we need to actually create a release?

  • krel: Go CLI to replace bash scripts, e.g. push-build
  • anago: produces the actual releases
  • version markers: files that say which version of k8s is the latest for that channel, e.g. stable.txt should have v1.19.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment