Commit Graph

272 Commits

Author SHA1 Message Date
xiangpengzhao
54fb5736ed Run TryStartKubelet conditionally; replace hard-code with constants. 2017-11-17 16:57:29 +08:00
xiangpengzhao
cafb2f731f Kubeadm supports for Kubelet Dynamic Configuration. 2017-11-17 11:19:12 +08:00
Serguei Bezverkhi
39830f3642 Refactoring staticpod and waiter functions 2017-11-12 19:36:56 -05:00
xiangpengzhao
a537cc2d72 Use const instead of hard-code for kubeadm usages 2017-11-09 16:03:47 +08:00
Sandeep Rajan
f3dc622032 adding coredns as a featuregate 2017-11-07 12:32:42 -05:00
xiangpengzhao
df81ecf396 Remove MinimumCSRAutoApprovalClusterRolesVersion in 1.9 cycle. 2017-11-01 20:51:32 +08: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
Davanum Srinivas
a4574bbb04 Make sure pkg/controller/service does not depend on cmd/kubeadm/app 2017-10-13 07:06:21 -04:00
andrewsykim
c92471e524 kubeadm: prepare for v1.9 cycle 2017-10-12 13:08:42 -04:00
Kubernetes Submit Queue
9485ad2a45 Merge pull request #53204 from ellenkorbes/version-number
Automatic merge from submit-queue (batch tested with PRs 53204, 53364, 53559, 53589, 53088). 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>.

New version number for kubeadm constants.go

**What this PR does / why we need it**:
In kubeadm v1.9 the minimum kubelet & API Server version will be v1.8.0.

```release-note
NONE
```
2017-10-11 15:14:37 -07:00
Brendan Burns
6916bb24a2 Append an alpha label to the exclude load balancer annotation. 2017-10-10 21:18:33 +00:00
Brendan Burns
3cccf3b25b Fix a typo. 2017-10-09 23:23:34 +00:00
Hongchao Deng
39e5a56691 etcd: update version to 3.1.10 2017-10-02 12:27:46 -07:00
Ellen Körbes
bcfd2e5669 new version number for kubeadm constants.go 2017-09-28 09:52:13 -03:00
Kubernetes Submit Queue
6915fd5f20 Merge pull request #53146 from brendandburns/ignore
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 label which prevents a node from being added to a cloud load balancer

There are a variety of reasons that you may not want a node in a cluster to participate in a cloud load balancer. For example workload isolation for security, or managing network throughput, or because the node is not in the appropriate virtual network (cluster's that span environments)

This PR adds a label so that you can select which nodes you want to participate.
2017-09-27 21:28:52 -07:00
Brendan Burns
422f5e37b9 Add a label which prevents a node from being added to a cloud load balancer. 2017-09-27 10:13:02 -07:00
Alexander Kanevskiy
521c84aa89 Detect major version mismatches between kubeadm and kubelet.
Kubeadm supports only one minor release back, thus for 1.9
it requires minimum kubelet from 1.8.

Fixes: kubernetes/kubeadm#430
2017-09-26 12:56:03 +03:00
Serguei Bezverkhi
42bd500134 kubeadm golint clean up
Closes #375
2017-09-23 08:07:55 -04:00
Lucas Käldström
a455f995ac kubeadm: Upgrade Bootstrap Tokens to beta when upgrading to v1.8 2017-09-06 21:04:33 +03:00
Lucas Käldström
c237ff5bc0 Fully implement the kubeadm upgrade functionality 2017-09-03 12:25:47 +03:00
Lucas Käldström
775a5d477f kubeadm: Use the --enable-bootstrap-token-auth flag when possible 2017-08-26 20:53:40 +03:00
Kubernetes Submit Queue
b49a179ea4 Merge pull request #50766 from luxas/kubeadm_selfhosting_race_condition
Automatic merge from submit-queue (batch tested with PRs 46458, 50934, 50766, 50970, 47698)

kubeadm: Make the self-hosting with certificates in Secrets mode work again

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

This PR:
 - makes the self-hosting with certificates in Secrets mode work
 - makes the wait functions timeoutable
 - fixes a race condition where the kubelet may be slow to remove the Static Pod
 - cleans up some of the self-hosting logic
 - makes self-hosting-with-secrets respect the feature flag

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

fixes: https://github.com/kubernetes/kubeadm/issues/405

**Special notes for your reviewer**:

This is work in progress. I'll add unit tests, rebase upon https://github.com/kubernetes/kubernetes/pull/50762 and maybe split out some of the functionatlity here into a separate PR

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews
2017-08-21 18:11:22 -07:00
Lucas Käldström
d1acdf1627 kubeadm: Make the self-hosting with certificates in Secrets mode work again 2017-08-19 00:45:16 +03:00
Alexander Kanevskiy
2312920cbc Implemented support for using images from CI builds
Implements kubernetes/kubeadm#337
2017-08-18 17:02:18 +03:00
Lucas Käldström
d725fe2c2c kubeadm: Centralize client create-or-update logic in one package 2017-08-15 15:52:37 +03:00
Lucas Käldström
04748160a6 kubeadm: Move all node bootstrap token related code in one phase package 2017-08-10 06:45:19 +03:00
Lucas Käldström
ad7012e974 kubeadm: Upload configuration used at 'kubeadm init' time to ConfigMap for easier upgrades 2017-08-09 19:22:40 +03:00
Lucas Käldström
9a6ef9677a kubeadm: Centralize commonly used paths/constants to the constants pkg 2017-08-08 15:07:21 +03:00
Mike Danese
fe7ba9e748 kubeadm: use kubelet bootstrap instead of reimplementing 2017-07-27 09:21:24 -07:00
Lucas Käldström
0d3218faef kubeadm: Split out markmaster to its own phase 2017-07-18 11:08:43 +03:00
Lucas Käldström
66328996f2 kubeadm: Remove the old KubernetesDir envparam 2017-07-17 14:40:53 +03:00
Kubernetes Submit Queue
47f86ddb04 Merge pull request #48783 from mattmoyer/change-kubeadm-default-token-ttl
Automatic merge from submit-queue (batch tested with PRs 48572, 48838, 48931, 48783, 47090)

kubeadm: change the default bootstrap token TTL to 24 hours

**What this PR does / why we need it**:
This PR changes the TTL for the default bootstrap token generated by `kubeadm init` (without the `--token-ttl` parameter) and `kubeadm token create` (without the `--ttl` flag). Previously, the default TTL was infinite. After this change it is 24 hours.

~~The reasoning for 2 hours as a default is that it's 1) long enough that someone manually using kubeadm (copy-pasting) shouldn't have any issues and 2) short enough that if something is going to break, it should break while the user/admin is still paying attention to the cluster. I'm open to bikeshedding about the exact value, 2 hours is a bit of a strawman.~~

**Edit: updated this to 24 hours instead of 2 hours.**

This is a breaking change if you rely on infinite TTL tokens (e.g., if you had an ASG group of worker nodes). The old behavior is easily restored by passing `--token-ttl 0` to `kubeadm init` or the `--ttl 0` flag to `kubeadm token create`.

**Which issue this PR fixes**: fixes https://github.com/kubernetes/kubeadm/issues/343

**Special notes for your reviewer**:
This was discussed earlier today in SIG-cluster-lifecycle

**Release note**:
```release-note
Change the default kubeadm bootstrap token TTL from infinite to 24 hours. This is a breaking change. If you require the old behavior, use `kubeadm init --token-ttl 0` / `kubeadm token create --ttl 0`.
```

cc @jbeda
2017-07-14 10:53:51 -07:00
Matt Moyer
59f9841d50 Change the default kubeadm bootstrap token TTL to 24 hours. 2017-07-12 10:47:01 -07:00
fabriziopandini
c2e9052aea fully implement kubeadm-phase-certs - stash 2017-07-08 14:58:11 +02:00
Lucas Käldström
d14478f27a kubeadm: Make self-hosting work and split out to a phase 2017-07-06 20:54:15 +03:00
Lucas Käldström
f4fc98ae01 kubeadm: Remove old feature gates and unused functions 2017-06-30 17:46:34 +03:00
Lucas Käldström
051db16083 kubeadm: Cleanup version gates for the Node Authorizer when targeting v1.8 2017-06-24 19:21:41 +03:00
Chao Xu
f2d3220a11 run root-rewrite-import-client-go-api-types 2017-06-22 11:30:59 -07:00
Lucas Käldström
b7700ef4dd kubeadm: Enable the Node Authorizer in v1.7 and fix some small bugs related to the enablement 2017-06-07 21:07:49 +03:00
Lucas Käldström
de2ef8f0c7 kubeadm: Make kubeadm use the right CSR approver for the right version 2017-06-06 07:47:18 +03:00
Kubernetes Submit Queue
07f85565a2 Merge pull request #36721 from smarterclayton/initializers
Automatic merge from submit-queue

Add initializer support to admission and uninitialized filtering to rest storage

Initializers are the opposite of finalizers - they allow API clients to react to object creation and populate fields prior to other clients seeing them.

High level description:

1. Add `metadata.initializers` field to all objects
2. By default, filter objects with > 0 initializers from LIST and WATCH to preserve legacy client behavior (known as partially-initialized objects)
3. Add an admission controller that populates .initializer values per type, and denies mutation of initializers except by certain privilege levels (you must have the `initialize` verb on a resource)
4. Allow partially-initialized objects to be viewed via LIST and WATCH for initializer types
5. When creating objects, the object is "held" by the server until the initializers list is empty
6. Allow some creators to bypass initialization (set initializers to `[]`), or to have the result returned immediately when the object is created.

The code here should be backwards compatible for all clients because they do not see partially initialized objects unless they GET the resource directly. The watch cache makes checking for partially initialized objects cheap. Some reflectors may need to change to ask for partially-initialized objects.

```release-note
Kubernetes resources, when the `Initializers` admission controller is enabled, can be initialized (defaulting or other additive functions) by other agents in the system prior to those resources being visible to other clients.  An initialized resource is not visible to clients unless they request (for get, list, or watch) to see uninitialized resources with the `?includeUninitialized=true` query parameter.  Once the initializers have completed the resource is then visible.  Clients must have the the ability to perform the `initialize` action on a resource in order to modify it prior to initialization being completed.
```
2017-06-03 07:16:52 -07:00
Clayton Coleman
4ce3907639 Add Initializers to all admission control paths by default 2017-06-02 22:09:04 -04:00
xilabao
2061fa6717 1. Fix create volume of CertificatesDir.
2. Replace "manifests" to kubeadmconstants.ManifestsDirName
2017-06-01 09:17:10 +08:00
fabriziopandini
7166f185be path.Join to filepath.Join 2017-05-29 19:15:04 +02:00
Lucas Käldström
b451e08e9b kubeadm: Default to v1.6.0 stable in offline scenarios in beforehand 2017-03-15 21:01:03 +02:00
Lucas Käldström
61a284d720 Hook up kubeadm against the BootstrapSigner/BootstrapTokenAuthenticator 2017-03-04 11:17:52 +02:00
Lucas Käldström
579a743482 kubeadm: Add --cert-dir, --apiserver-cert-extra-sans, remove --api-external-dns-names and add the phase command for certs. Also use the CertificatesDir var everywhere instead of the HostPKIPath variable and fix some bugs in certs.go 2017-03-02 20:51:02 +02:00
Kubernetes Submit Queue
34a1540828 Merge pull request #41772 from xilabao/add-admission-control-option-to-config
Automatic merge from submit-queue

kubeadm: Make the CLI arguments for the control plane overridable
2017-02-28 04:10:25 -08:00
Lucas Käldström
796c3f9773 kubeadm: Implement the kubeadm token command fully and move it out of the experimental subsection 2017-02-27 12:56:03 +02:00
xilabao
8654217b12 Make the CLI arguments for the control plane overridable 2017-02-27 08:53:04 +08:00