Commit Graph

69520 Commits

Author SHA1 Message Date
Pengfei Ni
919058b315 Compose routes for on-prem nodes
Compose faked routes for unmanaged nodes so that node controller would
assume the routes for them have already been created.
2018-08-29 14:28:30 +08:00
Pengfei Ni
19d7d85a67 Add on-prem nodes support to Azure cloud provider
On-prem nodes should register themselves with required labels, e.g.

kubelet --node-labels=alpha.service-controller.kubernetes.io/exclude-balancer=true,kubernetes.azure.com/managed=false ...
2018-08-29 14:27:24 +08:00
Kubernetes Submit Queue
113872798d
Merge pull request #67922 from liggitt/vsphere-hostname
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Report Hostname node address for vsphere

xref https://github.com/kubernetes/kubernetes/issues/67714

```release-note
NONE
```
2018-08-28 20:28:32 -07:00
lichuqiang
eefd337ba0 describe allowedTopologies 2018-08-29 10:30:16 +08:00
lichuqiang
795b213455 generated files 2018-08-29 10:30:16 +08:00
lichuqiang
4c43d626f2 related test update 2018-08-29 10:30:16 +08:00
lichuqiang
b4a57f6855 combine feature gate VolumeScheduling and DynamicProvisioningScheduling into one 2018-08-29 10:30:08 +08:00
Kubernetes Submit Queue
cd06419973
Merge pull request #67369 from tianshapjq/should-not-eventf-directly
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

should not event directly

**What this PR does / why we need it**:
should not event directly, using recordContainerEvent() to generate ref and deduplicate events instead.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
none
```
2018-08-28 16:18:13 -07:00
Kubernetes Submit Queue
a2f4f585af
Merge pull request #67947 from saravanan30erd/fluentd-elasticsearch
Automatic merge from submit-queue (batch tested with PRs 67067, 67947). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fixes fluentd configuration params in fluentd-elasticsearch addon

**What this PR does / why we need it**:
- fixes the errors/warnings in fluentd configuration.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
```
2018-08-28 11:40:50 +0000 [warn]: 'filters' parameter is deprecated: filters has been renamed as matches
2018-08-28 11:40:50 +0000 [warn]: 'filters' parameter is deprecated: filters has been renamed as matches
2018-08-28 11:40:50 +0000 [warn]: 'filters' parameter is deprecated: filters has been renamed as matches
2018-08-28 11:40:50 +0000 [warn]: 'filters' parameter is deprecated: filters has been renamed as matches
2018-08-28 11:40:50 +0000 [warn]: 'filters' parameter is deprecated: filters has been renamed as matches
2018-08-28 11:40:50 +0000 [warn]: parameter 'time_format' in <source>
  @id fluentd-containers.log
  @type tail
  path "/var/log/containers/*.log"
  pos_file "/var/log/es-containers.log.pos"
  time_format %Y-%m-%dT%H:%M:%S.%NZ
  tag "raw.kubernetes.*"
  read_from_head true
  <parse>
    @type "multi_format"
    <pattern>
      format json
      time_key "time"
      time_format "%Y-%m-%dT%H:%M:%S.%NZ"
      time_type string
    </pattern>
    <pattern>
      format /^(?<time>.+) (?<stream>stdout|stderr) [^ ]* (?<log>.*)$/
      time_format "%Y-%m-%dT%H:%M:%S.%N%:z"
      expression ^(?<time>.+) (?<stream>stdout|stderr) [^ ]* (?<log>.*)$
      ignorecase false
      multiline false
    </pattern>
  </parse>
</source> is not used.
```

**Release note**:

```release-note
fixes the errors/warnings in fluentd configuration
```
2018-08-28 15:08:04 -07:00
Kubernetes Submit Queue
42c6f1fb28
Merge pull request #67067 from moonek/master
Automatic merge from submit-queue (batch tested with PRs 67067, 67947). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Do not count soft-deleted pods for scaling purposes in HPA controller

**What this PR does / why we need it**:
The metrics of "soft-deleted" pods in general to be deleted should probably not matter for scaling purposes, since they'll be gone "soon", whether they're nodelost or just normally delete.

As long as soft-deleted pods still exist, they prevent normal scale up.


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/kubernetes/issues/62845

**Special notes for your reviewer**:

**Release note**:

```release-note
Stop counting soft-deleted pods for scaling purposes in HPA controller to avoid soft-deleted pods incorrectly affecting scale up replica count calculation.
```
2018-08-28 15:08:01 -07:00
liz
ab28409da3
Mechanism for renewing a certificate based on an existing certificate 2018-08-28 17:49:56 -04:00
liz
7e3340361a
Build artifacts 2018-08-28 17:49:31 -04:00
Xing Yang
88d3d964e2 Re-generate files 2018-08-28 13:56:03 -07:00
Kubernetes Submit Queue
1b3a2dd083
Merge pull request #67545 from sttts/sttts-auth-optional-kubeconfig
Automatic merge from submit-queue (batch tested with PRs 66960, 67545). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

delegated authn/z: optionally opt-out of mandatory authn/authz kubeconfig

This adds `RemoteKubeConfigFileOptional` field to the delegated authn/z option structs. If set to true, the authn/z kubeconfig file flags are optional. If no kubeconfig is given, all token requests are considered to be anonymous and no client CA is looked up in the cluster.

Prerequisite for https://github.com/kubernetes/kubernetes/pull/64149 and https://github.com/kubernetes/kubernetes/pull/67069.
2018-08-28 13:47:18 -07:00
Kubernetes Submit Queue
5774bf1517
Merge pull request #66960 from rosti/drop-arch-suffixes
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: Drop arch suffixes

**What this PR does / why we need it**:

This change removes arch suffixes from control plane images (etcd, kube-apiserver, kube-scheduler, kube-proxy, etc.). These are not needed, as almost all control plane images have a fat manifest now. It also adds a missing unit test for `GetGenericImage`

We have arch suffixes only for kube-dns images now.

Sample output of `kubeadm config images pull` with this change:

```
$ ./_output/bin/kubeadm config images pull
[config/images] Pulled k8s.gcr.io/kube-apiserver:v1.11.1
[config/images] Pulled k8s.gcr.io/kube-controller-manager:v1.11.1
[config/images] Pulled k8s.gcr.io/kube-scheduler:v1.11.1
[config/images] Pulled k8s.gcr.io/kube-proxy:v1.11.1
[config/images] Pulled k8s.gcr.io/pause:3.1
[config/images] Pulled k8s.gcr.io/etcd:3.2.18
[config/images] Pulled k8s.gcr.io/coredns:1.1.3
$ ./_output/bin/kubeadm config images pull --feature-gates=CoreDNS=false
[config/images] Pulled k8s.gcr.io/kube-apiserver:v1.11.1
[config/images] Pulled k8s.gcr.io/kube-controller-manager:v1.11.1
[config/images] Pulled k8s.gcr.io/kube-scheduler:v1.11.1
[config/images] Pulled k8s.gcr.io/kube-proxy:v1.11.1
[config/images] Pulled k8s.gcr.io/pause:3.1
[config/images] Pulled k8s.gcr.io/etcd:3.2.18
[config/images] Pulled k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.10
[config/images] Pulled k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.10
[config/images] Pulled k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.10
```

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Refs kubernetes/kubeadm#1030 kubernetes/kubeadm#51

**Special notes for your reviewer**:
/cc @kubernetes/sig-cluster-lifecycle-pr-reviews
/area kubeadm
/kind feature
/assign @luxas
/assign @timothysc
/assign @dims 
/assign @neolit123 

**Release note**:

```release-note
kubeadm: Control plane images (etcd, kube-apiserver, kube-proxy, etc.) don't use arch suffixes. Arch suffixes are kept for kube-dns only.
```
2018-08-28 13:43:53 -07:00
Xing Yang
de00a66370 Modify DataSource comments 2018-08-28 13:26:53 -07:00
Xing Yang
9c1b29ece1 Modify comments for DataSource 2018-08-28 13:26:52 -07:00
Xing Yang
2e4f6eca0e Clarify comments for DataSource 2018-08-28 13:26:52 -07:00
Xing Yang
46fdfeb4eb Modify comments for DataSource 2018-08-28 13:26:52 -07:00
Xing Yang
5a6c5b07a2 Address Tim's comments 2018-08-28 13:26:51 -07:00
Xing Yang
2a9cff2b03 Add generated files 2018-08-28 13:26:51 -07:00
Xing Yang
e4034e2bab Add validation for feature gate 2018-08-28 13:23:52 -07:00
Xing Yang
34f62ae45e Add APIGroup to TypedLocalObjectReference 2018-08-28 13:23:52 -07:00
Xing Yang
2a442db800 Add feature gate for VolumeSnapshotDataSource 2018-08-28 13:23:52 -07:00
xing-yang
e4c82b3d7b Add TypedLocalObjectReference and DataSource
This PR adds TypedLocalObjectReference in the core API and adds
DataSource in PersistentVolumeClaimSpec.
2018-08-28 13:23:52 -07:00
Deep Debroy
10f652abec E2E tests for allowedTopologies and waitForConsumer for GCE PD and RePD
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-08-28 12:35:43 -07:00
Kubernetes Submit Queue
d46d67159f
Merge pull request #65222 from adelina-t/make-e2e-test-platform-agnostic
Automatic merge from submit-queue (batch tested with PRs 67739, 65222). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Tests: Make e2e test platform-agnostic

The test:
[k8s.io] Pods should support remote command execution over websockets [NodeConformance]

  uses cat on /etc/resolv.conf and checks if the output from the container is  "namespace",
which is incompatible with windows containers as there is no such file.

  Since the test just check if remote command execution works, the command is
irrelevant as long as the output checks out. Switched to using echo "remote execution test",
and checking that output as it works for both windows and linux.
2018-08-28 12:31:04 -07:00
Kubernetes Submit Queue
a26e1ddacc
Merge pull request #67739 from liggitt/hostname-override
Automatic merge from submit-queue (batch tested with PRs 67739, 65222). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Honor --hostname-override, report compatible hostname addresses with cloud provider

xref #67714

7828e5d made cloud providers authoritative for the addresses reported on Node objects, so that the addresses used by the node (and requested as SANs in serving certs) could be verified via cloud provider metadata.

This had the effect of no longer reporting addresses of type Hostname for Node objects for some cloud providers. Cloud providers that have the instance hostname available in metadata should add a `type: Hostname` address to node status. This is being tracked in #67714

This PR does a couple other things to ease the transition to authoritative cloud providers:
* if `--hostname-override` is set on the kubelet, make the kubelet report that `Hostname` address. if it can't be verified via cloud-provider metadata (for cert approval, etc), the kubelet deployer is responsible for fixing the situation by adjusting the kubelet configuration (as they were in 1.11 and previously)
* if `--hostname-override` is not set, *and* the cloud provider didn't report a Hostname address, *and* the auto-detected hostname matches one of the addresses the cloud provider *did* report, make the kubelet report that as a Hostname address. That lets the addresses remain verifiable via cloud provider metadata, while still including a `Hostname` address whenever possible.

/sig node
/sig cloud-provider

/cc @mikedanese

fyi @hh

```release-note
NONE
```
2018-08-28 12:31:00 -07:00
Kubernetes Submit Queue
b49e0b7f3a
Merge pull request #67883 from krzysztof-jastrzebski/hpas
Automatic merge from submit-queue (batch tested with PRs 67938, 66719, 67883). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove incorrect glog error from Horizontal Pod Autoscaler Controller.

**What this PR does / why we need it**:
Pro removes  incorrect glog error from Horizontal Pod Autoscaler Controller.

**Release note:**
```release-note
none
```
2018-08-28 10:02:08 -07:00
Kubernetes Submit Queue
256070adcf
Merge pull request #66719 from hanxiaoshuai/fix0727
Automatic merge from submit-queue (batch tested with PRs 67938, 66719, 67883). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

return err when Unmarshal failed

**What this PR does / why we need it**:
return err when Unmarshal failed
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-28 10:02:05 -07:00
Kubernetes Submit Queue
b5382c347e
Merge pull request #67938 from soltysh/sample_plugin
Automatic merge from submit-queue (batch tested with PRs 67938, 66719, 67883). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add "sample-plugin" staging repo

Supersedes https://github.com/kubernetes/kubernetes/pull/67729

Showcases usage of the new `kubectl` plugins mechanism.
Showcases usage of the new `cli-runtime` repo from a third-party plugin

See README.md for details on what this plugin actually does.

/assign @smarterclayton @sttts @juanvallejo 

/sig cli

**Release note**:
```release-note
Adds sample-cli-plugin staging repository
```
2018-08-28 10:02:01 -07:00
Dr. Stefan Schimanski
a671d65673 authn/z: optionally opt-out of mandatory authn/authz kubeconfig 2018-08-28 19:00:55 +02:00
moonek
3fedbe48e3 Do not count soft-deleted pods for scaling purposes in HPA controller 2018-08-28 16:27:47 +00:00
Kubernetes Submit Queue
b863b23010
Merge pull request #67893 from juju-solutions/master
Automatic merge from submit-queue (batch tested with PRs 67942, 67893). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Work on Juju charms:CSI, dyn config, cloud integration

**What this PR does / why we need it**: This PR updates the Juju charms with fixes/additions regarding. CSI, cloud integration, dynamic configs and cdk-addons

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-28 08:34:05 -07:00
Kubernetes Submit Queue
42295cf99e
Merge pull request #67942 from shyamjvs/revert-load-test-throughput-change
Automatic merge from submit-queue (batch tested with PRs 67942, 67893). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Revert "Re-calibrate load test throughputs"

This reverts commit 2f7f6deef7.

/cc @wojtek-t 

```release-note
NONE
```
2018-08-28 08:34:01 -07:00
Jordan Liggitt
2857de73ce
Honor --hostname-override, report compatible hostname addresses with cloud provider 2018-08-28 11:21:01 -04:00
Kubernetes Submit Queue
9edf196c01
Merge pull request #67902 from liggitt/http2-buffers
Automatic merge from submit-queue (batch tested with PRs 67694, 64973, 67902). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Size http2 buffers to allow concurrent streams

http/2 requests from a given client multiplex over a single connection via streams, chopped up into frames.

The amount of data the client is allowed to send for a given stream and for the overall connection before acknowledgement is determined by the server's MaxUploadBufferPerStream and MaxUploadBufferPerConnection settings respectively, both defaulting to 1MB.

The number of concurrent streams a client is allowed to send over a single connection is determined by the server's MaxConcurrentStreams setting, defaulting to 250.

We observed a starvation issue with the kube aggregator's proxy client if handling of a POST through the aggregator to a backend server exceeded the 1MB buffer size AND the backend server required a second POST request through the aggregator to be handled before it could drain the first request's body.

Logically, if concurrent streams are allowed in a single connection, the connection buffer should be MaxUploadBufferPerStream*MaxConcurrentStreams to allow individual streams to make progress even when one stream is blocked.

This PR shrinks the `MaxUploadBufferPerStream` size to 256kb (which is still large enough to allow all the resources we saw in our test clusters to be sent in a single frame), and grows the MaxUploadBufferPerConnection to accomodate concurrent streams.

I'm also opening a golang issue, [reproducer](https://gist.github.com/liggitt/00239c99b4c148ac1b23e57f86b3af93), and fix for the defaults for this

```release-note
adjusted http/2 buffer sizes for apiservers to prevent starvation issues between concurrent streams
```
2018-08-28 07:21:21 -07:00
Kubernetes Submit Queue
2eb14e3007
Merge pull request #64973 from nokia/k8s-sctp
Automatic merge from submit-queue (batch tested with PRs 67694, 64973, 67902). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

SCTP support implementation for Kubernetes

**What this PR does / why we need it**: This PR adds SCTP support to Kubernetes, including Service, Endpoint, and NetworkPolicy.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #44485

**Special notes for your reviewer**:

**Release note**:

```release-note

SCTP is now supported as additional protocol (alpha) alongside TCP and UDP in Pod, Service, Endpoint, and NetworkPolicy.  

```
2018-08-28 07:21:18 -07:00
Kubernetes Submit Queue
4007eed73e
Merge pull request #67694 from sttts/sttts-kube-apiserver-always-create-extension-apiserver-authentication
Automatic merge from submit-queue (batch tested with PRs 67694, 64973, 67902). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kube-apiserver: always create configmap/extension-apiserver-authentication

Other components (aggregated apiservers) read the configmap and fail hard if it does not exist. But they work without all fields being set (https://github.com/kubernetes/kubernetes/pull/66394). In the future, components like ctrl-manager and scheduler won't need kube-apiserver to authenticate with them at all. So, consequently we should always create the file, even if it is empty.

```release-note
Always create configmaps/extensions-apiserver-authentication from kube-apiserver.
```
2018-08-28 07:21:11 -07:00
saravanan30erd
c493bef26e fix the fluentd config params 2018-08-28 17:26:27 +04:00
wojtekt
8fb365df32 Reduce amount of allocations in kube-proxy 2018-08-28 15:18:58 +02:00
Maciej Szulik
e5599b5ea5
Updated staging godeps, import restrictions and missing metadata files 2018-08-28 14:57:35 +02:00
Kubernetes Submit Queue
965df07447
Merge pull request #67885 from zanetworker/fix-typo-runtime-conversion
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix typo in runtime conversion.go

**What this PR does / why we need it**:
Fix typo in runtime conversion.go in function `Convert_Slice_string_To_bool`

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #
NONE 

**Special notes for your reviewer**:
NONE 

**Release note**:

```release-note
NONE
```
2018-08-28 05:34:25 -07:00
Arnold Szederjesi
134f7f2a9d Add flag for disabling prometheus-to-sd only for daemon sets 2018-08-28 14:09:07 +02:00
Shyam Jeedigunta
e062e6396b Revert "Re-calibrate load test throughputs"
This reverts commit 2f7f6deef7.
2018-08-28 13:27:38 +02:00
juanvallejo
a510285d63
add support for --cluster --context --user flags 2018-08-28 11:44:14 +02:00
juanvallejo
985406c969
add cli plugin example repo 2018-08-28 11:44:14 +02:00
Rostislav M. Georgiev
8c59c6d219 kubeadm: Add missing unit test for GetGenericImage
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-08-28 11:11:48 +03:00
Rostislav M. Georgiev
14dbfdcc3b kubeadm: remove arch suffix from control plane images
This change removes arch suffixes from control plane images (etcd,
kube-apiserver, kube-scheduler, kube-proxy, etc.). These are not needed, as
almost all control plane images have a fat manifest now.

We have arch suffixes only for kube-dns images now.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-08-28 11:11:48 +03:00
Krzysztof Jastrzebski
dfd88dbde0 Remove incorrect glog error from Horizontal Pod Autoscaler. 2018-08-28 09:18:25 +02:00