Lightweight Kubernetes
 
 
 
 
Go to file
Eric Tune 875755f992 Added Selector Generation to Job.
Added selector generation to Job's
strategy.Validate, right before validation.
Can't do in defaulting since UID is not known.

Added a validation to Job to ensure that the generated
labels and selector are correct when generation was requested.
This happens right after generation, but validation is in a better
place to return an error.

Adds "manualSelector" field to batch/v1 Job to control selector generation.
Adds same field to extensions/__internal.  Conversion between those two
is automatic.

Adds "autoSelector" field to extensions/v1beta1 Job.  Used for storing batch/v1 Jobs
    - Default for v1 is to do generation.
    - Default for v1beta1 is to not do it.
    - In both cases, unset == false == do the default thing.

Release notes:
Added batch/v1 group, which contains just Job, and which is the next
version of extensions/v1beta1 Job.

The changes from the previous version are:
- Users no longer need to ensure labels on their pod template are unique to the enclosing
  job (but may add labels as needed for categorization).
- In v1beta1, job.spec.selector was defaulted from pod labels, with the user responsible for uniqueness.
  In v1, a unique label is generated and added to the pod template, and used as the selector (other
  labels added by user stay on pod template, but need not be used by selector).
- a new field called "manualSelector" field exists to control whether the new behavior is used,
  versus a more error-prone but more flexible "manual" (not generated) seletor.  Most users
  will not need to use this field and should leave it unset.

Users who are creating extensions.Job go objects and then posting them using the go client
will see a change in the default behavior.  They need to either stop providing a selector (relying on
selector generation) or else specify "spec.manualSelector" until they are ready to do the former.
2016-02-25 09:28:07 -08:00
Godeps Merge pull request #15476 from burmanm/hawkular_save 2016-02-20 19:09:18 -08:00
api/swagger-spec Restore service port validation compatibility with 1.0/1.1 2016-02-23 21:27:44 -05:00
build Make #19601 backward compatible. 2016-02-25 14:24:51 +01:00
cluster Merge pull request #21379 from hlamer/hyperkube-apiserver-cert-fix 2016-02-25 09:02:30 -08:00
cmd Merge pull request #21870 from mqliang/lookup-cache 2016-02-24 20:01:29 -08:00
contrib Merge pull request #21870 from mqliang/lookup-cache 2016-02-24 20:01:29 -08:00
docs Merge pull request #21354 from erictune/manual-selector 2016-02-25 09:02:28 -08:00
examples Added Selector Generation to Job. 2016-02-25 09:28:07 -08:00
hack allow disambiguation of resouces 2016-02-25 07:35:23 -05:00
hooks Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
pkg Added Selector Generation to Job. 2016-02-25 09:28:07 -08:00
plugin Fix flake in LimitRange e2e 2016-02-23 16:03:31 -05:00
release Make #19601 backward compatible. 2016-02-25 14:24:51 +01:00
test Added Selector Generation to Job. 2016-02-25 09:28:07 -08:00
third_party Fix a couple typos 2016-02-02 15:39:33 -05:00
www add back missing analytics link 2015-08-13 10:03:07 -07:00
.generated_docs Regen for kubectl create configmap 2016-02-18 21:25:31 -05:00
.gitignore Add direnv .envrc files to gitignore 2016-02-13 01:20:17 -05:00
.travis.yml Update tests from Go 1.5.2 to Go 1.5.3 2016-01-21 09:43:52 -08:00
CHANGELOG.md s|github.com/GoogleCloudPlatform/kubernetes|github.com/kubernetes/kubernetes| 2015-09-03 10:10:11 -04:00
CONTRIB.md Add ga-beacon analytics to gendocs scripts 2015-05-15 18:56:38 -07:00
CONTRIBUTING.md Update advice for getting support and filing issues. 2015-08-19 03:18:06 +00:00
DESIGN.md Fix links in DESIGN.md 2015-07-20 14:35:52 -07:00
LICENSE Fix LICENSE file. 2016-02-24 16:41:19 -08:00
Makefile Merge pull request #21622 from pwittrock/nodee2essh 2016-02-23 16:42:42 -08:00
README.md Add aliases for links and link widgets 2015-09-15 14:39:05 +03:00
Vagrantfile Updated Vagrant VMs to Fedora 23 2016-01-19 16:52:54 +00:00
code-of-conduct.md Add a code of conduct. 2015-09-10 11:53:27 -07:00
logo.pdf Simplify the SVG for the logo 2015-02-20 21:15:31 -08:00
logo.png
logo.svg Simplify the SVG for the logo 2015-02-20 21:15:31 -08:00
logo_usage_guidelines.md s|github.com/GoogleCloudPlatform/kubernetes|github.com/kubernetes/kubernetes| 2015-09-03 10:10:11 -04:00
shippable.yml linkchecker tool now visits the URL to determine if it's valid 2016-01-26 17:01:37 -08:00

README.md

Kubernetes

GoDoc Widget Travis Widget Coverage Status Widget

Are you ...

  • Interested in learning more about using Kubernetes? Please see our user-facing documentation on kubernetes.io
  • Interested in hacking on the core Kubernetes code base? Keep reading!

Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications.

Kubernetes is:

  • lean: lightweight, simple, accessible
  • portable: public, private, hybrid, multi cloud
  • extensible: modular, pluggable, hookable, composable
  • self-healing: auto-placement, auto-restart, auto-replication

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale, combined with best-of-breed ideas and practices from the community.


Kubernetes can run anywhere!

However, initial development was done on GCE and so our instructions and scripts are built around that. If you make it work on other infrastructure please let us know and contribute instructions/code.

Kubernetes is ready for Production!

With the 1.0.1 release Kubernetes is ready to serve your production workloads.

Concepts

Kubernetes works with the following concepts:

Cluster
A cluster is a set of physical or virtual machines and other infrastructure resources used by Kubernetes to run your applications. Kubernetes can run anywhere! See the Getting Started Guides for instructions for a variety of services.
Node
A node is a physical or virtual machine running Kubernetes, onto which pods can be scheduled.
Pod
Pods are a colocated group of application containers with shared volumes. They're the smallest deployable units that can be created, scheduled, and managed with Kubernetes. Pods can be created individually, but it's recommended that you use a replication controller even if creating a single pod.
Replication controller
Replication controllers manage the lifecycle of pods. They ensure that a specified number of pods are running at any given time, by creating or killing pods as required.
Service
Services provide a single, stable name and address for a set of pods. They act as basic load balancers.
Label
Labels are used to organize and select groups of objects based on key:value pairs.

Documentation

Kubernetes documentation is organized into several categories.

Community, discussion, contribution, and support

See which companies are committed to driving quality in Kubernetes on our community page.

Do you want to help "shape the evolution of technologies that are container packaged, dynamically scheduled and microservices oriented?"

You should consider joining the Cloud Native Computing Foundation. For details about who's involved and how Kubernetes plays a role, read their announcement.

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Are you ready to add to the discussion?

We have presence on:

You can also view recordings of past events and presentations on our Media page.

For Q&A, our threads are at:

Want to do more than just 'discuss' Kubernetes?

If you're interested in being a contributor and want to get involved in developing Kubernetes, start in the Kubernetes Developer Guide and also review the contributor guidelines.

Support

While there are many different channels that you can use to get ahold of us, you can help make sure that we are efficient in getting you the help that you need.

If you need support, start with the troubleshooting guide and work your way through the process that we've outlined.

That said, if you have questions, reach out to us one way or another. We don't bite!

Analytics