Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
gubernator-images
release
OWNERS
README.md
adding-an-APIGroup.md
api-conventions.md
api_changes.md
arch-roadmap-1.png
architectural-roadmap.md
automation.md
bazel.md
cherry-picks.md
client-libraries.md
coding-conventions.md
collab.md
component-config-conventions.md
container-runtime-interface.md
controllers.md
cri-container-stats.md
cri-validation.md
development.md
e2e-node-tests.md
e2e-tests.md
event-style-guide.md
faster_reviews.md
flaky-tests.md
flexvolume.md
generating-clientset.md
getting-builds.md
go-code.md
godep.md
gubernator.md
help-wanted.md
how-to-doc.md
instrumentation.md
issues.md
kubectl-conventions.md
kubelet-cri-networking.md
kubemark-guide.md
logging.md
mesos-style.md
node-performance-testing.md
on-call-federation-build-cop.md
owners.md
pr_workflow.dia
pr_workflow.png
profiling.md
pull-requests.md
running-locally.md
scalability-good-practices.md
scheduler.md
scheduler_algorithm.md
security-release-process.md
staging.md
strategic-merge-patch.md
testing.md
update-release-docs.md
updating-docs-for-feature-changes.md
vagrant.md
welcome-to-kubernetes-new-developer-guide.md
writing-a-getting-started-guide.md
writing-good-e2e-tests.md

README.md

Title
Kubernetes Developer Guide

Kubernetes Developer Guide

The developer guide is for anyone wanting to either write code which directly accesses the Kubernetes API, or to contribute directly to the Kubernetes project. It assumes some familiarity with concepts in the User Guide and the Cluster Admin Guide.

The process of developing and contributing code to the Kubernetes project

  • Contributor Guide (Please start here) to learn about how to contribute to Kubernetes

  • GitHub Issues (issues.md): How incoming issues are triaged.

  • Pull Request Process (pull-requests.md): When and why pull requests are closed.

  • Getting Recent Builds (getting-builds.md): How to get recent builds including the latest builds that pass CI.

  • Automated Tools (automation.md): Descriptions of the automation that is running on our github repository.

Setting up your dev environment, coding, and debugging

  • Development Guide (development.md): Setting up your development environment.

  • Testing (testing.md): How to run unit, integration, and end-to-end tests in your development sandbox.

  • Hunting flaky tests (flaky-tests.md): We have a goal of 99.9% flake free tests. Here's how to run your tests many times.

  • Logging Conventions (logging.md): Glog levels.

  • Profiling Kubernetes (profiling.md): How to plug in go pprof profiler to Kubernetes.

  • Instrumenting Kubernetes with a new metric (instrumentation.md): How to add a new metrics to the Kubernetes code base.

  • Coding Conventions (coding-conventions.md): Coding style advice for contributors.

  • Document Conventions (how-to-doc.md) Document style advice for contributors.

  • Running a cluster locally (running-locally.md): A fast and lightweight local cluster deployment for development.

Developing against the Kubernetes API

  • The REST API documentation explains the REST API exposed by apiserver.

  • Annotations (Annotations): are for attaching arbitrary non-identifying metadata to objects. Programs that automate Kubernetes objects may use annotations to store small amounts of their state.

  • API Conventions (api-conventions.md): Defining the verbs and resources used in the Kubernetes API.

  • API Client Libraries (client-libraries.md): A list of existing client libraries, both supported and user-contributed.

Writing plugins

  • Authentication (Authentication): The current and planned states of authentication tokens.

  • Authorization Plugins (Authorization): Authorization applies to all HTTP requests on the main apiserver port. This doc explains the available authorization implementations.

  • Admission Control Plugins (admission_control)

Building releases

See the kubernetes/release repository for details on creating releases and related tools and helper scripts.