Commit Graph

54251 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
367cdb1a55 Merge pull request #46580 from Huawei-PaaS/kube-proxy-ipvs-pr
Automatic merge from submit-queue (batch tested with PRs 51377, 46580, 50998, 51466, 49749)

Implement IPVS-based in-cluster service load balancing

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

Implement IPVS-based in-cluster service load balancing. It can provide some performance enhancement and some other benefits to kube-proxy while comparing iptables and userspace mode. Besides, it also support more sophisticated load balancing algorithms than iptables (least conns, weighted, hash and so on).

**Which issue this PR fixes**

#17470 #44063

**Special notes for your reviewer**:


* Since the PR is a bit large, I splitted it and move the commits related to ipvs util pkg to PR #48994. Hopefully can make it easier to review.

@thockin @quinton-hoole @kevin-wangzefeng @deepak-vij @haibinxie @dhilipkumars @fisherxu 

**Release note**:

```release-note
Implement IPVS-based in-cluster service load balancing
```
2017-08-29 22:57:03 -07:00
NickrenREN
4ca27417d9 Add pod local ephemeral storage usage e2e test cases 2017-08-30 13:54:26 +08:00
NickrenREN
9fadd3bd9a Fix pod local ephemeral storage usage 2017-08-30 13:53:54 +08:00
Philip Ingrey
697f92a5d2
Switch away from gcloud deprecated flags in compute resource listings 2017-08-30 06:41:09 +01:00
Kubernetes Submit Queue
759ba487b3 Merge pull request #51377 from Random-Liu/streaming-server-stop
Automatic merge from submit-queue

Implement stop function in streaming server.

Implement streaming server stop, so that we could properly stop streaming server.

We need this to properly stop cri-containerd.
2017-08-29 22:33:31 -07:00
Dong Liu
09f0850da3 Fix InstanceTypeByProviderID for Azure 2017-08-30 13:00:21 +08:00
Kubernetes Submit Queue
aa9417ce91 Merge pull request #49927 from huangjiuyuan/fix-kubelet-option-validation
Automatic merge from submit-queue (batch tested with PRs 49961, 50005, 50738, 51045, 49927)

adding validations on kubelet starting configurations

**What this PR does / why we need it**:
I found some validations of kubelet starting options were missing when I was creating a custom cluster from scratch. The kubelet does not check invalid configurations on `--cadvisor-port`, `--event-burst`, `--image-gc-high-threshold`, etc. I have added some validations in kubelet like validations in `cmd/kube-apiserver/app/options/validation.go`.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Adds additional validation for kubelet in `pkg/kubelet/apis/kubeletconfig/validation`.
```
2017-08-29 21:43:42 -07:00
Kubernetes Submit Queue
bb8fed88f6 Merge pull request #51045 from jcbsmpsn/rotate-kubelet-client-certificate-beta
Automatic merge from submit-queue (batch tested with PRs 49961, 50005, 50738, 51045, 49927)

Move rotating kubelet client certificate to beta.

```release-note
Release the kubelet client certificate rotation as beta.
```
2017-08-29 21:43:38 -07:00
Kubernetes Submit Queue
b4a2c09ede Merge pull request #50738 from sttts/sttts-deepcopy-calls-controllers
Automatic merge from submit-queue (batch tested with PRs 49961, 50005, 50738, 51045, 49927)

controllers: simplify deepcopy calls
2017-08-29 21:43:35 -07:00
Kubernetes Submit Queue
9d9a0428b8 Merge pull request #50005 from NickrenREN/local-storage-e2e
Automatic merge from submit-queue (batch tested with PRs 49961, 50005, 50738, 51045, 49927)

Add cluster e2es to verify scheduler local storage support

Add cluster e2es to verify scheduler local storage support and remove some unused private functions

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

**Release note**:
```release-note
Add cluster e2es to verify scheduler local ephemeral storage support
```

/assign @jingxu97 
/cc @ddysher
2017-08-29 21:43:32 -07:00
Kubernetes Submit Queue
2cf5118abb Merge pull request #49961 from mtaufen/kubectl-hash
Automatic merge from submit-queue (batch tested with PRs 49961, 50005, 50738, 51045, 49927)

Add --append-hash flag to kubectl create configmap/secret

**What this PR does / why we need it**:
Specifying this new flag will automatically hash the configmap/secret
contents with sha256 and append the first 40 hex-encoded bits of the
hash to the name of the configmap/secret. This is especially useful for
workflows that generate configmaps/secrets from files (e.g.
--from-file).

See this Google doc for more background:
https://docs.google.com/document/d/1x1fJ3pGRx20ujR-Y89HUAw8glUL8-ygaztLkkmQeCdU/edit

**Release note**:
```release-note
Adds --append-hash flag to kubectl create configmap/secret, which will append a short hash of the configmap/secret contents to the name during creation.
```
2017-08-29 21:43:29 -07:00
sakeven
0420c8f048 [Scheduler] regroup packages
Signed-off-by: sakeven <jc5930@sina.cn>
2017-08-30 11:14:44 +08:00
m1093782566
5ed2b44ca7 implement ipvs mode of kube-proxy
Conflicts:
	pkg/util/ipvs/ipvs_unsupported.go
2017-08-30 10:03:02 +08:00
m1093782566
09a853257f wrapper ipvs API as util 2017-08-30 10:01:21 +08:00
m1093782566
dcefbaefec libnetwork ipvs godeps 2017-08-30 10:01:21 +08:00
Kubernetes Submit Queue
4457e43e7b Merge pull request #47263 from nikhita/crd-01-validation-types
Automatic merge from submit-queue

apiextensions: validation for customresources

- [x] Add types for validation of CustomResources
- [x] Fix conversion-gen: #49747
- [x] Fix defaulter-gen: kubernetes/gengo#61
- [x] Convert to OpenAPI types
- [x] Validate CR using go-openapi
- [x] Validate CRD Schema
- [x] Add integration tests
- [x] Fix round trip tests: #51204 
- [x] Add custom fuzzer functions
- [x] Add custom conversion functions
- [x] Fix data race while updating CRD: #50098 
- [x] Add feature gate for CustomResourceValidation
- [x] Fix protobuf generation

Proposal: https://github.com/kubernetes/community/pull/708
Additional discussion: https://github.com/kubernetes/kubernetes/issues/49879, https://github.com/kubernetes/kubernetes/pull/50625

**Release note**:

```release-note
Add validation for CustomResources via JSON Schema.
```

/cc @sttts @deads2k
2017-08-29 18:37:10 -07:00
Derek Carr
ef9b398f4c Skip system container cgroup stats if undefined 2017-08-29 20:34:50 -04:00
saadali
4ca1dbc589 Enable switching to alpha GCE disk API 2017-08-29 17:23:25 -07:00
Tim Hockin
478ce3453e Add v1 API as a default conversion peer
Some of the APIs call do not this out, and a partial build produces
wrong results.
2017-08-29 17:19:38 -07:00
Eric Chiang
21666682eb test/e2e/auth: fix audit log test format parsing 2017-08-29 17:15:38 -07:00
Jason Dillaman
68c1eea2c6 rbd: default image format to v2 instead of deprecated v1
Image format v1 has been deprecated since the Infernalis release of
Ceph over two years ago.
2017-08-29 20:11:46 -04:00
Casey Davenport
3003ab7ad2 Improve --cluster-cidr description 2017-08-29 16:40:02 -07:00
Casey Davenport
589b8ac833 Improve description for --masquerade-all flag 2017-08-29 16:40:02 -07:00
Shyam JVS
36910232ab Merge pull request #51343 from shyamjvs/correct-cluster-ip-range
Correct default cluster-ip-range subnet
2017-08-30 01:31:50 +02:00
Cheng Xing
da2a7a0bcc Adding Flexvolume plugin dir piping for master on COS 2017-08-29 15:09:29 -07:00
Shyam Jeedigunta
2df4698473 Correct default cluster-ip-range subnet 2017-08-29 23:15:23 +02:00
Steve Kuznetsov
3c3e0f1489
Fix prefixing bug in import verifier
In order to check if an import is of an allowed tree, we need to check
that the import is either literally to the base of the tree or that the
import is below the tree (the import, suffixed with `/`, should be a
prefix) instead of checking simply that the import is a prefix of the
allowed tree, as that causes issues with packages that are prefixes of
each other, like `k8s.io/api` and `k8s.io/apimachinery`.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2017-08-29 12:17:08 -07:00
Alexander Kanevskiy
2e12787ae5 kubeadm: preflight check for enabled swap
Recent versions of kubelet require special flags if runned
on the system with enabled swap. Thus, remind user about either
disabling swap or add appropriate flag to kubelet settings
2017-08-29 21:44:07 +03:00
Feng Min
84913ae464 Add unit test for UploadConfig in Kubeadm 2017-08-29 11:22:52 -07:00
Dr. Stefan Schimanski
637fe0844c e2e/integration: simplify deepcopy calls 2017-08-29 20:11:50 +02:00
Kubernetes Submit Queue
0d17e9deb7 Merge pull request #48574 from sakshamsharma/kms-transformer
Automatic merge from submit-queue

Add Google cloud KMS service for envelope encryption transformer

This adds the required pieces which will allow addition of KMS based encryption providers (envelope transformer).

For now, we will be implementing it using Google Cloud KMS, but the code should make it easy to add support for any other such provider which can expose Decrypt and Encrypt calls.

Writing tests for Google Cloud KMS Service may cause a significant overhead to the testing framework. It has been tested locally and on GKE though.

Upcoming after this PR:
* Complete implementation of the envelope transformer, which uses LRU cache to maintain decrypted DEKs in memory.
* Track key version to assist in data re-encryption after a KEK rotation.

Development branch containing the changes described above: https://github.com/sakshamsharma/kubernetes/pull/4

Envelope transformer used by this PR was merged in #49350 

Concerns #48522 

Planned configuration:
```
kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
    - secrets
    providers:
    - kms:
        cachesize: 100
        configfile: gcp-cloudkms.conf
        name: gcp-cloudkms
    - identity: {}
```

gcp-cloudkms.conf:
```
[GoogleCloudKMS]
    kms-location: global
    kms-keyring: google-container-engine
    kms-cryptokey: example-key
```
2017-08-29 11:11:10 -07:00
Dr. Stefan Schimanski
362439db64 pkg/api: simplify deepcopy calls 2017-08-29 20:04:05 +02:00
Dr. Stefan Schimanski
42b40ddc0f admission plugins: simplify deepcopy calls 2017-08-29 20:01:08 +02:00
Dr. Stefan Schimanski
555cabacf3 scheduler: simplify deepcopy calls 2017-08-29 19:54:57 +02:00
Kubernetes Submit Queue
ce55939465 Merge pull request #51511 from huangjiuyuan/fix-func-comment
Automatic merge from submit-queue (batch tested with PRs 51298, 51510, 51511)

modifying the comment of BeforeDelete function to improve readability

**What this PR does / why we need it**:
modifying the comment of `BeforeDelete` function in `staging/src/k8s.io/apiserver/pkg/registry/rest/delete.go` to improve readability.

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

**Special notes for your reviewer**:

**Release note**:

`NONE`
2017-08-29 10:38:19 -07:00
Kubernetes Submit Queue
cbfb500836 Merge pull request #51510 from drinktee/master
Automatic merge from submit-queue (batch tested with PRs 51298, 51510, 51511)

Add some periods in cloud controller manager's options

Add some periods in cloud controller manager's options
2017-08-29 10:38:16 -07:00
Kubernetes Submit Queue
a9c80bc97b Merge pull request #51298 from yujuhong/gce-fakes
Automatic merge from submit-queue (batch tested with PRs 51298, 51510, 51511)

GCE: Add a fake forwarding rule service

Also add more methods to the address service.  These
will be used for testing soon.
2017-08-29 10:38:14 -07:00
Dr. Stefan Schimanski
1d053c4f7c controllers: simplify deepcopy calls 2017-08-29 19:21:24 +02:00
Zihong Zheng
5dc0845e36 Add upgrades tests for kube-proxy daemonset migration path 2017-08-29 10:16:37 -07:00
Zihong Zheng
f2def6575c Configure pod priority for kube-proxy when enabled 2017-08-29 10:06:51 -07:00
Zihong Zheng
09e2e251a8 Set up ENABLE_POD_PRIORITY env for GCE and common.sh 2017-08-29 09:58:20 -07:00
Jacob Simpson
a0d81d1abb Move rotating kubelet client certificate to beta. 2017-08-29 09:25:12 -07:00
Shyam Jeedigunta
2595f66466 Retry master instance creation in case of retriable error (with sleep) 2017-08-29 18:10:49 +02:00
Nikhita Raghunath
6ba1523a8e Add feature gate for CustomResourceValidation
update feature gates for generic apiserver

Add apiextensions-apiserver features to golint_failures

Ignore alpha feature if gate is disabled
2017-08-29 21:35:12 +05:30
Nikhita Raghunath
ccb8554dd8 Update godeps 2017-08-29 21:35:12 +05:30
Nikhita Raghunath
b1e16bff17 Add integration tests
Update test schema

Add polling for TestCRValidationOnCRDUpdate

Add tests for forbidden fields

Enable featureGate for CustomResourceValidation
2017-08-29 21:35:12 +05:30
Nikhita Raghunath
fd09c3dbb6 Validate CustomResource
* convert our types to openAPI types
* update strategy to include crd
* use strategy to validate customresource
* add helper funcs
* Fix conversion of empty ref field
* add validation for forbidden fields
* add defaulting for schema field
* Validate CRD Schema
2017-08-29 21:35:12 +05:30
Nikhita Raghunath
64948dfc80 Add generated code
update generated proto
2017-08-29 21:35:12 +05:30
Nikhita Raghunath
6133d84835 Add types for validation of CustomResources
Remove protobuf generation because of the interface type

Add custom fuzzer funcs

Add custom marshalling

Add custom conversion functions

move jsonschema types to separate file
2017-08-29 21:35:12 +05:30
David Eads
61de1ba986 allow disabling the scheduler port 2017-08-29 11:43:27 -04:00