Commit Graph

32 Commits (004552f8a43e0bfd138c166f586bb4686fac559c)

Author SHA1 Message Date
Michael Taufen 982df56c52 Replace uses of --config with --pod-manifest-path 2017-02-07 14:32:37 -08:00
Kubernetes Submit Queue 3a3ca50653 Merge pull request #40619 from Random-Liu/update-kubemark-npd-version
Automatic merge from submit-queue (batch tested with PRs 40132, 39302, 40194, 40619, 40601)

Update NPD version to v0.3.0-alpha.0 in kubemark.

@wojtek-t @shyamjvs Update the NPD version in kubemark.

I just built the alpha release https://github.com/kubernetes/node-problem-detector/releases/tag/v0.3.0-alpha.0.

And the PR https://github.com/kubernetes/node-problem-detector/pull/79 is included.

However, I'm not sure whether 1 minute period is longer enough.

If it's still not longer enough, in fact we can extend it by split the resync and heartbeat:
* Every 1 minute, check whether there is inconsistency between apiserver and npd, and only update when there is inconsistency. (1 GET/m)
* Every > 2 minute, do forcibly update as heartbeat. (<0.5 PATCH/m)

And I can also make the sync period configurable after we finalize the sync mechanism.
2017-01-27 18:32:26 -08:00
Random-Liu e2abfb7120 Update NPD version to v0.3.0-alpha.0 in kubemark. 2017-01-27 11:16:24 -08:00
Shyam Jeedigunta c62e5214c3 Refactored kubemark code into provider-specific and provider-independent parts [Part-1] 2017-01-26 22:54:14 +01:00
Shyam Jeedigunta cad541eb0c fixing source for heapster eventer in kubemark 2017-01-25 14:16:06 +01:00
Wojciech Tyczynski fbd5c7c380 Revert "Refactored kubemark into cloud-provider independent code and GCE specific code" 2017-01-24 10:42:17 +01:00
Shyam Jeedigunta d2fadbe30f Refactored kubemark code into provider-specific and provider-independent parts 2017-01-19 15:34:13 +01:00
Kubernetes Submit Queue da7d17c8dd Merge pull request #39951 from shyamjvs/fix-kubemark-npd
Automatic merge from submit-queue (batch tested with PRs 40081, 39951)

Passing correct master address to kubemark NPD & authenticating+authorizing it with apiserver

Fixes #39245 
Fixes https://github.com/kubernetes/node-problem-detector/issues/50

Added RBAC for npd and fixed issue with the npd falling back to inClusterConfig.

cc @kubernetes/sig-scalability-misc @wojtek-t @gmarek
2017-01-19 05:01:04 -08:00
Shyam Jeedigunta cc78a3f428 Passing correct master address to kubemark NPD & authenticating+authorizing it with apiserver 2017-01-18 18:23:23 +01:00
Kubernetes Submit Queue 6dfe5c49f6 Merge pull request #38865 from vwfs/ext4_no_lazy_init
Automatic merge from submit-queue

Enable lazy initialization of ext3/ext4 filesystems

**What this PR does / why we need it**: It enables lazy inode table and journal initialization in ext3 and ext4.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #30752, fixes #30240

**Release note**:
```release-note
Enable lazy inode table and journal initialization for ext3 and ext4
```

**Special notes for your reviewer**:
This PR removes the extended options to mkfs.ext3/mkfs.ext4, so that the defaults (enabled) for lazy initialization are used.

These extended options come from a script that was historically located at */usr/share/google/safe_format_and_mount* and later ported to GO so this dependency to the script could be removed. After some search, I found the original script here: https://github.com/GoogleCloudPlatform/compute-image-packages/blob/legacy/google-startup-scripts/usr/share/google/safe_format_and_mount

Checking the history of this script, I found the commit [Disable lazy init of inode table and journal.](4d7346f7f5). This one introduces the extended flags with this description:
```
Now that discard with guaranteed zeroing is supported by PD,
initializing them is really fast and prevents perf from being affected
when the filesystem is first mounted.
```

The problem is, that this is not true for all cloud providers and all disk types, e.g. Azure and AWS. I only tested with magnetic disks on Azure and AWS, so maybe it's different for SSDs on these cloud providers. The result is that this performance optimization dramatically increases the time needed to format a disk in such cases.

When mkfs.ext4 is told to not lazily initialize the inode tables and the check for guaranteed zeroing on discard fails, it falls back to a very naive implementation that simply loops and writes zeroed buffers to the disk. Performance on this highly depends on free memory and also uses up all this free memory for write caching, reducing performance of everything else in the system. 

As of https://github.com/kubernetes/kubernetes/issues/30752, there is also something inside kubelet that somehow degrades performance of all this. It's however not exactly known what it is but I'd assume it has something to do with cgroups throttling IO or memory. 

I checked the kernel code for lazy inode table initialization. The nice thing is, that the kernel also does the guaranteed zeroing on discard check. If it is guaranteed, the kernel uses discard for the lazy initialization, which should finish in a just few seconds. If it is not guaranteed, it falls back to using *bio*s, which does not require the use of the write cache. The result is, that free memory is not required and not touched, thus performance is maxed and the system does not suffer.

As the original reason for disabling lazy init was a performance optimization and the kernel already does this optimization by default (and in a much better way), I'd suggest to completely remove these flags and rely on the kernel to do it in the best way.
2017-01-18 09:09:52 -08:00
Shyam Jeedigunta 9b0d8b9747 Added RBAC for heapster in kubemark 2017-01-18 13:47:08 +01:00
Shyam Jeedigunta 491c26feca Fix RBAC role for kube-proxy in Kubemark 2017-01-17 11:39:00 +01:00
Aleksandra Malinowska 043e809b8f update heapster version to 1.3.0-beta.0 2017-01-12 13:42:31 +01:00
Shyam Jeedigunta ce8c207328 Updated kubemark with RBAC for controller-manager, kubecfg, kubelet and proxy 2017-01-06 08:54:54 +01:00
Shyam Jeedigunta ac30fb28bd Fixing 'systemd restart docker' command in kubemark master 2016-12-21 11:46:33 +01:00
Shyam Jeedigunta 7e12fd4bfd Added 'hollow'-node-problem-detector to hollow-nodes in kubemark 2016-12-20 12:04:24 +01:00
Shyam Jeedigunta 9051462497 Migrated kubemark master to GCI from Debian. 2016-12-19 13:51:56 +01:00
Alexander Block 13a2bc8afb Enable lazy initialization of ext3/ext4 filesystems 2016-12-18 11:08:51 +01:00
Shyam Jeedigunta f7ce6a7d10 On kubemark master, kubelet now runs as a supervisord process and all master components as pods 2016-12-12 13:56:07 +01:00
Wojciech Tyczynski 9439453527 Increase single logfile size in kubemark 2016-12-12 11:18:20 +01:00
Shyam Jeedigunta 06ce9ae479 Moved start-kubemark-master.sh from test/kubemark/ to test/kubemark/resources/ 2016-12-07 18:15:24 +01:00
Wojciech Tyczynski 9ccddb9b7d Revert "Add log rotation to kubemark" 2016-11-21 14:55:52 +01:00
Wojciech Tyczynski a96dd63367 Add log rotation to kubemark 2016-11-18 16:19:32 +01:00
gmarek 7439a956ef Add ServiceAccounts to Kubemark 2016-11-15 16:03:48 +01:00
Piotr Szczesniak 0f40f94dd9 Bumped Heapster to v1.2.0 2016-09-14 09:16:09 +02:00
Piotr Szczesniak 2d87deb043 Bumped Heapster to v1.2.0-beta.3 2016-09-09 11:41:48 +02:00
Wojciech Tyczynski 56008de8d6 Fix heapster in kubemark 2016-08-22 15:38:02 +02:00
k8s-merge-robot d1cc7f9e2c Merge pull request #27037 from wojtek-t/push_hollow_nodes_logs_to_kubelets
Automatic merge from submit-queue

Mount hollow-node logs to parent node hostpath
2016-06-27 22:40:52 -07:00
Piotr Szczesniak 8fff5319db Bumped Heapster to v1.1.0 2016-06-16 20:41:28 +02:00
Wojciech Tyczynski 770bd6b7a4 Mount hollow-node logs to parent node hostpath 2016-06-08 13:24:49 +02:00
Wojciech Tyczynski fe470b664b Pipe content-type variable to hollow node 2016-05-11 14:57:40 +02:00
gmarek b14809832b Add heapster to kubemark 2016-04-27 16:04:07 +02:00