Production-Grade Container Scheduling and Management
Go to file
Dan Williams 4cd6d34a0b 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 but is NOT YET
in a released version of iptables.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1417234
2017-04-20 13:38:44 -05:00
.github PR template: Update links to kubernetes/community repo 2017-03-17 12:23:58 -04:00
api Merge pull request #42663 from soltysh/37166_followup 2017-04-13 03:23:26 -07:00
build Bump K8S_GOLANG_EDGE_VERSION to 1.8.1 2017-04-07 14:51:18 -04:00
cluster Merge pull request #44071 from liggitt/service-account-lookup 2017-04-13 19:52:06 -07:00
cmd Merge pull request #43277 from StudyNick/zte-20170315 2017-04-13 15:01:58 -07:00
docs Merge pull request #42663 from soltysh/37166_followup 2017-04-13 03:23:26 -07:00
examples Merge pull request #44432 from harryge00/fix-typos 2017-04-13 18:13:46 -07:00
federation Merge pull request #43297 from mvdan/kubectl-params 2017-04-13 04:07:21 -07:00
Godeps Merge pull request #42884 from soltysh/issue41655 2017-04-12 14:46:38 -07:00
hack Merge pull request #44071 from liggitt/service-account-lookup 2017-04-13 19:52:06 -07:00
hooks
logo
pkg util/iptables: check for and use new iptables-restore 'wait' argument 2017-04-20 13:38:44 -05:00
plugin move ref.go to its own subpackage 2017-04-13 10:02:43 -07:00
staging Merge pull request #44299 from caesarxuchao/move-ref.go 2017-04-13 19:52:11 -07:00
test Merge pull request #43457 from timothysc/storage_e2e_split 2017-04-13 20:42:31 -07:00
third_party Add forked etcd 2.2.1 code to allow rollback to 2.2.1 version 2017-02-10 13:56:01 +01:00
translations Extract a bunch more strings from kubectl 2017-04-06 20:12:50 -07:00
vendor Merge pull request #44299 from caesarxuchao/move-ref.go 2017-04-13 19:52:11 -07:00
.bazelrc Add verify-gofmt as a Bazel test. 2017-02-10 17:00:28 -08:00
.gazelcfg.json
.generated_files Move .generated_docs to docs/ so docs OWNERS can review / approve 2017-02-16 10:11:57 -08:00
.gitattributes
.gitignore
BUILD.bazel
CHANGELOG.md Merge pull request #44185 from janetkuo/1.6-changelog-fix 2017-04-13 07:12:20 -07:00
code-of-conduct.md
CONTRIBUTING.md Close kubernetes/community#420 2017-03-08 09:59:30 -08:00
labels.yaml
LICENSE
Makefile test/e2e_node: prepull images with CRI 2017-04-01 10:18:56 +02: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