Production-Grade Container Scheduling and Management
Go to file
Kubernetes Submit Queue b18bad156d Merge pull request #40634 from Crassirostris/use-docker-log-rotation
Automatic merge from submit-queue

Use docker log rotation mechanism instead of logrotate

This is a solution for https://github.com/kubernetes/kubernetes/issues/38495.

Instead of rotating logs using logrotate tool, which is configured quite rigidly, this PR makes docker responsible for the rotation and makes it possible to configure docker logging parameters. It solves the following problems:

* Logging agent will stop loosing lines upon rotation
* Container's logs size will be more strictly constrained. Instead of checking the size hourly, size will be checked upon write, preventing https://github.com/kubernetes/kubernetes/issues/27754

It's still far from ideal, for example setting logging options per pod, as suggested in https://github.com/kubernetes/kubernetes/issues/15478 would be much more flexible, but latter approach requires deep changes, including changes in API, which may be in vain because of CRI and long-term vision for logging.

Changes include:

* Change in salt. It's possible to configure docker log parameters, using variables in pillar. They're exported from env variables on `gce`, but for different cloud provider they have to be exported first.
* Change in `configure-helper.sh` scripts for those os on `gce` that don't use salt + default values exposed via env variables

This change may be problematic for kubelet logs functionality with CRI enabled, that will be tackled in the follow-up PR, if confirmed.

CC @piosz @Random-Liu @yujuhong @dashpole @dchen1107 @vishh @kubernetes/sig-node-pr-reviews

```release-note
On GCI by default logrotate is disabled for application containers in favor of rotation mechanism provided by docker logging driver.
```
2017-02-26 20:39:34 -08:00
.github Fix issue template to read more clearly 2017-01-27 10:15:06 -07:00
api Merge pull request #41479 from rootfs/iscsi-fix 2017-02-26 16:31:31 -08:00
build Merge pull request #41915 from timstclair/debian-base 2017-02-26 18:07:54 -08:00
cluster Merge pull request #40634 from Crassirostris/use-docker-log-rotation 2017-02-26 20:39:34 -08:00
cmd Merge pull request #41877 from bruceauyeung/k8s-branch-preflight-check-etcd-version 2017-02-26 14:54:55 -08:00
docs Merge pull request #41479 from rootfs/iscsi-fix 2017-02-26 16:31:31 -08:00
examples Merge pull request #41119 from sarat-k/master 2017-02-26 14:02:54 -08:00
federation Merge pull request #41165 from nikhiljindal/del202 2017-02-26 14:54:54 -08:00
Godeps Merge pull request #35408 from xilabao/add-secret-to-pflag 2017-02-26 18:07:53 -08:00
hack Merge pull request #41897 from luxas/kubeadm_secure_controlplane 2017-02-26 14:02:52 -08:00
hooks
logo
pkg Merge pull request #41992 from colemickens/cmpr-azure-config-doc 2017-02-26 18:07:57 -08:00
plugin Merge pull request #41875 from wanghaoran1988/fix_issue 2017-02-26 14:54:52 -08:00
staging Merge pull request #35408 from xilabao/add-secret-to-pflag 2017-02-26 18:07:53 -08:00
test Merge pull request #41964 from sttts/sttts-upgrade-test-sysctl 2017-02-26 18:07:59 -08: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 Update extraction script, sort messages, add .pot file. 2017-02-23 18:53:00 +00:00
vendor Merge pull request #35408 from xilabao/add-secret-to-pflag 2017-02-26 18:07:53 -08: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 Update CHANGELOG.md for v1.6.0-alpha.3. 2017-02-16 12:13:13 -08:00
code-of-conduct.md
CONTRIBUTING.md
labels.yaml
LICENSE
Makefile Make make quick-release quick again 2017-02-21 14:35:55 -08:00
Makefile.generated_files
OWNERS Add wojtec to global approvers 2017-01-25 11:57:00 -06:00
OWNERS_ALIASES Add liggitt to sig-cli-maintainers 2017-02-19 01:20:46 -05:00
README.md Tidy up the main README. 2017-02-01 20:13:09 -08:00
Vagrantfile
WORKSPACE upgrade to latest build rules 2017-02-01 15:16:43 -08:00

Kubernetes

Submit Queue Widget GoDoc Widget

Introduction

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 hosted by the Cloud Native Computing Foundation (CNCF).

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.


Are you ...

Code of Conduct

The Kubernetes community abides by the CNCF code of conduct. Here is an excerpt:

As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

Community

Do you want to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented?. If you are a company, you should consider joining the CNCF. For details about who's involved in CNCF and how Kubernetes plays a role, read the announcement. For general information about our community, see the website community page.

Contribute

If you're interested in being a contributor and want to get involved in developing Kubernetes, get started with this reading:

You will then most certainly gain a lot from joining a SIG, attending the regular hangouts as well as the community meeting.

If you have an idea for a new feature, see the Kubernetes Features repository for a list of features that are coming in new releases as well as details on how to propose one.

Building Kubernetes for the impatient

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

$ go get -d k8s.io/kubernetes
$ cd $GOPATH/src/k8s.io/kubernetes
$ make
$ 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

While there are many different channels that you can use to get hold of us (Slack, Stack Overflow, Issues, Forums/Mailing lists), 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