Production-Grade Container Scheduling and Management
Go to file
Kubernetes Submit Queue c98fc70195 Merge pull request #36008 from MrHohn/addon-rc-migrate
Automatic merge from submit-queue

Migrates addons from RCs to Deployments

Fixes #33698.

Below addons are being migrated:
- kube-dns
- GLBC default backend
- Dashboard UI
- Kibana

For the new deployments, the version suffixes are removed from their names. Version related labels are also removed because they are confusing and not needed any more with regard to how Deployment and the new Addon Manager works.

The `replica` field in `kube-dns` Deployment manifest is removed for the incoming DNS horizontal autoscaling feature #33239.

The `replica` field in `Dashboard` Deployment manifest is also removed because the rescheduler e2e test is manually scaling it.

Some resource limit related fields in `heapster-controller.yaml` are removed, as they will be set up by the `addon resizer` containers. Detailed reasons in #34513.

Three e2e tests are modified:
- `rescheduler.go`: Changed to resize Dashboard UI Deployment instead of ReplicationController.
- `addon_update.go`: Some namespace related changes in order to make it compatible with the new Addon Manager.
- `dns_autoscaling.go`: Changed to examine kube-dns Deployment instead of ReplicationController.

Both of above two tests passed on my own cluster. The upgrade process --- from old Addons with RCs to new Addons with Deployments --- was also tested and worked as expected.

The last commit upgrades Addon Manager to v6.0. It is still a work in process and currently waiting for #35220 to be finished. (The Addon Manager image in used comes from a non-official registry but it mostly works except some corner cases.)

@piosz @gmarek could you please review the heapster part and the rescheduler test?

@mikedanese @thockin 

cc @kubernetes/sig-cluster-lifecycle 

---

Notes:
- Kube-dns manifest still uses *-rc.yaml for the new Deployment. The stale file names are preserved here for receiving faster review. May send out PR to re-organize kube-dns's file names after this.
- Heapster Deployment's name remains in the old fashion(with `-v1.2.0` suffix) for avoiding describe this upgrade transition explicitly. In this way we don't need to attach fake apply labels to the old Deployments.
2016-11-10 02:36:38 -08:00
.github
api Merge pull request #36438 from mwielgus/pdb-generation 2016-11-09 10:02:29 -08:00
build-tools Merge pull request #36246 from kad/integration-tests-fix 2016-11-08 23:26:49 -08:00
cluster Merge pull request #36008 from MrHohn/addon-rc-migrate 2016-11-10 02:36:38 -08:00
cmd Better messaging for missing volume components on host to perform mount 2016-11-09 15:16:11 -08:00
contrib
docs Merge pull request #30237 from mikedanese/csr-porcelain 2016-11-09 16:57:49 -08:00
examples add authz checks to allowed policies admission 2016-11-08 08:36:27 -05:00
federation autogenerated bazel and test owner changes 2016-11-09 21:41:19 -08:00
Godeps Photon Controller platform vendor code 2016-11-08 09:36:16 -08:00
hack Merge pull request #35868 from Random-Liu/cleanup-node-e2e-output-dir 2016-11-10 01:58:58 -08:00
hooks Add verify script federation OpenAPI spec generation 2016-11-07 02:41:50 -08:00
logo
pkg Merge pull request #36496 from wojtek-t/debug_long_etcd_requests 2016-11-10 01:59:11 -08:00
plugin Merge pull request #33080 from pweil-/psp-authorizer 2016-11-09 20:39:31 -08:00
staging Merge pull request #36332 from MrHohn/kube-proxy-ratelimit-fix 2016-11-07 14:27:03 -08:00
test Merge pull request #36008 from MrHohn/addon-rc-migrate 2016-11-10 02:36:38 -08:00
third_party autogenerated 2016-10-21 17:32:32 -07:00
vendor Photon Controller platform vendor code 2016-11-08 09:36:16 -08:00
www
.generated_docs autogenerated 2016-11-08 06:33:46 -08:00
.gitattributes Move .gitattributes annotation to the root, so GitHub will respect them. 2016-11-02 09:48:45 -07:00
.gitignore Add verbose mode to boilerplate 2016-10-22 21:40:08 -07:00
BUILD Revert "disable bazel build" 2016-10-24 14:47:26 -07:00
CHANGELOG.md Update CHANGELOG.md for v1.3.10. 2016-10-31 15:15:41 -07:00
code-of-conduct.md
CONTRIB.md
CONTRIBUTING.md Fix typos and linted_packages sorting 2016-10-31 18:31:08 +01:00
DESIGN.md
labels.yaml
LICENSE
Makefile Merge pull request #33819 from thockin/makefile-verify-generated 2016-11-06 15:23:06 -08:00
Makefile.generated_files Verify generated files 2016-11-01 22:10:25 -07:00
OWNERS Add jbeda to top level OWNERS 2016-10-25 13:08:07 -07:00
OWNERS_ALIASES Move pkg/kubectl reviewers into an alias 2016-10-28 14:54:17 -07:00
README.md
Vagrantfile
WORKSPACE gazel 2016-10-21 17:31:54 -07:00

Kubernetes

Submit Queue Widget GoDoc Widget Coverage Status Widget

Are you ...


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 is ready for Production!

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

Kubernetes can run anywhere!

You can run Kubernetes on your local workstation under Vagrant, cloud providers (e.g. GCE, AWS, Azure), and physical hardware. Essentially, anywhere Linux runs you can run Kubernetes. Checkout the Getting Started Guides for details.

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 contribute to 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.

Or, if you just have an idea for a new feature, see the Kubernetes Features repository for details on how to propose it.

Also, please see our expectations for members of the Kubernetes community.

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!

Community resources

You can find more projects, tools and articles related to Kubernetes on the awesome-kubernetes list. Add your project there and help us make it better.

Instructive & educational resources for the Kubernetes community. By the community.

  • Community Documentation

Here you can learn more about the current happenings in the kubernetes community.

Analytics