Commit Graph

56353 Commits

Author SHA1 Message Date
Clayton Coleman
7555dec82e
Kubelet should exit if the current client cert has expired
The client cert manager uses the most recent cert to request new
certificates. If that certificate is expired, it will be unable to
complete new CSR requests. This commit alters the manager to force
process exit if no further client cert rotation is possible, which
is expected to trigger a restart of the kubelet and either a
re-bootstrap from the bootstrap kubeconfig or a re-read of the
current disk state (assuming that some other agent is managing the
bootstrap configuration).

This prevents the Kubelet from wedging in a state where it cannot make
API calls.
2017-10-16 14:27:03 +02:00
Clayton Coleman
c3bea24ab6
Collapse duplicate code into pkg/util/csr
There is no reason to duplicate this code into two places.
2017-10-16 14:27:03 +02:00
Clayton Coleman
de3d7d1881
If CSR is deleted, exit immediately
No point in waiting
2017-10-16 14:27:02 +02:00
Clayton Coleman
710dfb3427
Delete the private key for the bootstrap client cert on failure
Ensures that in a crash loop state we can make forward progress by
generating a new key and hence new CSR. If we do not delete the key, an
expired CSR may block startup.

Also more aggressively delete a bad cert path
2017-10-16 14:27:02 +02:00
Clayton Coleman
74a0abb699
An expired certificate is not compatible
If the certificate in the CSR is expired, it's no good to the code.
Error out with the correct message.
2017-10-16 14:27:02 +02:00
Clayton Coleman
ae6ee96b36
Verify the bootstrap client cert before using it
Before the bootstrap client is used, check a number of conditions that
ensure it can be safely loaded by the server. If any of those conditions
are invalid, re-bootstrap the node. This is primarily to force
bootstrapping without human intervention when a certificate is expired,
but also handles partial file corruption.
2017-10-16 14:26:56 +02:00
Ti Zhou
3647a891d8 Make test case description more accurate. 2017-10-16 20:05:27 +08:00
Aleksandra Malinowska
f59d66546e enable scale from 0 test in GKE 2017-10-16 13:52:10 +02:00
Shyam Jeedigunta
40c245e53e Make EVENT_PD variable useful for kubemark 2017-10-16 13:35:41 +02:00
Shyam Jeedigunta
6e610296b9 Auto-calculate master disksize and cluster IP range in kubemark 2017-10-16 13:06:04 +02:00
Mik Vyatskov
59bacba056 Always retry network connection error in webhook
Signed-off-by: Mik Vyatskov <vmik@google.com>
2017-10-16 12:26:14 +02:00
Fabian Deutsch
14c347f931
Add sample-apiserver namespace manifest 2017-10-16 11:57:10 +02:00
Kubernetes Submit Queue
1ab5075c7c Merge pull request #52637 from stewart-yu/issue#06
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>.

Modify Schedule function

**What this PR does / why we need it**:
It is obvious that no need to prioritizing when only one node after predicate.

**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**:
@davidopp @timothysc

**Release note**:

```release-note
NONE
```
2017-10-16 00:38:15 -07:00
Jordan Liggitt
8c5b01376a
PodSecurityPolicy: Order by name, prefer non-mutating policies, require *api.Pod, allow GC updates 2017-10-16 02:22:11 -04:00
Jordan Liggitt
a5f722e181
PodSecurityPolicy: avoid unnecessary securitycontext mutation 2017-10-16 02:22:10 -04:00
Jordan Liggitt
b6a750c1f6
SecurityContext: Add accessors/mutators for effective container security context 2017-10-16 02:22:10 -04:00
Jordan Liggitt
34ed25cf52
GC: Add check for nil interface 2017-10-16 02:21:11 -04:00
Jordan Liggitt
fef3b03188
PodSecurityPolicy: pass effective runAsNonRoot and runAsUser to user validation interface 2017-10-16 02:21:11 -04:00
Jordan Liggitt
e34a00d14f
PodSecurityPolicy: pass effective selinux options to validate 2017-10-16 02:21:11 -04:00
Jordan Liggitt
5dc4da7c6a
PodSecurityPolicy: limit validation to provided groups 2017-10-16 02:21:11 -04:00
Jordan Liggitt
9e34f2b968
PodSecurityPolicy: pass effective capabilities to validation interface 2017-10-16 02:21:11 -04:00
Jordan Liggitt
abc7c077e1
PodSecurityPolicy: avoid unnecessary mutation of supplemental groups 2017-10-16 02:21:10 -04:00
Jordan Liggitt
cfb490e3a1
PodSecurityPolicy: avoid unnecessary mutation of container capabilities 2017-10-16 02:21:10 -04:00
Jordan Liggitt
59510caaf3
PodSecurityPolicy: only set runAsNonRoot when runAsUser is nil 2017-10-16 02:21:10 -04:00
Jordan Liggitt
b45b809f4c
PodSecurityPolicy: Do not mutate nil privileged field to false 2017-10-16 02:21:10 -04:00
Kubernetes Submit Queue
77b83e446b Merge pull request #53839 from ixdy/update-bazel-workspace
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>.

 Update rules_go, repo-infra, and rules_docker dependencies

**What this PR does / why we need it**: several of our bazel dependencies were getting pretty old, since they required bazel 0.5.4+ but there were various failures if we tried to use them with bazel 0.5.4.

Now that bazel 0.6.0 (and 0.6.1) have been out for a while, we can bump our dependencies and get a number of fixes and new functionality.

x-ref #52677 and others

**Special notes for your reviewer**:
* This will now explicitly require bazel 0.6.0+ to build kubernetes.
* Our staging directories are causing some issues for `gazelle`; it wants to set `importpath = "k8s.io/kubernetes/staging/src/k8s.io/blah"` instead of `importpath = "k8s.io/blah"`. I'm not sure what is the correct way to fix this; what we're doing here is pretty weird and nonstandard. I've used a `sed` substitution for now.
* The `-proto=default` option of `gazelle` has a number of bugs right now (https://github.com/bazelbuild/rules_go/issues/888, https://github.com/bazelbuild/rules_go/issues/900, https://github.com/bazelbuild/rules_go/issues/907), so I am forcing the legacy behavior.

**Release note**:

```release-note
NONE
```

/assign @mikedanese @spxtr @BenTheElder
2017-10-15 21:50:13 -07:00
Kubernetes Submit Queue
9ba01e5e78 Merge pull request #50729 from allencloud/remove-redundant-error-test-case
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>.

remove redundant error test case in autoscaling validation

Signed-off-by: allencloud <allen.sun@daocloud.io>



**What this PR does / why we need it**:
I think the error test case I removed is the same as https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/autoscaling/validation/validation_test.go#L393-L412 .
So maybe removal of this part is proper, since it would reduce the codes and save a little bit time in testing.

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

**Special notes for your reviewer**:
NONE

**Release note**:

```release-note
NONE
```
2017-10-15 20:19:51 -07:00
Kubernetes Submit Queue
021e3ebf0c Merge pull request #52465 from WanLinghao/kubectl_cp_amend
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>.

improve kubectl cp command in several ways 

**Release note**:
"kubectl cp" process soft link in better ways as well as some little bugs
  
**Soft link**:
before this patch 
    "kubectl cp" command will copy the soft link to destination as an empty regular file
after this patch
    "kubectl cp" command will behave the same as tar command
this patch improves it on both from container and to container

**some bugs**
1.from container to host
     a.when copy a file ends with '/', it will cause a panic.
        for example, container gakki has a regular file /tmp/test, then run command 
         _kubectl cp gakki:/tmp/test/  /tmp_
         a panic happens
 b.when copy a file which does not exist in container, the command ends up without 
         any error information

2.from host to container
    a.when run command like
        kubectl cp ""  gakki:/tmp
        it will try cp current directory to container, in other words, this command works
        the same as kubectl cp . gakki:/tmp
  b.current cp command will omit  an empty directory
2017-10-15 19:28:21 -07:00
Jeff Grafton
aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Jeff Grafton
32551a3322 Use -proto=legacy with gazelle, and manually fix staging/ import paths 2017-10-15 18:13:56 -07:00
Jeff Grafton
638ea5205f Update rules_go, repo-infra, and rules_docker dependencies
This requires bazel 0.6.0+.
2017-10-15 18:13:56 -07:00
Kubernetes Submit Queue
02f0d92160 Merge pull request #51686 from choury/fix_dup_unbind
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 duplicate unbind action in kube-proxy

**What this PR does / why we need it**:
Fix duplicate unbind action in kube-proxy. It will generate unnecessary error info If unbind multi-ports on one service .

**Which issue this PR fixes**:
fixes #51694

**Release-note**:
```release-note
NONE
```
2017-10-15 17:38:45 -07:00
Kubernetes Submit Queue
8166743cb6 Merge pull request #53890 from FengyunPan/registry-approver
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>.

Volunteer to help with sig/openstack

I would like to do some code review/approve for OpenStack cloud
provider and cinder volume.

**Release note**:
```release-note
NONE
```
2017-10-15 16:03:27 -07:00
Davanum Srinivas
d2e6480bb1 Duplicate a constant - LabelNodeRoleMaster
Per request from @luxas in 53458, to avoid cmd/kubeadm to
depend on pkg/controller/service. Added a comment to make
this clear.
2017-10-15 09:50:37 -04:00
Kubernetes Submit Queue
4ad4e1ec40 Merge pull request #53938 from drinktee/cloudtest
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 unit test for cloud-controller-manager

**What this PR does / why we need it**:
Add more unit test for coud-controller-manager

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

**Special notes for your reviewer**:
NONE

```release-note
NONE
```
2017-10-14 22:46:55 -07:00
drinktee
c630a41017 add unit test for cloud-controller-manager 2017-10-15 10:29:46 +08:00
Kubernetes Submit Queue
0a72a8d1c6 Merge pull request #52995 from huzhengchuan/fix/incorrect_links_kubeadm
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 broken links in kubeadm after moving proposals to subdirs

**What this PR does / why we need it**:
fix incorrect links in kubeadm after kubernetes/community#1010

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

**Special notes for your reviewer**:
CC @bgrant0607
**Release note**:

```
NONE
```
2017-10-14 11:45:22 -07:00
Kubernetes Submit Queue
7bc91329bc Merge pull request #53917 from kad/kubeadm-issue-447
Automatic merge from submit-queue (batch tested with PRs 53763, 53917). 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 the old Kubelet TLS Bootstrapping mode

**What this PR does / why we need it**:
As part of 1.9 clean up, remove old TLS Bootstrapping mode.

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

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2017-10-14 09:49:32 -07:00
Kubernetes Submit Queue
88bcc41e3c Merge pull request #53763 from huzhengchuan/bug/broker_url_kubeadm
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 broken url

**What this PR does / why we need it**:
I install kubernetes with kubeadm. after kubeadm init, need to install podnetwork with addons. but the output of 'kubeadm init' is to broken url. fix it is available.
 
**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-10-14 09:14:32 -07:00
Kubernetes Submit Queue
867cc8ec19 Merge pull request #53175 from andrewsykim/kubeadm/434
Automatic merge from submit-queue (batch tested with PRs 53783, 53175). 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: add Priority to admission control

**What this PR does / why we need it**:
Adds Priority admission control to kubeadm for all kubernetes versions > v1.9 alpha.

Related: https://github.com/kubernetes/kubernetes/pull/49322

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

**Special notes for your reviewer**:

**Release note**:
```release-note
Enable Priority admission control in kubeadm. 
```

cc @luxas
2017-10-14 07:43:35 -07:00
Kubernetes Submit Queue
16dbab9778 Merge pull request #53783 from tizhou86/schedulerUnitTest
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>.

Added more unit tests for kube-scheduler.

**What this PR does / why we need it**:
Added more unit tests for kube-scheduler.

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

**Special notes for your reviewer**:
NONE

**Release note**:

```release-note
NONE
```
2017-10-14 07:29:25 -07:00
Di Xu
94b70b79da Update debs/rpm packages to use v0.6.0 2017-10-14 22:27:26 +08:00
Di Xu
dba448c2a6 Update all binary download references to v0.6.0 2017-10-14 22:24:49 +08:00
Kubernetes Submit Queue
58835cd590 Merge pull request #53897 from liggitt/cluster-info
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>.

Improve generated proxy URLs for cluster-info

Fixes #53927

improves the output of `kubectl cluster-info` to print more qualified URLs, including changing the proxied scheme to `https` if the service port name is `https` or port number is 443

```release-note
NONE
```
2017-10-14 04:46:32 -07:00
stewart-yu
5937184db7 When only one node after predicate, just return it 2017-10-14 15:47:47 +08:00
Kubernetes Submit Queue
0ba7c52b8c Merge pull request #53458 from dims/fix-pkg-cmd-dependencies
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 pkg/ depends on cmd/ problems

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

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

Partial fix for https://github.com/kubernetes/kubernetes/issues/53341

**Special notes for your reviewer**:
No logic changes, Just moving things around

**Release note**:

```release-note
NONE
```
2017-10-13 23:56:55 -07:00
Steve Coffman
e6540d422b kube-dns-anti-affinity: Adjust to match different scheme 2017-10-13 22:51:29 -04:00
Kubernetes Submit Queue
3deab69d3b Merge pull request #53790 from yanxuean/cgroupredundancy
Automatic merge from submit-queue (batch tested with PRs 52959, 53790). 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 redundancy code in setCPUCgroupConfig

fix #53925

Signed-off-by: yanxuean <yan.xuean@zte.com.cn>



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

The check of burstableCPUShares is redundancy. We have done it in MilliCPUToShares. It is responsibility of MilliCPUToShares.
```
func (m *qosContainerManagerImpl) setCPUCgroupConfig(configs map[v1.PodQOSClass]*CgroupConfig) error {
        ........
	// set burstable shares based on current observe state
	burstableCPUShares := MilliCPUToShares(burstablePodCPURequest)
	if burstableCPUShares < uint64(MinShares) {
		burstableCPUShares = uint64(MinShares)
	}
```
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Improveing code.

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-10-13 19:19:32 -07:00
Kubernetes Submit Queue
2e6ccc3f98 Merge pull request #52959 from mattjmcnaughton/mattjmcnaughton/dynamically-determine-default-docker-machine-memory
Automatic merge from submit-queue (batch tested with PRs 52959, 53790). 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>.

Dynamically determine default docker machine memory

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

Currently, if using `docker-machine` for k8s docker operations on a Mac,
we'll create a VM with 4096MB of memory. The machine's RAM will be the
same regardless of the memory available on the local machine. For
example, if the user has 16GB on their local machine, the VM will still
only have 4GB of RAM.

Update the method for defining the `kube-dev` VM with `docker-machine`,
so we give it access to 50% of the total RAM.

**Release note**:
```release-note
NONE
```
2017-10-13 19:19:29 -07:00
Kubernetes Submit Queue
018c08326e Merge pull request #53848 from mikedanese/mounter-fix
Automatic merge from submit-queue (batch tested with PRs 52883, 52183, 53915, 53848). 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 flex installer directory create
2017-10-13 17:33:35 -07:00