Production-Grade Container Scheduling and Management
Go to file
Kubernetes Submit Queue 902d53d5e7 Merge pull request #43575 from dcbw/iptables-restore-lock
Automatic merge from submit-queue (batch tested with PRs 43575, 44672)

util/iptables: check for and use new iptables-restore 'wait' argument

iptables-restore did not previously perform any locking, meaning that
when callers (like kube-proxy) asked iptables-restore to write large
numbers of rules, the iptables-restore process might run in parallel
with other 'iptables' invocations in kubelet (hostports), docker,
and other software.  This causes errors like:

"CNI request failed with status 400: 'Failed to ensure that nat chain
POSTROUTING jumps to MASQUERADE: error checking rule: exit status 4:
iptables: Resource temporarily  unavailable."

or from Docker:

"Failed to allocate and map port 1095-1095: iptables failed:
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1095
-j DNAT --to-destination 10.1.0.2:1095 ! -i lbr0: iptables:
Resource temporarily unavailable.\n (exit status 4)"

iptables-restore "wait" functionality was added in iptables git
commit 999eaa241212d3952ddff39a99d0d55a74e3639e which
is not yet in a release.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1417234

@eparis @knobunc @kubernetes/rh-networking @kubernetes/sig-network-misc @freehan @thockin @brendandburns
2017-04-24 10:33:58 -07:00
.github PR template: Update links to kubernetes/community repo 2017-03-17 12:23:58 -04:00
api Remove deprecatedPublicIPs field 2017-04-15 13:16:05 -07:00
build Removed fluentd-gcp manifest pod 2017-04-20 15:53:24 +02:00
cluster Merge pull request #44780 from chuckbutler/vsphere-hostname-patch 2017-04-21 17:13:57 -07:00
cmd Merge pull request #44204 from FengyunPan/optimize-code 2017-04-21 18:11:07 -07:00
docs Remove deprecatedPublicIPs field 2017-04-15 13:16:05 -07:00
examples Merge pull request #44801 from klausenbusk/patch-1 2017-04-23 09:18:51 -07:00
federation Merge pull request #44779 from enj/enj/r/etcd_default_name_copy 2017-04-24 07:55:59 -07:00
Godeps Merge pull request #42202 from squeed/update-cni 2017-04-21 11:52:02 -07:00
hack support subresource when running kubectl create role 2017-04-24 10:05:47 +08:00
hooks
logo
pkg Merge pull request #43575 from dcbw/iptables-restore-lock 2017-04-24 10:33:58 -07:00
plugin Merge pull request #44404 from bsalamat/config_fix 2017-04-21 19:50:08 -07:00
staging Merge pull request #44492 from CaoShuFeng/namer 2017-04-24 07:56:02 -07:00
test Lower limit for allowed losses in Stackdriver Logging tests 2017-04-24 13:48:08 +02:00
third_party autogenerated 2017-04-14 10:40:57 -07:00
translations Extract a bunch more strings from kubectl 2017-04-06 20:12:50 -07:00
vendor Merge pull request #42202 from squeed/update-cni 2017-04-21 11:52:02 -07:00
.bazelrc
.gazelcfg.json have multiple BUILD files in vendor/ 2017-04-14 10:36:15 -07:00
.generated_files
.gitattributes
.gitignore
BUILD.bazel
CHANGELOG.md Clean up CHANGELOG.md 2017-04-21 14:25:53 -07:00
code-of-conduct.md
CONTRIBUTING.md Close kubernetes/community#420 2017-03-08 09:59:30 -08:00
labels.yaml
LICENSE
Makefile have multiple BUILD files in vendor/ 2017-04-14 10:36:15 -07:00
Makefile.generated_files
OWNERS
OWNERS_ALIASES Merge pull request #42953 from kargakis/rm-myself 2017-04-03 01:50:58 -07:00
README.md Adjust the link to the right troubleshooting doc page 2017-04-13 08:20:39 +00:00
Vagrantfile
WORKSPACE Bump rules_go to latest 2017-04-03 16:03:23 -07:00

Kubernetes

Submit Queue Widget GoDoc Widget


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

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

Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF). If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Kubernetes plays a role, read the CNCF announcement.


To start using Kubernetes

See our documentation on kubernetes.io.

Try our interactive tutorial.

Take a free course on Scalable Microservices with Kubernetes.

To start developing Kubernetes

The community repository hosts all information about building Kubernetes from source, how to contribute code and documentation, who to contact about what, etc.

If you want to build Kubernetes right away there are two options:

You have a working Go environment.
$ go get -d k8s.io/kubernetes
$ cd $GOPATH/src/k8s.io/kubernetes
$ make
You have a working Docker environment.
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make quick-release

If you are less impatient, head over to the developer's documentation.

Support

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.

Analytics