Commit Graph

1419 Commits

Author SHA1 Message Date
Timothy St. Clair b04a226adf Remove myself (timothysc) from OWNERS files on areas that I do not
actively maintain.

Kubernetes-commit: da77826d085814f753af8dc4a24b24f41aded74a
2018-02-12 18:56:41 -06:00
Marek Grabowski e36f8069aa Add a metric exposing number of objects per type
Kubernetes-commit: f6e9ebffa2df10f7792fbea0a0fbe5ab8e388a26
2018-02-12 15:58:57 +00:00
Wang Guoliang c26e7f2e3a more concise to merge the array
Kubernetes-commit: 31aad75316b6e63840ec05b8bc9205fbb6d897aa
2018-02-11 21:27:11 +08:00
Wang Guoliang 32fe314a1e fix some syntax related errors
Kubernetes-commit: d065157dd74fa02eec87f5849528b079a3736c3d
2018-02-11 19:50:49 +08:00
Kubernetes Publisher 16f07649a0 Merge pull request #59464 from dixudx/fix_all_typos
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 all the typos across the project

**What this PR does / why we need it**:
There are lots of typos across the project. We should avoid small PRs on fixing those annoying typos, which is time-consuming and low efficient.

This PR does fix all the typos across the project currently. And with #59463, typos could be avoided when a new PR gets merged.

**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**:
/sig testing
/area test-infra
/sig release
/cc @ixdy
/assign @fejta

**Release note**:

```release-note
None
```

Kubernetes-commit: 317853c90c674920bfbbdac54fe66092ddc9f15f
2018-02-11 09:19:06 +00:00
Ryan Hitchman 43796a9895 Fix build tag for grpc_service_unix_test.go.
Kubernetes-commit: 4d2e43f53f3c057e7bddd6f09e5a82b0b97d276f
2018-02-09 12:10:25 -08:00
Kubernetes Publisher ebeb23c0ad Merge pull request #57682 from nikhita/customresource-metrics
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>.

Collect prometheus metrics for custom resources

Enables apiserver metrics for custom resources.

Fixes #55146

**Release note**:

```release-note
Enable apiserver metrics for custom resources.
```

/cc sttts deads2k kargakis brancz

Kubernetes-commit: 8eae0a8a376bc9a7c705784b2a1c4e0a133654b9
2018-02-09 13:15:37 +00:00
Kubernetes Publisher a78ce9fc2a Merge pull request #55684 from wu-qiang/kms-plugin-grpc-api
Automatic merge from submit-queue (batch tested with PRs 58437, 59490, 55684). 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>.

gRPC-based KMS plugin service

**What this PR does / why we need it**:
Implement for issue https://github.com/kubernetes/kubernetes/issues/51965
**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 #51965

**Special notes for your reviewer**:
@destijl @sakshamsharma @deads2k @ericchiang
The implementation based on the document https://docs.google.com/document/d/1S_Wgn-psI0Z7SYGvp-83ePte5oUNMr4244uanGLYUmw/edit
**Release note**:

```release-note
Implement envelope service with gRPC, so that KMS providers can be pulled out from API server.
```

Kubernetes-commit: 53207e1be629e69cade08ec7093baef8c51c51cd
2018-02-09 09:15:16 +00:00
Di Xu 9beeb59216 fix all the typos across the project
Kubernetes-commit: 48388fec7eaad4ac8d84fbe20673ffacf41964a1
2018-02-09 14:53:53 +08:00
Wu Qiang 43cefec1d0 Update endpoint value in test code
Kubernetes-commit: 31f74303fc48df5d88105c9742a103eae742f478
2018-02-09 01:23:25 +00:00
Dr. Stefan Schimanski 89b7bf377a Update generated files
Kubernetes-commit: 5483ab7679dd055422131fd1c22a18eee39a775e
2018-02-08 19:37:08 +01:00
Kubernetes Publisher 8e45eac9df Merge pull request #58867 from hzxuzhonghu/fix-cors-test-bug
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 using defer in loop in cors test

**What this PR does / why we need it**:
fix bug in cors test

**Special notes for your reviewer**:
a small bug fix, wrap defer in a closure
**Release note**:

```release-note
NONE
```

Kubernetes-commit: b5387effe82f94ebc13fc5a924f0d389e8600bf0
2018-02-08 17:15:56 +00:00
Dr. Stefan Schimanski 0520d284e2 controller-manager: add authz/n to options, nil by default
Kubernetes-commit: cecd663c21d139a3a5a15b43a8dda8de26180246
2018-02-08 14:19:02 +01:00
Kubernetes Publisher 7b3fec31ba Merge pull request #59410 from fisherxu/testapigroup
Automatic merge from submit-queue (batch tested with PRs 57824, 58806, 59410, 59280). 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 some package to code-generator

**What this PR does / why we need it**:
add some package to code-generator and regenerated files.

**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**:
/cc @sttts

**Release note**:

```release-note
NONE
```

Kubernetes-commit: b309c2f4f034dc5a73f9258199d2359d3f6ec81d
2018-02-08 13:16:03 +00:00
Kubernetes Publisher 2da5eda51d Merge pull request #58806 from CaoShuFeng/audit_annotation_api
Automatic merge from submit-queue (batch tested with PRs 57824, 58806, 59410, 59280). 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 Annotations to advanced audit api

**Release note**:
```release-note
Annotations is added to advanced audit api
```

Kubernetes-commit: db1ed10534231739f17f48895ae0dce861aa1c1c
2018-02-08 13:15:32 +00:00
Eric Chiang ab4f45c426 generated
Kubernetes-commit: 01801ae13a86c10cd343c329f5224ab47272f826
2018-02-07 15:48:46 -08:00
Davanum Srinivas 650e119954 Remove experimental keystone authenticator
experimental-keystone-url and experimental-keystone-ca-file were always
experimental. So we don't need a deprecation period.
KeystoneAuthenticator was on the server side and needed userid/password
to be passed in and used that to authenticate with Keystone. We now
have authentication and authorization web hooks that can be used. There
is a external repo with a webook for keystone which works fine along
with the kubectl auth provider that was added in:
a0cebcb559c5c0ab8a2e50b1ee11cc62f9ebb3a8

So we don't need this older style / hard coded / experimental code
anymore.

Kubernetes-commit: 18590378c4491eacdea5cd05f98c92fe84020263
2018-02-07 13:17:29 -05:00
fisherxu 5c2ccdd681 delete unused generated file
Kubernetes-commit: c6499e8db3ad35dce4b0b6b8302654bd90ff0826
2018-02-07 11:03:40 +08:00
Cao Shufeng 01b15f1056 fix invalid match rules for advanced audit policy
When users or groups are set in a rule, this rule should not match
attribute with unauthorized request where user and group are nil.

Kubernetes-commit: 9a7acaae1d5015886cc7c3bc46fc3d973045dc2a
2018-02-06 14:05:57 +08:00
Kubernetes Publisher 340247246b Merge pull request #58317 from nikhita/bump-go-yaml
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>.

bump(670d4c): gopkg.in/yaml.v2: fix parsing for non-specific tags

Fixes #56976

Fixes this bug - https://github.com/go-yaml/yaml/issues/75 - in `go-yaml`. The fix for this bug is at 670d4cfef0.

**Release note**:

```release-note
NONE
```

/cc sttts caesarxuchao jennybuckley

Kubernetes-commit: 4e2c3f060a873a0b727dbd3e66047a3b2858db97
2018-02-06 05:19:06 +00:00
Kubernetes Publisher 553ef3b03e Merge pull request #59059 from smarterclayton/move_partial_object
Automatic merge from submit-queue (batch tested with PRs 59158, 38320, 59059, 55516, 59357). 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>.

Promote v1alpha1 meta to v1beta1

No code changes, just renames. We can discuss if there are any field / naming changes here or in a follow-up

Parent #58536
Fixes #53224
Prereq to #55637

@kubernetes/sig-api-machinery-pr-reviews @deads2k

```release-note
The `meta.k8s.io/v1alpha1` objects for retrieving tabular responses from the server (`Table`) or fetching just the `ObjectMeta` for an object (as `PartialObjectMetadata`) are now beta as part of `meta.k8s.io/v1beta1`.  Clients may request alternate representations of normal Kubernetes objects by passing an `Accept` header like `application/json;as=Table;g=meta.k8s.io;v=v1beta1` or `application/json;as=PartialObjectMetadata;g=meta.k8s.io;v1=v1beta1`.  Older servers will ignore this representation or return an error if it is not available.  Clients may request fallback to the normal object by adding a non-qualified mime-type to their `Accept` header like `application/json` - the server will then respond with either the alternate representation if it is supported or the fallback mime-type which is the normal object response.
```

Kubernetes-commit: 9ee71b720ed2300d6298bb936d0a7873b5ecf2ac
2018-02-05 21:20:23 +00:00
Kubernetes Publisher 3db3c6fcd2 Merge pull request #38320 from liggitt/golang-ratelimit
Automatic merge from submit-queue (batch tested with PRs 59158, 38320, 59059, 55516, 59357). 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>.

Switch from juju/ratelimit to golang.org/x/time/rate

Replaces juju/ratelimit with golang.org/x/time/rate
xref https://github.com/kubernetes/steering/issues/21

Requires removing the Saturation() method on the rate limiter. In the process of attempting to contribute it to the `golang.org/x/time/rate` implementation, it became clear that what it was calculating was not very useful when combined with periodic polling. See discussion in https://go-review.googlesource.com/c/time/+/29958#message-4caffc11669cadd90e2da4c05122cfec50ea6a22

```release-note
NONE
```

Kubernetes-commit: 0656d030a7d131ca8088a9f0ecd12596eb90d2fd
2018-02-05 21:19:52 +00:00
Clayton Coleman 7b21554cfc Make Service storage a wrapper around other storages
The registry abstraction is unnecessary and adds direct coupling to the
core types. By using a wrapper, we carry through the default
implementations of the non-mutating operations. The DeleteCollection
method is explicitly patched out since it cannot be correctly
implemented on the storage currently.

As a result, TableConvertor is now exposed.

A few other minor refactorings

* Corrected the case of some variables
* Used functions instead of methods for several helper methods
* Removed the legacy Deleter - service was the only remaining consumer

Kubernetes-commit: 110b064d630ca39220696225dd597e7d33b95f4f
2018-02-04 22:38:39 -05:00
Ryan Hitchman bbfe695b05 Remove unused variables (only assigned to) from test code.
This is revealed by the go/types package, which is stricter than
the Go compiler about unused variables. See also: golang/go#8560

Kubernetes-commit: e04b91facf180c17557a44e8e462858ea2936301
2018-02-02 13:34:57 -08:00
Kubernetes Publisher bfca9a4f48 Merge pull request #59140 from halfcrazy/typo-apiserver
Automatic merge from submit-queue (batch tested with PRs 57683, 59116, 58728, 59140, 58976). 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>.

doc: fix typo in package apiserver

**What this PR does / why we need it**:
fix typo in package apiserver

**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
```

Kubernetes-commit: 7d07810c6ded46254ed6fb0a86ce895411636887
2018-02-01 17:16:39 +00:00
Kubernetes Publisher c9c36c8ef6 Merge pull request #58865 from hzxuzhonghu/fix-filters-typos
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 some typos in apiserver filters

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

fix some typos

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: ca17c82b37f3eef25ae71a8a4bb1b16097aa4ff1
2018-02-01 13:15:06 +00:00
halfcrazy 6f8c3a80da fix typo in package apiserver
Kubernetes-commit: 0da91a8577ddfdeaff985cbb6c0da69d5a2ffc81
2018-02-01 03:04:33 +08:00
Dr. Stefan Schimanski 338a852bbb apiserver: make SecureServingOptions and authz/n options re-usable
Kubernetes-commit: 4e0114b0dd3701b68c02d038edcf4fbe84515a68
2018-01-31 16:17:48 +01:00
Kubernetes Publisher 840f7e67cd Merge pull request #58598 from WanLinghao/rbac_improve
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>.

add a comment on specical  case on authorization

In file /staging/src/k8s.io/apiserver/pkg/endpoints/filters/authorization.go,
function WithAuthorization() returns DecisionAllow before error check.
It is intentional to avoid leaking authorization errors to attackers.
This patch add a comment here to give a hint

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

**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
```

Kubernetes-commit: 8f71d6d84013ddbe54a3087b879186bcd7ee4ce1
2018-01-31 13:18:16 +00:00
WanLinghao 2eee1977e7 modified: staging/src/k8s.io/apiserver/pkg/endpoints/filters/authorization.go
Kubernetes-commit: 983435bdcec2aa130243108820c5c928ed2f8bf3
2018-01-31 14:21:42 +08:00
Clayton Coleman f688fbc3b2 Promote v1alpha1 meta to v1beta1
No code changes, just renames

Kubernetes-commit: d07a608607e1f4d252003c17cd615652574a0823
2018-01-30 13:30:57 -05:00
Kubernetes Publisher 38c16d509c Merge pull request #59018 from hzxuzhonghu/deprecate-http
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>.

deprecate insecure http flags and remove already deprecated flags

**What this PR does / why we need it**:
1. deprecate `insecure-bind-address` `insecure-port` flags
2. remove flags `public-address-override` `address` `port` They are mark deprecated in #36604, which is more than a year ago.

**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 #58951

**Special notes for your reviewer**:

**Release note**:

```release-note
Deprecate insecure flags `--insecure-bind-address`, `--insecure-port` and remove  `--public-address-override`.
```

Kubernetes-commit: 2f175bc43279a1a4552610a42af0a006f4c6fba2
2018-01-30 13:17:11 +00:00
hzxuzhonghu 9e657b874d deprecate insecure http flags and remove already deprecated public-address-override
Kubernetes-commit: 24c687fdad009fec01703ae0f93ab141b97c0028
2018-01-30 16:05:33 +08:00
Kubernetes Publisher f5be0e0c93 Merge pull request #58963 from deads2k/server-06-dead-etcdserver
Automatic merge from submit-queue (batch tested with PRs 58955, 58968, 58971, 58963, 58298). 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 dead testing code

Removes a deprecated etcd server init function and stops starting an etc server during unit tests that we never use.

Kubernetes-commit: 52c3ff3ab84391cc9658ba1501ad0e70aff5edcc
2018-01-30 01:20:11 +00:00
Kubernetes Publisher 40adc453fd Merge pull request #58968 from deads2k/server-07-deadarg
Automatic merge from submit-queue (batch tested with PRs 58955, 58968, 58971, 58963, 58298). 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 --tls-ca-file which had no effect

The flag has had no effect since we started configuring loopback based on the direct cert.  I've marked it deprecated this release so we don't break launch scripts right away, but its coming.  I think we should remove it in 1.11.

```release-note-action-required
kube-apiserver flag --tls-ca-file has had no effect for some time.  It is now deprecated and slated for removal in 1.11.  If you are specifying this flag, you must remove it from your launch config before ugprading to 1.11.
```

Kubernetes-commit: d8f32b291751a707d1682003c0c695a530572afa
2018-01-30 01:19:30 +00:00
Kubernetes Publisher 446183392e Merge pull request #58863 from hzxuzhonghu/runtime-config-resource-remove
Automatic merge from submit-queue (batch tested with PRs 56995, 58498, 57426, 58902, 58863). 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>.

cleanup enable/disable api resources code

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

After #57228, `runtime-config` flag has stop support enable/disable resources of a specific groupVersion,
so this pr does some clean work about this.

Mainly delete unused code in  `k8s.io/apiserver/pkg/server/storage/resource_config.go`

**Special notes for your reviewer**:
/assign @deads2k  @sttts
**Release note**:

```release-note
NONE
```
/kind cleanup

Kubernetes-commit: 5ab8f8cea957ca71b3da4436b6bbcd0abf76546b
2018-01-29 21:16:55 +00:00
Kubernetes Publisher 0a66cf2869 Merge pull request #56995 from mtaufen/kc-flags-precedence-redo
Automatic merge from submit-queue (batch tested with PRs 56995, 58498, 57426, 58902, 58863). 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>.

flag precedence redo

Changes the Kubelet configuration flag precedence order so that flags take precedence over config from files/ConfigMaps.

This should fix the re-parse issue with #56097 that led to revert.

Fixes #56171.

In order to prevent global flags (registered in 3rd party libs, etc.) from leaking into the command's help text, this PR turns off Cobra's flag parsing in the `kubelet` command and re-implements help and usage funcs for the Kubelet. Cobra's default funcs automatically merge all global flags into the command's flagset, which results in incorrect help text. I tried to keep the formatting as close as possible to the what the Kubelet currently produces.

Diff between Kubelet's help text on `upstream/master` vs `mtaufen/kc-flags-precedence-redo`, which shows a leaked flag being removed, but no change to the formatting:
```
diff --git a/upstream.master.help b/mtaufen.kc-flags-precedence-redo.help
index 798a030..0797869 100644
--- a/upstream.master.help
+++ b/mtaufen.kc-flags-precedence-redo.help
@@ -30,7 +30,6 @@ Flags:
       --authorization-mode string                                                                                 Authorization mode for Kubelet server. Valid options are AlwaysAllow or Webhook. Webhook mode uses the SubjectAccessReview API to determine authorization. (default "AlwaysAllow")
       --authorization-webhook-cache-authorized-ttl duration                                                       The duration to cache 'authorized' responses from the webhook authorizer. (default 5m0s)
       --authorization-webhook-cache-unauthorized-ttl duration                                                     The duration to cache 'unauthorized' responses from the webhook authorizer. (default 30s)
-      --azure-container-registry-config string                                                                    Path to the file containing Azure container registry configuration information.
       --bootstrap-checkpoint-path string                                                                          <Warning: Alpha feature> Path to to the directory where the checkpoints are stored
       --bootstrap-kubeconfig string                                                                               Path to a kubeconfig file that will be used to get client certificate for kubelet. If the file specified by --kubeconfig does not exist, the bootstrap kubeconfig is used to request a client certificate from the API server. On success, a kubeconfig file referencing the generated client certificate and key is written to the path specified by --kubeconfig. The client certificate and key file will be stored in the directory pointed by --cert-dir.
       --cadvisor-port int32                                                                                       The port of the localhost cAdvisor endpoint (set to 0 to disable) (default 4194)
```

Ultimately, I think we should implement a common lib that K8s components can use to generate clean help text, as the global flag leakage problem affects all core k8s binaries. I would like to do so in a future PR, to keep this PR simple. We could base the help text format on the default values returned from `Command.HelpTemplate` and `Command.UsageTemplate`. Unfortunately, the template funcs used to process these defaults are private to Cobra, so we'd have to re-implement these, or avoid using them.

```release-note
NONE
```

Kubernetes-commit: cf92d921d907f2c3fdf635b690849fd663705638
2018-01-29 21:16:15 +00:00
David Eads 0989af6244 remove --tls-ca-file which had no effect
Kubernetes-commit: 114711f77d1f12e10b1190db02ca17302992f5ad
2018-01-29 10:29:14 -05:00
David Eads 531b9b5202 remove dead testing code
Kubernetes-commit: 3e6bfcb5dbc35a9e845504043a345fd42ed5ce27
2018-01-29 09:50:40 -05:00
Wu Qiang bed3e4f9ab Add generated script for kms api pb file
Kubernetes-commit: 9825018e4a004523492893433604439b1f2acd22
2018-01-29 06:00:57 +00:00
hzxuzhonghu 808a483472 pass listener in integration test to prevent port in use flake
Kubernetes-commit: a6c43c6a5ca7cc4449684d5e68d73773be91cd41
2018-01-29 11:58:23 +08:00
Kubernetes Publisher 1bf7de8f04 Merge pull request #58878 from liggitt/deprecated-feature
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>.

Categorize deprecated feature gate more accurately

related to #58761

follow up from https://github.com/kubernetes/kubernetes/pull/57265 to clarify the status of the feature gate

```release-note
NONE
```

Kubernetes-commit: e8225f5618d7bf9251115b9a8be689175bbed52f
2018-01-27 21:16:36 +00:00
hzxuzhonghu db4dae8a12 refactor resource_config.go thoroughly and remove useless code in registry
Kubernetes-commit: d0d1e1dcc473d75c5dae6d4710ac67f4f8ba44c6
2018-01-27 15:18:25 +08:00
Kubernetes Publisher 526927d2cd Merge pull request #58644 from yguo0905/webhooks
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>.

Use SSH tunnel for webhook communication iff the webhook is deployed as a service

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

We are getting the following error when the apiserver connects the webhook on localhost (configured via URL). We should only use the SSL tunnel for the connections to nodes when the webhooks are running as services.

```
I0119 17:41:18.678436       1 ssh.go:400] [4cdf44753cc3705d: localhost:10258] Dialing...
W0119 17:41:18.678483       1 ssh.go:424] SSH tunnel not found for address "localhost", picking random node
I0119 17:41:18.679810       1 ssh.go:402] [4cdf44753cc3705d: localhost:10258] Dialed in 1.398691ms.
W0119 17:41:18.679928       1 admission.go:256] Failed calling webhook, failing closed xxx: failed calling admission webhook "xxx": Post xxx: ssh: rejected: connect failed (Connection refused)
I0119 17:41:18.680346       1 wrap.go:42] POST /api/v1/namespaces/kube-system/pods: (5.725588ms) 500
```

**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/58779

**Special notes for your reviewer**:

**Release note**:

```release-note
kube-apiserver is changed to use SSH tunnels for webhook iff the webhook is not directly routable from apiserver's network environment.
```

/assign @lavalamp @caesarxuchao @cheftako

Kubernetes-commit: ac495f169b71d51dc9a63c2ff76cf9f596578853
2018-01-27 01:16:54 +00:00
Kubernetes Publisher 4832d314d5 Merge pull request #58342 from gmarek/inflight
Automatic merge from submit-queue (batch tested with PRs 55792, 58342). 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 a metric to track usage of inflight request limit.

This one is tricky. The goal is to know how 'loaded' given apiserver is before we start dropping the load, to so we need to somehow expose 'fullness' of channels.

Sadly this metric is pretty volatile so it's not clear how to do this correctly. I decided to do pre-aggregation  to smoothen the metric a bit. In the current implementation the metric publishes maximum "usage" of the inflight is previous second.

If you have any ideas please share.
@smarterclayton @lavalamp @wojtek-t @liggitt @deads2k @caesarxuchao @sttts @crassirostris @hulkholden

```release-note
NONE
```

Kubernetes-commit: a73c96d7b28e8c04a5bd5f68af04eecea3ec14ff
2018-01-26 17:16:21 +00:00
Jordan Liggitt 1740ed319f Add deprecated stage of feature gates
Kubernetes-commit: 7336eeab8a498e2f1df73fa95a1f16498745a7d6
2018-01-26 10:44:41 -05:00
Wu Qiang be4ee1ba37 Remove configfile for kms in encryption config
Kubernetes-commit: 5ae61ed386e3fbc3b7e91d343afadadd52ac027d
2018-01-26 11:53:24 +00:00
Kubernetes Publisher 4b887934ec Merge pull request #58101 from lavalamp/scramble-rv
Automatic merge from submit-queue (batch tested with PRs 58518, 58771, 58101, 56829). 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>.

Resource version parsing should all be in one place

This is 100% refactoring that ought to be a no-op at run time. It puts resource version parsing in a single file. Doing this because I want to follow up with a change which will make it obvious to users of the system our rules about resource version. Don't want to mix that with this refactor (on the off chance it gets rolled back).

Part of: #58112

```release-note
NONE
```

Kubernetes-commit: d9ded43bbeed4ff0d1708b39e9fabc47b8f596cb
2018-01-26 09:16:20 +00:00
hzxuzhonghu 41545372a2 fix using defer in loop in cors test
Kubernetes-commit: b835c46c862b0074349b24a3c2a8dbd6956395f2
2018-01-26 16:56:12 +08:00
hzxuzhonghu ebf7a386f9 fix some typos in filters
Kubernetes-commit: b9308355a64c4138ac9558f790ed0f716f44c743
2018-01-26 16:43:22 +08:00