Commit Graph

852 Commits (4714cddc222cef5213c135a52c0f53368bd689cf)

Author SHA1 Message Date
Ghe Rivero 2e2a81578b Add node-name flag to `join` phase
Allow to specify a node-name instead of relaying in `os.Hostname()`
This is useful where kubelet use the name given by the cloud-provider to
register the node.

Partially fix: kubernetes/kubeadm#64
2017-07-06 13:58:14 +02:00
Alexander Kanevskiy d8fcf4fcd7 Allows to use versions like 1.6.4 instead v1.6.4
As part of issue kubernetes/kubeadm#292 discussion, it
turned out that for users it is not always obvious that
version specification parameter must be in form "vX.Y.Z".
This patch allows to specify it in form "X.Y.Z" and
converts it internally to normal semantic version which
expected in the rest of the code.
2017-07-06 14:15:26 +03:00
Kubernetes Submit Queue 9385d50100 Merge pull request #47345 from luxas/kubeadm_move_controlplane_phase
Automatic merge from submit-queue (batch tested with PRs 46928, 47345)

kubeadm: Move directory ./master to ./phases/controlplane

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

 - Moves app/master into phases/controlplane. It should be in the phases directory, was just overlooked earlier
 - Harmonizes the import names in phases/controlplane with the similar import names in cmd/kubeadm

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

Please review only second and third commit, based on https://github.com/kubernetes/kubernetes/pull/47339

Targets v1.8

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @timothysc @pipejakob
2017-07-04 04:37:31 -07:00
Lucas Käldström 4bab0e9b54
kubeadm: Harmonize import names in the controlplane phase with all the other code 2017-07-04 12:31:46 +03:00
Lucas Käldström 8046bafca5
kubeadm: Move app/master into a separate phase directory 2017-07-04 12:30:42 +03:00
Kubernetes Submit Queue f38adf37de Merge pull request #47429 from timothysc/kubeadm
Automatic merge from submit-queue

Add timothysc to kubeadm reviewers

**What this PR does / why we need it**:
Adds timothysc to kubeadm reviewers b/c I'm working on it this cycle. 

**Release note**:
```
NONE
```
2017-07-03 07:38:03 -07:00
Kubernetes Submit Queue 5eccc7ae80 Merge pull request #48056 from luxas/kubeadm_remove_old_label
Automatic merge from submit-queue

Remove old node role label that is not used by kubeadm

**What this PR does / why we need it**:
This label hasn't been used by kubeadm since v1.5.
v1.5 support was dropped when v1.6 arrived due to a potential security flaw and the earlier alpha status.
So this label hasn't been used for around three months.
It makes sense to remove it in time for v1.8, could already have been done for v1.7

**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
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-30 22:06:23 -07:00
Kubernetes Submit Queue e633d3e29c Merge pull request #43558 from xilabao/fix-kubeadm-args
Automatic merge from submit-queue

kubeadm: If `--config` is set, don't allow any other option as it won't have effect

If use config in kubeadm init, cann't get other values from other arguments. 
`kubeadm init --config=../kubeadm.config --token 447ad3.96cda76e3206fca0 --apiserver-bind-port 6445`

So I think we need to allow get values from command and is prior than cofig file.
2017-06-30 16:14:51 -07:00
Kubernetes Submit Queue 2b190bd2f1 Merge pull request #47339 from luxas/kubeadm_v18_cleanup_misc
Automatic merge from submit-queue (batch tested with PRs 48295, 48298, 47339, 44910, 48037)

kubeadm: Remove v1.6 version gates, cleanup unused code, etc.

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

 - Removes v1.6 version gates and requires a control plane version of v1.7.0 and above
 - Removes unused/unnecessary functions that got freed up as a consequence of that


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

Fixes: kubernetes/kubeadm#327

**Special notes for your reviewer**:

This PR targets v1.8, can be merged first when the code freeze is lifted

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @timothysc @mikedanese @pipejakob
2017-06-30 14:34:28 -07: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 0cbabdd9f7
kubeadm: Remove some old comments 2017-06-30 17:22:08 +03:00
Kubernetes Submit Queue 38fa62052d Merge pull request #47346 from luxas/kubeadm_fix_tolerations
Automatic merge from submit-queue

kubeadm: Start using Tolerations in yaml code again and unit-test

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

- Earlier there was a problem with decoding Tolerations from yaml. Seems to be fixed now.
- Added an unit test to catch such a failure if that regression ever happens again

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

Targets v1.8

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @timothysc
2017-06-28 07:01:57 -07:00
Lucas Käldström 7baff10bfc
kubeadm: Start using Tolerations in yaml code again 2017-06-28 15:06:39 +03:00
Kubernetes Submit Queue 6089557887 Merge pull request #48050 from luxas/fix_rbac_configmaps
Automatic merge from submit-queue

kubeadm: Expose only the cluster-info ConfigMap in the kube-public ns

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

Noticed a bug; we should only expose the `cluster-info` ConfigMap.

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

**Special notes for your reviewer**:

Cherrypick-candidate for v1.8 cc @dchen1107 
Not blocking the release though...

**Release note**:

```release-note
NONE
```
@jbeda @pipejakob @timothysc @kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-28 03:29:27 -07:00
Kubernetes Submit Queue 49c151e433 Merge pull request #48049 from luxas/kubeadm_rolling_proxy
Automatic merge from submit-queue

kubeadm: Make kube-proxy RollingUpgradeable

**What this PR does / why we need it**:
Sets the right updateStrategy for kube-proxy.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
@pipejakob @timothysc @kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-27 04:29:39 -07:00
Lucas Käldström e25a5b1546
Remove old node role label that is not used by kubeadm 2017-06-26 14:46:15 +03:00
Lucas Käldström 037c9e8965
kubeadm: Expose only the cluster-info ConfigMap in the kube-public ns 2017-06-26 12:56:06 +03:00
Lucas Käldström 49d7d5d0d8
kubeadm: Make kube-proxy RollingUpgradeable 2017-06-26 12:33:54 +03:00
Bowei Du 85025ef7dc Update kube-dns to 1.14.4
- Fixes broken arm dnsmasq image
- Fixes kube-dns log spam issue
2017-06-25 23:53:37 -07:00
Kubernetes Submit Queue f9bf1f3b06 Merge pull request #47348 from luxas/kubeadm_remove_validate_phase
Automatic merge from submit-queue

kubeadm: Remove the validate phase as it's not needed

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

This validation code was added in v1.4 as a way to remove flakiness between deploying the control plane in Static Pods and deploying kube-discovery as a Deployment.

That isn't the case anymore and we're not experiencing such flakiness, as we're using other methods like checking `/healthz` to determine a healthy control plane before proceeding.

https://github.com/kubernetes/kubernetes/pull/43881 removed this logic from `kubeadm init` to having it as a phase. But that phase isn't needed or used in any way, so now I'm removing it here.

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

Targets v1.8

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @timothysc @mikedanese
2017-06-24 12:15:48 -07: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
Lucas Käldström 4380d1fbdd
kubeadm: Remove the validate phase as it's not needed nor used 2017-06-24 19:10:26 +03:00
Daneyon Hansen 36c9e1f42e Adds IPv6 test cases 2017-06-23 16:43:16 -07:00
Kubernetes Submit Queue 0fe8006455 Merge pull request #47803 from gtirloni/kubeadm-phase-preflight
Automatic merge from submit-queue (batch tested with PRs 47694, 47772, 47783, 47803, 47673)

Add "alpha phase preflight" command

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

Adds "alpha phase preflight" command to kubeadm in order to run pre-flight checks independently of init phase.

**Which issue this PR fixes:** fixes kubernetes/kubeadm#314

/cc @luxas
2017-06-23 08:29:30 -07:00
Chao Xu 60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu f2d3220a11 run root-rewrite-import-client-go-api-types 2017-06-22 11:30:59 -07:00
Jeff Grafton 405f38c43f Update kube-dns images to 1.14.3 2017-06-21 15:13:48 -07:00
Kubernetes Submit Queue 9139666704 Merge pull request #47440 from luxas/kubeadm_stable_v17_version
Automatic merge from submit-queue

kubeadm: Use the v1.7 branch by default

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

Makes kubeadm use the v1.7 branch instead of v1.6

**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**:
This should be merged right before the rc.0 is cut I guess

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-21 00:27:47 -07:00
Giovanni Tirloni 37c14cdcb6 Add "alpha phase preflight" command
Ref kubernetes/kubeadm#314
2017-06-20 16:14:06 -03:00
xilabao e7f6376b1a add extra args validate 2017-06-20 10:11:43 +08:00
Kubernetes Submit Queue 1e76d9e1d5 Merge pull request #47356 from dashpole/master_critical_pods
Automatic merge from submit-queue (batch tested with PRs 47669, 40284, 47356, 47458, 47701)

Mark Static pods on the Master as critical

fixes #47277.

A known issue with static pods is that they do not interact well with evictions.  If a static pod is evicted or oom killed, then it will never be recreated.  To mitigate this, we do not evict static pods that are critical.  In addition, non-critical pods are candidates for preemption if a critical pod is scheduled to the node.  If there are not enough allocatable resources on the node, this causes the static pod to be preempted.

This PR marks all static pods in the kube-system namspace as critical.

cc @vishh @dchen1107
2017-06-19 15:25:01 -07:00
Kubernetes Submit Queue 7ad835d74b Merge pull request #47598 from luxas/kubeadm_fix_proxy
Automatic merge from submit-queue (batch tested with PRs 47451, 47410, 47598, 47616, 47473)

kubeadm: Fix kube-proxy regression caused by #46372

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

Fixes: https://github.com/kubernetes/kubeadm/issues/306

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

Required for kubeadm v1.7 to work

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @cmluciano
2017-06-15 19:52:09 -07:00
Kubernetes Submit Queue e3e8b3f855 Merge pull request #47438 from luxas/kubeadm_fix_v18alpha0_version
Automatic merge from submit-queue (batch tested with PRs 47523, 47438, 47550, 47450, 47612)

kubeadm: Fix subtle versioning ordering issue with v1.8.0-alpha.0

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

`--kubernetes-version latest` is broken since it evals to `v1.8.0-alpha.0` which actually is `v1.7.0-beta.0`, so kubeadm enables features that don't exist

**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
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-15 18:54:01 -07:00
Lucas Käldström 8628856c86
kubeadm: Fix kube-proxy regression caused by #46372 2017-06-15 19:04:51 +03:00
Lucas Käldström 473bb9c1c9
kubeadm: Fix subtle versioning ordering issue 2017-06-14 22:35:50 +03:00
Christopher M. Luciano 289c37ae21
Enable iptables -w in kubeadm selfhosted
Currently containerized kube-proxy cannot support iptables -w
unless the xtables.lock is mounted.

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2017-06-13 11:54:40 -04:00
Timothy St. Clair da1bea3427 Add timothysc to kubeadm reviewers 2017-06-13 09:07:39 -05:00
Lucas Käldström 8de41f43e5
kubeadm: Use the v1.7 branch by default 2017-06-13 16:18:33 +03:00
Lucas Käldström 97ea818cc8
kubeadm: Fix subtle versioning ordering issue with v1.8.0-alpha.0 2017-06-13 16:17:13 +03:00
David Ashpole e223eb93b5 make all static system pods critical 2017-06-12 15:22:04 -07:00
Jeff Grafton 64bd79fad7 Convert go_binary linkstamp to x_defs 2017-06-08 14:59:55 -07:00
Kubernetes Submit Queue 2bcd3d1a01 Merge pull request #46879 from luxas/kubeadm_enable_node_authorizer
Automatic merge from submit-queue

kubeadm: Enable the Node Authorizer/Admission plugin in v1.7

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

This is similar to https://github.com/kubernetes/kubernetes/pull/46796, but for kubeadm.
Basically it was a part of https://github.com/kubernetes/kubernetes/pull/46796, but there were some other upgradability and compability concerns for kubeadm I took care of while working today.

Example:

```console
$ kubeadm init --kubernetes-version v1.7.0-beta.0
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.7.0-beta.0
[init] Using Authorization mode: [RBAC Node]
...
$ sudo kubectl --kubeconfig=/etc/kubernetes/kubelet.conf get secret foo
Error from server (Forbidden): User "system:node:thegopher" cannot get secrets in the namespace "default".: "no path found to object" (get secrets foo)

$ echo '{"apiVersion":"v1","kind":"Node","metadata":{"name":"foo"}}' | sudo kubectl create -f - --kubeconfig=/etc/kubernetes/kubelet.conf
Error from server (Forbidden): error when creating "STDIN": nodes "foo" is forbidden: node thegopher cannot modify node foo
```

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

Depends on https://github.com/kubernetes/kubernetes/pull/46864 (uses that PR as a base, will rebase once it's merged)

Please only review the second commit. Will also fix tests in a minute.

**Release note**:

```release-note
kubeadm: Enable the Node Authorizer/Admission plugin in v1.7 
```
@mikedanese @liggitt @pipejakob @roberthbailey @jbeda @timothysc
2017-06-08 05:26:58 -07:00
Kubernetes Submit Queue 7e0c9e7919 Merge pull request #47081 from luxas/kubeadm_postinst_idempotency
Automatic merge from submit-queue (batch tested with PRs 47024, 47050, 47086, 47081, 47013)

kubeadm: Make the creation of the RBAC rules phase idempotent

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

Bugfix: Currently kubeadm fails with a non-zero code if resources it's trying to create already exist. This PR fixes that by making kubeadm try to Update resources that already exist.

After this PR, https://github.com/kubernetes/kubernetes/pull/46879 and a beta.1 release, kubeadm will be fully upgradeable from v1.6 to v1.7 using only kubeadm init.

Last piece of https://github.com/kubernetes/kubeadm/issues/288

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

**Special notes for your reviewer**:

**Release note**:

```release-note
kubeadm: Modifications to cluster-internal resources installed by kubeadm will be overwritten when upgrading from v1.6 to v1.7.
```
@pipejakob @mikedanese @timothysc
2017-06-07 16:53:45 -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 1b93a6a10e
kubeadm: Make the creation of the RBAC rules phase idempotent 2017-06-07 17:39:26 +03:00
Kubernetes Submit Queue f33a5f8bff Merge pull request #44125 from amacneil/kubeadm-instructions
Automatic merge from submit-queue

kubeadm: improve quickstart instructions

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

Improves instructional output following setup of a kubernetes master with kubeadm.

This helps prevent unnecessary support overhead such as: https://github.com/kubernetes/kubeadm/issues/212#issuecomment-292015402

**Example current output**:

```
To start using your cluster, you need to run (as a regular user):

  sudo cp /etc/kubernetes/admin.conf $HOME/
  sudo chown $(id -u):$(id -g) $HOME/admin.conf
  export KUBECONFIG=$HOME/admin.conf
```

**Example new output**:

```
To start using your cluster, you need to run (as a regular user):

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
```

**Release note**:

```release-note
NONE
```
2017-06-06 15:01:23 -07:00
Kubernetes Submit Queue 6ed4bc7b97 Merge pull request #46828 from cblecker/links-update
Automatic merge from submit-queue (batch tested with PRs 46718, 46828, 46988)

Update docs/ links to point to main site

**What this PR does / why we need it**:
This updates various links to either point to kubernetes.io or to the kubernetes/community repo instead of the legacy docs/ tree in k/k
Pre-requisite for #46813

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

@kubernetes/sig-docs-maintainers @chenopis @ahmetb @thockin
2017-06-06 11:43:18 -07:00
Adrian Macneil 4a2cd62080 kubeadm: improve quickstart instructions 2017-06-06 07:56:32 -07:00
Kubernetes Submit Queue c35b44bc94 Merge pull request #46875 from pipejakob/idem-rbac
Automatic merge from submit-queue (batch tested with PRs 46897, 46899, 46864, 46854, 46875)

kubeadm: Idempotent service account creation.

**What this PR does / why we need it**:
During `kubeadm init`, ignore errors for duplicates when creating service accounts.

https://github.com/kubernetes/kubeadm/issues/278

Fixes: https://github.com/kubernetes/kubeadm/issues/288

**Release note**:

```release-note
NONE
```
2017-06-06 05:22:49 -07:00
Kubernetes Submit Queue f04a774297 Merge pull request #46864 from luxas/kubeadm_fix_v16_csrs
Automatic merge from submit-queue (batch tested with PRs 46897, 46899, 46864, 46854, 46875)

kubeadm: Make kubeadm use the right CSR approver for the right version

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

fixes regression caused in: https://github.com/kubernetes/kubernetes/pull/45619

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

**Special notes for your reviewer**:

cc @pipejakob our e2e CI should probably go green after this change

**Release note**:

```release-note
NONE
```
@mikedanese @pipejakob @timothysc @liggitt
2017-06-06 05:22:45 -07:00
Kubernetes Submit Queue f091722c38 Merge pull request #46819 from pipejakob/idem-config
Automatic merge from submit-queue (batch tested with PRs 46787, 46876, 46621, 46907, 46819)

kubeadm: Only create bootstrap configmap if not exists.

**What this PR does / why we need it**:
The fact that this method was not idempotent was breaking kubeadm upgrades.

https://github.com/kubernetes/kubeadm/issues/278

**Release note**:

```release-note
NONE
```
2017-06-06 02:22:00 -07:00
Jacob Beacham 7ffd870c1e kubeadm: Idempotent service account creation.
Ignore errors for duplicates when creating service accounts.

https://github.com/kubernetes/kubeadm/issues/278
2017-06-06 01:43:55 -07:00
Christoph Blecker 1bdc7a29ae
Update docs/ URLs to point to proper locations 2017-06-05 22:13:54 -07: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
Jacob Beacham 20c45d08fb kubeadm: don't duplicate master taint if it already exists.
This helps enable a graceful upgrade/downgrade process between 1.6.x and
1.7.x kubeadm clusters (although no guarantees outside of that range) by
doing:

  $ kubeadm init --kubernetes-version <version> --skip-preflight-checks

Without this change, the command fails with an error that the node taint
is duplicated.

This is part of https://github.com/kubernetes/kubeadm/issues/278
2017-06-05 14:47:50 -07: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
Kubernetes Submit Queue efa8c5eb45 Merge pull request #45008 from xilabao/fix-cert-dir
Automatic merge from submit-queue

fix cert dir in kubeadm

1.fixes https://github.com/kubernetes/kubeadm/issues/232
2. use manifests as a constant
2017-06-03 03:48:26 -07:00
Kubernetes Submit Queue 348bf1e032 Merge pull request #46627 from deads2k/api-12-labels
Automatic merge from submit-queue (batch tested with PRs 46239, 46627, 46346, 46388, 46524)

move labels to components which own the APIs

During the apimachinery split in 1.6, we accidentally moved several label APIs into apimachinery.  They don't belong there, since the individual APIs are not general machinery concerns, but instead are the concern of particular components: most commonly the kubelet.  This pull moves the labels into their owning components and out of API machinery.

@kubernetes/sig-api-machinery-misc @kubernetes/api-reviewers @kubernetes/api-approvers 
@derekwaynecarr  since most of these are related to the kubelet
2017-06-02 23:37:38 -07:00
Clayton Coleman 4ce3907639
Add Initializers to all admission control paths by default 2017-06-02 22:09:04 -04:00
Jacob Beacham cbc14a7df4 kubeadm: Only create bootstrap configmap if exists.
The fact that this method was not idempotent was breaking kubeadm
upgrades.
2017-06-01 19:08:03 -07:00
Kubernetes Submit Queue 05e2e1fd86 Merge pull request #45708 from jianglingxia/jlx51215
Automatic merge from submit-queue (batch tested with PRs 46686, 45049, 46323, 45708, 46487)

add some full stop and change some format
2017-06-01 03:42:10 -07:00
xilabao 2061fa6717 1. Fix create volume of CertificatesDir.
2. Replace "manifests" to kubeadmconstants.ManifestsDirName
2017-06-01 09:17:10 +08:00
deads2k 954eb3ceb9 move labels to components which own the APIs 2017-05-31 10:32:06 -04:00
xilabao ea196490a0 add validate to not allow mix --config with other arguments 2017-05-31 13:41:21 +08:00
jianglingxia 85d22f0a83 add some full stop and change some format
Signed-off-by: jianglingxia <jiang.lingxia@zte.com.cn>
2017-05-31 09:43:08 +08:00
Mike Danese fb4c020c82 make kubeadm use new sar approver 2017-05-30 11:43:03 -07:00
Kubernetes Submit Queue e59fd18c16 Merge pull request #46428 from lixiaobing10051267/masterManifest
Automatic merge from submit-queue (batch tested with PRs 45327, 46217, 46377, 46428, 46588)

ommitting close file while testing manifest

ommitting close file while testing manifest.
2017-05-30 01:56:05 -07:00
Kubernetes Submit Queue 82765ba3cf Merge pull request #46600 from fabriziopandini/kubeadm108
Automatic merge from submit-queue

Kubeadm - Make code OS-agnostic

**What this PR does / why we need it**:
Kubernetes just got Windows Containers alpha support, opening the opportunity for kubeadm to also be used to setup, at least, Windows Server 2016 or newer worker nodes. With that in mind, we should take the effort of writing OS-agnostic code whenever possible, e.g. when dealing with the filesystem.

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

**Special notes for your reviewer**:

**Release note**:
2017-05-29 23:41:49 -07:00
Kubernetes Submit Queue 34cd38e3ed Merge pull request #45699 from jianglingxia/jlx51210
Automatic merge from submit-queue (batch tested with PRs 45699, 46200, 46335, 46599)

modify the initialization statement

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-05-29 11:13:59 -07:00
fabriziopandini 7166f185be path.Join to filepath.Join 2017-05-29 19:15:04 +02:00
lixiaobing1 b17e0a2876 ommitting close file while testing manifest 2017-05-25 17:08:58 +08:00
jianglingxia 2d9b71d122 modify the initialization statement 2017-05-12 10:55:14 +08:00
Bowei Du 1c223c8e1b Update kube-dns version to 1.14.2
Changes:

- Support kube-master-url flag without kubeconfig
- Fix concurrent R/Ws in dns.go
- Fix confusing logging when initialize server
- Fix printf in cmd/kube-dns/app/server.go
- Fix version on startup and --version flag
- Support specifying port number for nameserver in stubDomains
2017-05-11 12:29:00 -07:00
xilabao 7f5e8fdedd update token ttl description 2017-05-11 15:23:57 +08:00
Kubernetes Submit Queue 78e08cf72d Merge pull request #45369 from dmmcquay/kubeadm_remove_etcd3_default
Automatic merge from submit-queue (batch tested with PRs 45364, 45369, 45323)

kubeadm: edit apiserver flags for storage-backend

**What this PR does / why we need it**: Since storage-backend defaults to etcd3 in 1.6 (see https://github.com/kubernetes/kubernetes/pull/36229), no need to have a flag defining the default.

**Special notes for your reviewer**: /cc @luxas 

**Release note**:
```release-note
NONE
```
2017-05-04 16:47:36 -07:00
Lucas Käldström 6065824958
kubeadm: Fix the tainting of the master node 2017-05-04 22:34:44 +03:00
Derek McQuay 2c05234674
kubeadm: edit apiserver flags for storage-backend
Since storage-backend defaults to etcd3 in 1.6, no need to have a flag
defining the default.
2017-05-04 11:06:23 -07:00
Derek McQuay 6b2df1cf01
kubeadm: move preflight kubelet check 2017-05-02 08:26:42 -07:00
Kubernetes Submit Queue 228219b0ce Merge pull request #44628 from dmmcquay/kubeadm_join_tests
Automatic merge from submit-queue (batch tested with PRs 42432, 44628, 45101, 44921)

kubeadm: join test cmds for new flags

**What this PR does / why we need it**: Adding test-cmds for new kubeadm join flags. 

Adding tests is a WIP from #34136

This is a continuation from https://github.com/kubernetes/kubernetes/pull/42812 since it had to be closed.

**Special notes for your reviewer**: /cc @luxas 

**Release note**:
```release-note
NONE
```
2017-04-28 08:41:36 -07:00
Kubernetes Submit Queue b2d714a7ca Merge pull request #44888 from caesarxuchao/clean-deepcopy-init
Automatic merge from submit-queue

Prepare for move zz_generated_deepcopy.go to k8s.io/api

This is in preparation to move deep copies to with the types to the types repo (see https://github.com/kubernetes/gengo/pull/47#issuecomment-296855818). The init() function is referring the `SchemeBuilder` defined in the register.go in the same packge, so we need to revert the dependency.

This PR depends on https://github.com/kubernetes/gengo/pull/49, otherwise verification will fail.
2017-04-27 18:48:28 -07:00
Kubernetes Submit Queue 8efb5c9957 Merge pull request #44983 from caesarxuchao/easy-remove-client-go-api-scheme
Automatic merge from submit-queue (batch tested with PRs 45052, 44983, 41254)

Non-controversial part of #44523

For easier review of #44523, i extracted the non-controversial part out to this PR.
2017-04-27 17:14:04 -07:00
Chao Xu d0b94538b9 make it possible to move SchemeBuilder with zz_generated.deepcopy.go 2017-04-27 16:57:29 -07:00
Kubernetes Submit Queue 14a557b1a2 Merge pull request #44346 from mikedanese/build-static
Automatic merge from submit-queue (batch tested with PRs 41106, 44346, 44929, 44979, 45027)

bazel: statically link dockerized components
2017-04-27 12:11:00 -07:00
Chao Xu 958903509c bazel 2017-04-27 09:41:53 -07:00
Chao Xu 3fa7b7824a easy changes 2017-04-27 09:41:53 -07:00
Kubernetes Submit Queue 508041e9d8 Merge pull request #44731 from dmmcquay/kubeadm_manifest_cfg_usage
Automatic merge from submit-queue

kubeadm: remove func arg that isn't being used

**What this PR does / why we need it**: Functions had args passed to them that weren't being used. See https://github.com/kubernetes/kubernetes/pull/44601 for more details. 

**Special notes for your reviewer**: @luxas

**Release note**:
```release-note
NONE
```
2017-04-26 04:05:44 -07:00
Kubernetes Submit Queue eb0bc857bd Merge pull request #43850 from xilabao/add-output-to-kubeadm-version
Automatic merge from submit-queue

add --output flag to `kubeadm version`

ref to kubectl https://github.com/kubernetes/kubernetes/pull/39858
2017-04-26 03:16:51 -07:00
xilabao 3719840e0d add output flag to kubeadm version 2017-04-26 16:45:55 +08:00
Kubernetes Submit Queue 708d30a8d1 Merge pull request #44444 from fabriziopandini/kubeadm-certs-1
Automatic merge from submit-queue

Add --apiserver-advertise-address option to kubeadm alpha phase certs…

**What this PR does / why we need it**:
`kubeadm alpha phase certs` command currently does not support `--apiserver-advertise-address` options, and certificates by default are linked to the bind address of the machine where the kubeadm command is run. This behaviour is not adequate f.i. for use cases where you are using `kubeadm alpha phase certs` for an HA deployments or for use cases where you generate certificates on a machine different that the master.

The PR adds support for `--apiserver-advertise-address` to `kubeadm alpha phase certs`, with the following behaviour:
- if `--apiserver-advertise-address` is specified and valid, certificates are linked to the given IP
- if `--apiserver-advertise-address` is specified but not valid, the given ip is not valid an error is given

**Special notes for your reviewer**:
Implementation follow the track already in place for other flags (with validation, but no tests).
2017-04-25 16:11:50 -07:00
Kubernetes Submit Queue fb72285a78 Merge pull request #44753 from xilabao/fix-config-path-broken
Automatic merge from submit-queue (batch tested with PRs 44583, 44139, 44753)

fix config path broken in kubeadm

fixes https://github.com/kubernetes/kubeadm/issues/234
2017-04-25 13:52:39 -07:00
Kubernetes Submit Queue 896d2afb42 Merge pull request #44588 from dmmcquay/kubeadm_skip_token_print
Automatic merge from submit-queue (batch tested with PRs 44601, 44842, 44893, 44491, 44588)

kubeadm: add flag to skip token print out

**What this PR does / why we need it**: When kubeadm init is used in an automated context, it still prints the token to standard out. When standard output ends up in a log file, it can be considered that the token is leaked there and can be compromised. This PR adds a flag you can select to not have it print out and explicitly disable this behavior.

This is a continuation from https://github.com/kubernetes/kubernetes/pull/42823 since it had to be closed.

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

**Special notes for your reviewer**: /cc @luxas @errordeveloper 

**Release note**:
```release-note
NONE
```
2017-04-25 12:51:41 -07:00
Kubernetes Submit Queue 40db1d1986 Merge pull request #44601 from xilabao/fix-certdir-in-kubeadm
Automatic merge from submit-queue

fix kubeadm init when certdir changed

If --cert-dir specified, `kubeadm init`  failed.
2017-04-25 11:58:12 -07:00
Kubernetes Submit Queue 072c127b47 Merge pull request #44627 from dmmcquay/kubeadm_add_validation_error_code
Automatic merge from submit-queue

kubeadm: add api validation exit code

**What this PR does / why we need it**: This will help with automation and provide more meaningful exit code for api validation. 

WIP to add more meaningful exit codes https://github.com/kubernetes/kubeadm/issues/61

This is a continuation from https://github.com/kubernetes/kubernetes/pull/42825 since it had to be closed.

**Special notes for your reviewer**: /cc @luxas 

**Release note**:
```release-note
NONE
```
2017-04-21 15:39:56 -07:00
xilabao 4ec40e3789 fix config path broken in kubeadm 2017-04-21 14:18:43 +08:00
derek mcquay d047dfbc6f kubeadm: add flag to skip token print out 2017-04-20 13:12:37 -07:00
derek mcquay 60efc38ef3 kubeadm: remove func arg that isn't being used 2017-04-20 09:47:17 -07:00
xilabao c1197924cd fix kubeadm init when certdir changed 2017-04-20 15:23:45 +08:00
Paulo Pires 6c5e1eae2d
kubeadm: remove maintainer @pires.
Signed-off-by: Paulo Pires <pjpires@gmail.com>
2017-04-18 12:11:08 -07:00
Derek McQuay 6aa2c396e2 kubeadm: add api validation exit code 2017-04-18 11:41:53 -07:00
Derek McQuay 9daa13af3e kubeadm: kubeadm join test cmds for new flags 2017-04-18 11:35:24 -07:00
Kubernetes Submit Queue 4e17230345 Merge pull request #42246 from jamiehannaford/add-etcd-flags-kubeadm
Automatic merge from submit-queue

Allow configurable etcd options

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

Allows users to set the `--listen-client-urls` and `--advertise-client-urls` flags on etcd binaries for clusters set up with kubeadm.

**Which issue this PR fixes**:

As far as I can tell right now, other nodes in a cluster set up with kubeadm cannot communicate with the etcd static pod running on the master. This is needed in order to set up calico/canal SDN which needs access to a publicly addressable IPv4 _before_ the overlay network and inter-cluster subnet is created.

Addresses https://github.com/kubernetes/features/issues/138 and https://github.com/kubernetes/features/issues/11.

**Release note**:
```release-note
Users can now specify listen and advertise URLs for etcd in a kubeadm cluster 
```
2017-04-18 08:25:49 -07:00
Kubernetes Submit Queue 877dc56864 Merge pull request #43282 from xilabao/use-healthz-api
Automatic merge from submit-queue

use healthz api in WaitForAPI

finish TODO
2017-04-18 00:17:03 -07:00
xilabao 7f613f09b8 use healthz api instead of componentstatus in WaitForAPI 2017-04-18 08:58:15 +08:00
Chao Xu 4f9591b1de move pkg/api/v1/ref.go and pkg/api/v1/resource.go to subpackages. move some functions in resource.go to pkg/api/v1/node and pkg/api/v1/pod 2017-04-17 11:38:11 -07:00
Mike Danese 3757e8bb5c bazel: statically link dockerized components
and remove libc from docker images when it's not needed.
2017-04-14 15:51:54 -07:00
Mike Danese a05c3c0efd autogenerated 2017-04-14 10:40:57 -07:00
Kubernetes Submit Queue 5ad494077e Merge pull request #42914 from liggitt/fix-defaulting
Automatic merge from submit-queue (batch tested with PRs 44424, 44026, 43939, 44386, 42914)

remove defaulting from conversion path

follow up for #42764

* remove call to defaulting from conversion path (defaulting is a separate step from conversion)
* remove non-top-level-object defaulting registration (unused after conversion call is removed)
* generate missing top-level defaults for some api groups:
  * autoscaling/v2alpha1
  * policy/v1alpha1
  * policy/v1beta1
* register top-level defaults for some api groups that were missing them:
  * autoscaling/v2alpha1
  * settings/v1alpha1
2017-04-13 22:07:10 -07:00
fabriziopandini 068ce4e3dd Add --apiserver-advertise-address option to kubeadm alpha phase certs selfsign 2017-04-13 15:24:46 +02:00
Kubernetes Submit Queue cacfd7569a Merge pull request #44002 from mikedanese/vers-apiserver
Automatic merge from submit-queue

kubeadm: don't add proxy flag to apiservers below v1.7
2017-04-13 05:56:07 -07:00
Jordan Liggitt ad116026d9
Remove vestiges of defaulting from conversion path, switch to top-level default registration only 2017-04-12 13:36:15 -04:00
Mike Danese 199ad852a1 kubeadm: don't add proxy flag to apiservers below v1.7 2017-04-11 14:51:36 -07:00
Kubernetes Submit Queue 39e2d8e58f Merge pull request #41914 from mikedanese/bzl-version
Automatic merge from submit-queue (batch tested with PRs 43887, 41914, 44170)

bazel: implement git build stamping
2017-04-10 19:46:14 -07:00
Jamie Hannaford 7e82985f6d Allow configurable etcd options 2017-04-10 12:00:11 +02:00
Michail Kargakis 267491efb9
kubeadm: grammatical fixes in join help
Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
2017-04-08 21:33:42 +02:00
Kubernetes Submit Queue e6dc13408f Merge pull request #43951 from luxas/kubeadm_fix_reset_docker
Automatic merge from submit-queue (batch tested with PRs 43951, 43386)

kubeadm: Fix issue when kubeadm reset isn't working and the docker service is disabled

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

If the docker service is disabled, the preflight check lib will return a warning.
That warning _should not_ matter when deciding whether to reset docker state or not.
The current code skips the docker reset if the docker service is disabled, which is a bug.

Also, `Check()` must not return a `nil` slice.

It should be added that I **really don't like what we have at the moment**, I'd love to discuss with the node team to add something to CRI that basically says, "remove everything on this node" so we can stop doing this. Basically, kubeadm could talk to the specified socket (by default dockershim.sock), and call the CRI interface and say that everything should be cleaned up. This would then be cross-CRI-implementation at the same time and would work if you're using rkt, cri-o or whatever.

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

helps in https://github.com/kubernetes/kubernetes/issues/43950

**Special notes for your reviewer**:

**Release note**:

```release-note
kubeadm: Make `kubeadm reset` tolerant of a disabled docker service.
```
@mikedanese @jbeda @dmmcquay @pipejakob @yujuhong @freehan
2017-04-07 10:56:34 -07:00
Lucas Käldström 23395408b1
Don't fail on warnings from the docker activeness check 2017-04-07 17:56:22 +03:00
Kubernetes Submit Queue ef075a441f Merge pull request #44105 from krousey/kubeadm
Automatic merge from submit-queue

Adding krousey as a kubeadm reviewer and owner

I would like to join the illustrious ranks of kubeadm owners. I plan to spend a considerable amount of time integrating this tool into our GCE and GKE deployments. If approver is too much, I would still like to be a reviewer.

I will mark this as "Do not merge" until I see approval from all current owners.
2017-04-06 12:46:05 -07:00
Kubernetes Submit Queue a30339ba49 Merge pull request #44143 from ivan4th/fix-panic-in-kubeadm-master-node-setup
Automatic merge from submit-queue (batch tested with PRs 44143, 44133)

Fix panic in kubeadm master node setup

The problem was [caught](https://travis-ci.org/Mirantis/kubeadm-dind-cluster/jobs/218999640#L3249) by kubeadm-dind-cluster CI.
```
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.1
[init] Using Authorization mode: RBAC
[preflight] Skipping pre-flight checks
[certificates] Generated CA certificate and key.
[certificates] Generated API server certificate and key.
[certificates] API Server serving cert is signed for DNS names [kube-master kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.192.0.2]
[certificates] Generated API server kubelet client certificate and key.
[certificates] Generated service account token signing key and public key.
[certificates] Generated front-proxy CA certificate and key.
[certificates] Generated front-proxy client certificate and key.
[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/scheduler.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/controller-manager.conf"
[apiclient] Created API client, waiting for the control plane to become ready
[apiclient] All control plane components are healthy after 19.017839 seconds
panic: assignment to entry in nil map

goroutine 1 [running]:
panic(0x1b62140, 0xc4203f0380)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
k8s.io/kubernetes/cmd/kubeadm/app/phases/apiconfig.attemptToUpdateMasterRoleLabelsAndTaints(0xc420b18be0, 0x4e, 0x0)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/phases/apiconfig/setupmaster.go:57 +0x15b
k8s.io/kubernetes/cmd/kubeadm/app/phases/apiconfig.UpdateMasterRoleLabelsAndTaints(0xc420b18be0, 0x1a, 0xc420b18be0)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/phases/apiconfig/setupmaster.go:86 +0x2f
k8s.io/kubernetes/cmd/kubeadm/app/cmd.(*Init).Run(0xc4201a4040, 0x29886e0, 0xc420022010, 0x1c73d01, 0xc4201a4040)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/init.go:220 +0x29c
k8s.io/kubernetes/cmd/kubeadm/app/cmd.NewCmdInit.func1(0xc4203a46c0, 0xc420660680, 0x0, 0x2)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/init.go:86 +0x197
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute(0xc4203a46c0, 0xc420660560, 0x2, 0x2, 0xc4203a46c0, 0xc420660560)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:603 +0x439
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc4203b1d40, 0xc4203a4b40, 0xc4203a46c0, 0xc4203a4000)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:689 +0x367
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute(0xc4203b1d40, 0xc42046c420, 0x29886a0)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:648 +0x2b
k8s.io/kubernetes/cmd/kubeadm/app.Run(0xc420627f70, 0xc4200001a0)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/kubeadm.go:35 +0xe8
main.main()
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/kubeadm.go:26 +0x22
```
2017-04-06 11:19:22 -07:00
Kubernetes Submit Queue 2d66f7bd28 Merge pull request #42557 from xilabao/use-authorizationModes
Automatic merge from submit-queue

Allow multiple providers for authorizationMode

fixes https://github.com/kubernetes/kubeadm/issues/177
2017-04-06 08:03:04 -07:00
Ivan Shvedunov 24b8ed5d84 Fix panic in kubeadm master node setup 2017-04-06 14:50:13 +03:00
Kubernetes Submit Queue b41e415ebd Merge pull request #43137 from shashidharatd/federation-domain
Automatic merge from submit-queue

[Federation] Remove FEDERATIONS_DOMAIN_MAP references

Remove all references to FEDERATIONS_DOMAIN_MAP as this method is no longer is used and is replaced by adding federation domain map to kube-dns configmap.

cc @madhusudancs @kubernetes/sig-federation-pr-reviews 

**Release note**:
```
[Federation] Mechanism of adding `federation domain maps` to kube-dns deployment via `--federations` flag is superseded by adding/updating `federations` key in `kube-system/kube-dns` configmap. If user is using kubefed tool to join cluster federation, adding federation domain maps to kube-dns is already taken care by `kubefed join` and does not need further action.
```
2017-04-06 02:05:42 -07:00
xilabao 68f69b2c73 Allow multiple providers for authorizationMode 2017-04-06 10:31:59 +08:00
Kubernetes Submit Queue 8ecb60c86d Merge pull request #44031 from jellonek/fix_kubeadm_regression
Automatic merge from submit-queue (batch tested with PRs 44097, 42772, 43880, 44031, 44066)

kubeadm: Wait for node before updating labels and taints

**What this PR does / why we need it**:
Adds again (removed in #43881) waiting for at last single node appearance during kubeadm attempt to update master role labels and taints.

**Which issue this PR fixes**:
fixes kubernetes/kubeadm#221

**Release note**:
```NONE
```
2017-04-05 16:41:23 -07:00
Mike Danese ba5c2855b3 bazel: implement git build stamping 2017-04-05 11:47:39 -07:00
Piotr Skamruk b30855acba kubeadm: Wait for node before updating labels and taints
fixes kubernetes/kubeadm#221
2017-04-05 20:40:22 +02:00
Kris 7dca432706 Adding krousey as a kubeadm reviewer and owner 2017-04-05 11:13:58 -07:00
Mike Danese 142f7c98c0 make kubeadm default to stable-1.6 2017-04-05 09:40:12 -07:00
Mike Danese 3c77465a23 kubeadm: fail explicitly when using (stable,latest) in airgapped env 2017-04-03 14:08:32 -07:00
Kubernetes Submit Queue 756539f4fc Merge pull request #43684 from xilabao/patch-10
Automatic merge from submit-queue

fix typo in kubeadm join -h

```
Flags:
      --config string                Path to kubeadm config file
      --discovery-file string        A file or url from which to load cluster information
      --discovery-token string       A token used to validate cluster information fetched from the master
      --skip-preflight-checks        skip preflight checks normally run before modifying the system
      --tls-bootstrap-token string   A token used for TLS bootstrapping
      --token string                 Use this token for both discovery-token and tls-bootstrap-token
```
2017-04-01 07:02:42 -07:00
Kubernetes Submit Queue 63872a09f6 Merge pull request #43881 from mikedanese/kubeadm-validate
Automatic merge from submit-queue

move end to end validation to a dedicated phase

mostly reshuffling
2017-03-31 08:01:42 -07:00
Kubernetes Submit Queue bf1428f637 Merge pull request #43109 from apprenda/kubeadm_completion_test-cmds
Automatic merge from submit-queue (batch tested with PRs 42360, 43109, 43737, 43853)

kubeadm: test-cmds for kubeadm completion

**What this PR does / why we need it**: Adding test-cmds for kubeadm completion. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas

**Release note**:
```release-note
NONE
```
2017-03-31 00:34:24 -07:00
Mike Danese 01984a9f98 move end to end validation to a dedicated phase 2017-03-30 18:06:09 -07:00
Kubernetes Submit Queue 57b7c75be9 Merge pull request #43835 from mikedanese/kubeadm-fix
Automatic merge from submit-queue

don't wait for first kubelet to be ready and drop dummy deploy

Per https://github.com/kubernetes/kubernetes/issues/43815#issuecomment-290270198, I suggest that we drop both the node ready and the dummy deployment check altogether for 1.6 and move them to a validation phase for 1.7.

I really think we should drop these checks altogether. CreateClientAndWaitForAPI should create a client and wait for the API, not create dummy deployments and wait for nodes to register and be healthy. These are end to end validations and this is the wrong place to do this stuff. We need an explicit final validation phase for this.

```release-note
Fix a deadlock in kubeadm master initialization.
```

Fixes #43815
2017-03-30 16:57:24 -07:00
Mike Danese 89557110ed don't wait for first kubelet to be ready
and skip dummy deployment
2017-03-30 09:24:54 -07:00
Yu-Ju Hong 434fba9e46 kubeadm: clean up exited containers and network checkpoints 2017-03-29 18:23:24 -07:00
deads2k d8be13fee8 add proxy client-certs to kube-apiserver to allow it to proxy aggregated api servers 2017-03-27 13:31:31 -04:00
Charlie R.C 71aeea22a9 fix typo in kubeadm join -h 2017-03-27 01:44:07 -05:00
Kubernetes Submit Queue 417a88b82a Merge pull request #43154 from apprenda/kubeadm_test-cmd_logging
Automatic merge from submit-queue (batch tested with PRs 43149, 41399, 43154, 43569, 42507)

kubeadm: only print stderr/stdout if failed test

**What this PR does / why we need it**: This PR changes when stdout/stderr will be logged during a kubeadm test-cmd test. It's useful when a real failure occurs to only see the failure rather than output that looks like it might be a failure

**Special notes for your reviewer**: /cc @luxas @marun 

**Release note**:
```release-note
NONE
```
2017-03-26 00:55:21 -07:00
Kubernetes Submit Queue d408bba284 Merge pull request #42428 from everett-toews/kubeadm-remove-comment
Automatic merge from submit-queue

kubeadm: Remove an outdated comment

Now that `AdvertiseAddress` is a `string` and not
`AdvertiseAddresses` a `[]string` this comment is no longer
necessary.

@k8s-mirror-cluster-lifecycle-misc RFR 

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

Just a little house cleaning by removing an outdated comment.

**Release note**:
```release-note
NONE
```
2017-03-24 10:26:03 -07:00
Kubernetes Submit Queue 049b35c92a Merge pull request #43355 from luxas/kubeadm_dns_hostnet
Automatic merge from submit-queue (batch tested with PRs 43355, 42827)

kubeadm: In-cluster DNS should be used when self-hosting

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

I noticed that the master components doesn't use the built-in cluster DNS which they really should do in order to be able to discover other services inside the cluster (like extension API Servers like service catalog).

This is a really small change that fixes a misconfiguration that had slipped though earlier.

**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
NONE
```
@jbeda @bowei @MrHohn
2017-03-19 10:49:44 -07:00
Lucas Käldström b7d84d53b0
kubeadm: When self-hosting, cluster DNS should be used 2017-03-19 14:18:04 +02:00
Kubernetes Submit Queue 8532c63c50 Merge pull request #43161 from luxas/kubeadm_16_offline_version
Automatic merge from submit-queue

kubeadm: Default to v1.6.0 stable in offline scenarios in beforehand

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

In offline scenarios, kubeadm will fallback to the latest well-known version.
This PR bumps that to v1.6. We can merge now, and in the small gap between the merge of this PR and the actual v1.6 release, kubeadm devs will have to explicitely set k8s version.

**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
NONE
```
@jbeda
2017-03-19 05:16:20 -07: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
Derek McQuay 14d79f2cc0
kubeadm: only print stderr/stdout if failed test 2017-03-15 11:34:13 -07:00
Derek McQuay a6aab0669b
kubeadm: test-cmds for kubeadm completion 2017-03-15 10:39:11 -07:00
shashidharatd b09b20b598 Remove FEDERATIONS_DOMAIN_MAP references 2017-03-15 23:06:16 +05:30
Kubernetes Submit Queue 5826b09a19 Merge pull request #42713 from luxas/kubeadm_fix_reset
Automatic merge from submit-queue (batch tested with PRs 43018, 42713)

kubeadm: Don't drain and remove the current node on kubeadm reset

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

**Special notes for your reviewer**:

In v1.5, `kubeadm reset` would drain your node and remove it from your cluster if you specified, but now in v1.6 we can't do that due to the RBAC rules we have set up.

After conversations with @liggitt, I also agree this functionality was somehow a little mis-placed (though still very convenient to use), so we're removing it for v1.6.

It's the system administrator's duty to drain and remove nodes from the cluster, not the nodes' responsibility.

The current behavior is therefore a bug that needs to be fixed in v1.6

**Release note**:

```release-note
kubeadm: `kubeadm reset` won't drain and remove the current node anymore
```
@liggitt @deads2k @jbeda @dmmcquay @pires @errordeveloper
2017-03-14 15:59:20 -07:00
Kubernetes Submit Queue 08e351acc8 Merge pull request #41429 from mikedanese/kubeadm-owners
Automatic merge from submit-queue

remove dgoodwin and dmmcquay to kubeadm reviewers

@dgoodwin says he needs to work on other stuff right now. @dmmcquay says he wants to help with reviews.
2017-03-14 08:49:37 -07:00
Mike Danese 33d0c48313 remove dgoodwin and dmmcquay to kubeadm reviewers 2017-03-14 05:19:25 -07:00
Joe Beda 505464d496
Dumb typo in kubeadm instructions
Signed-off-by: Joe Beda <joe.github@bedafamily.com>
2017-03-13 21:45:36 +00:00
Kubernetes Submit Queue 9d78cbad89 Merge pull request #42970 from jbeda/kubeadm-message
Automatic merge from submit-queue (batch tested with PRs 42940, 42906, 42970, 42848)

Improve kubeadm init message

Now that we are locking down the insecure port, we should give clearer instructions on how to copy out the root owned admin.conf file, chmod it and use it.

Signed-off-by: Joe Beda <joe.github@bedafamily.com>

```release-note
NONE
```
2017-03-13 13:22:14 -07:00
Kubernetes Submit Queue 33c455271e Merge pull request #42966 from apprenda/kubeadm_beta_banner
Automatic merge from submit-queue (batch tested with PRs 42969, 42966)

kubeadm: update kubeadm banner to beta

**What this PR does / why we need it**: Updates the intro banner for kubeadm, which used to  state it is in alpha (but we are going to beta). This also updates the tagged github group (one that no longer exists) to the sig-cluster-lifecycle-misc group.  

**Special notes for your reviewer**: /cc @jbeda 

**Release note**:
```release-note
NONE
```
2017-03-12 18:08:24 -07:00
Joe Beda c15d011da3
Improve kubeadm init message
Now that we are locking down the insecure port, we should give clearer instructions on how to copy out the root owned admin.conf file, chmod it and use it.

Signed-off-by: Joe Beda <joe.github@bedafamily.com>
2017-03-13 00:33:58 +00:00
Derek McQuay 53818b6c84
kubeadm: remove utilerros pkg in favor of []error 2017-03-12 16:34:27 -07:00
Derek McQuay 7249ba2872
kubeadm: fixed warning nil logging 2017-03-12 16:17:58 -07:00
Derek McQuay b0fbff659c
kubeadm: moved alpha to beta in join and init 2017-03-12 15:28:28 -07:00
Derek McQuay ab1ce8b879
kubeadm: update kubeadm banner to beta 2017-03-12 14:48:26 -07:00
Kubernetes Submit Queue eefa2ef1bb Merge pull request #42425 from apprenda/kubeadm_189_docker_version
Automatic merge from submit-queue (batch tested with PRs 42762, 42739, 42425, 42778)

kubeadm: update docker version for CE and EE

**What this PR does / why we need it**: Update regex for docker version to also capture new CE and EE versions. 

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

**Special notes for your reviewer**: /cc @jbeda @luxas

**Release note**:
```release-note
NONE
```
2017-03-09 02:51:40 -08:00
Derek McQuay 35f07095d8
kubeadm: validators pass warnings and errors
This change allows validators to pass warnings as well as errors. This
was needed because of how support for docker 1.13+ and the new EE and CE
versions is currently being handled.
2017-03-08 14:35:26 -08:00
Kubernetes Submit Queue 8e43f00d28 Merge pull request #42657 from luxas/kubeadm_fix_dummy
Automatic merge from submit-queue

kubeadm: Delete the dummy Deployment properly

**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 https://github.com/kubernetes/kubeadm/issues/149

**Special notes for your reviewer**:

Earlier, the Pod created by the Deployment wasn't deleted. With this option it is.
As suggested by @deads2k, thank you!

This is a bug fix for v1.6

**Release note**:

```release-note
```
@mikedanese @jbeda @dmmcquay @pires @errordeveloper @deads2k @caesarxuchao
2017-03-08 00:33:27 -08:00
Lucas Käldström c7fc530bc7
kubeadm: Don't drain and remove the current node on kubeadm reset 2017-03-08 09:30:49 +02:00
Lucas Käldström 78fd645d12
kubeadm: Delete the dummy Deployment properly 2017-03-08 08:24:14 +02:00
Jacob Beacham fe81169c1e kubeadm: make kube-apiserver's liveness probe match its bindport.
It had previously been hardcoded, so if you used --apiserver-bind-port
to override the default port (6443), then the health check for the pod
would quickly fail and kubelet would continuously kill the apiserver.
2017-03-06 18:11:08 -08:00
Kubernetes Submit Queue d731dc7546 Merge pull request #41826 from bowei/stub-2
Automatic merge from submit-queue (batch tested with PRs 41826, 42405)

Add stubDomains and upstreamNameservers configuration to kube-dns

```release-note
Updates the dnsmasq cache/mux layer to be managed by dnsmasq-nanny.
dnsmasq-nanny manages dnsmasq based on values from the
kube-system:kube-dns configmap:

"stubDomains": {
	"acme.local": ["1.2.3.4"]
},

is a map of domain to list of nameservers for the domain. This is used
to inject private DNS domains into the kube-dns namespace. In the above
example, any DNS requests for *.acme.local will be served by the
nameserver 1.2.3.4.

"upstreamNameservers": ["8.8.8.8", "8.8.4.4"]

is a list of upstreamNameservers to use, overriding the configuration
specified in /etc/resolv.conf.
```
2017-03-06 15:06:04 -08:00
Andrew Rynhard 2419d0e845 Fix self-hosted 2017-03-04 11:41:37 -08: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
Everett Toews 674189e99a Remove an outdated comment
Now that AdvertiseAddress is a string and not
AdvertiseAddresses a []string this comment is not longer
necessary.
2017-03-02 11:43:15 -06:00
Kubernetes Submit Queue 98ff34cc38 Merge pull request #42064 from luxas/kubeadm_beta_init_ux
Automatic merge from submit-queue (batch tested with PRs 42128, 42064, 42253, 42309, 42322)

kubeadm: Rename some flags for beta UI and fixup some logic

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

In this PR:
 - `--api-advertise-addresses` becomes `--apiserver-advertise-address`
   - The API Server's logic here is that if the address is `0.0.0.0`, it chooses the host's default interface's address. kubeadm here uses exactly the same logic. This arg is then passed to `--advertise-address`, and the API Server will advertise that one for the service VIP.
 - `--api-port` becomes `--apiserver-bind-port` for clarity

ref the meeting notes: https://docs.google.com/document/d/1deJYPIF4LmhGjDVaqrswErIrV7mtwJgovtLnPCDxP7U/edit#

**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
```
@jbeda @dmmcquay @pires @lukemarsden @dgoodwin @mikedanese
2017-03-02 05:00:50 -08:00
Kubernetes Submit Queue bc462b645b Merge pull request #42233 from xilabao/sort-token-usages
Automatic merge from submit-queue (batch tested with PRs 41672, 42084, 42233, 42165, 42273)

sort token usages in kubeadm

```
kubeadm token list
TOKEN                     TTL         EXPIRES   USAGES                   DESCRIPTION
0f97a4.2230bb81a54f470f   <forever>   <never>   authentication,signing   <none>
1ee905.3ffae0f3e189ebf3   <forever>   <never>   signing,authentication   <none>
2fc984.66a220428aed0794   <forever>   <never>   authentication,signing   <none>
6b8f54.11d2bc3cec1c2b40   <forever>   <never>   signing,authentication   <none>
81a8f9.c3fa30dd1ed05d96   <forever>   <never>   authentication,signing   The default bootstrap token generated by 'kubeadm init'.
b04eec.2b2337a87558d3f7   <forever>   <never>   signing,authentication   <none>
b186e5.7a19ae1a82652643   <forever>   <never>   authentication,signing   <none>
```
2017-03-02 03:20:26 -08:00
Lucas Käldström 5cbefbcbca
kubeadm: Rename --api-advertise-addresses to --apiserver-advertise-address and --api-port to --apiserver-bind-port 2017-03-01 14:33:19 +02:00
Kubernetes Submit Queue 089947d996 Merge pull request #41921 from apprenda/kubeadm_join_ux_update_2
Automatic merge from submit-queue (batch tested with PRs 41921, 41695, 42139, 42090, 41949)

kubeadm: join ux changes

**What this PR does / why we need it**: Update `kubeadm join` UX according to https://github.com/kubernetes/community/pull/381

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

**Special notes for your reviewer**: /cc @luxas @jbeda 

**Release note**:
```release-note
NONE
```
2017-03-01 04:09:59 -08:00
Kubernetes Submit Queue fed7cea0fb Merge pull request #42066 from luxas/kubeadm_remove_unsecure_port
Automatic merge from submit-queue

kubeadm: Turn off insecure apiserver access on localhost:8080

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

ref: https://github.com/kubernetes/kubeadm/issues/181
depends on: https://github.com/kubernetes/kubernetes/pull/41897

**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
Insecure access to the API Server at localhost:8080 will be turned off in v1.6 when using kubeadm
```
@jbeda @liggitt @deads2k @pires @lukemarsden @mikedanese @errordeveloper
2017-03-01 02:00:05 -08:00
Kubernetes Submit Queue 1a35155025 Merge pull request #41973 from wojtek-t/build_non_alpha_3_0_17_etcd_image
Automatic merge from submit-queue (batch tested with PRs 42162, 41973, 42015, 42115, 41923)

Release 3.0.17 etcd image
2017-02-28 22:05:59 -08:00
Derek McQuay 1d37c6be49
kubeadm: join ux changes 2017-02-28 11:06:08 -08:00
Lucas Käldström 3f592843e6
kubeadm: Turn off insecure apiserver access on localhost:8080 2017-02-28 17:52:00 +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
xilabao 37bc44f66b sort token usages in kubeadm 2017-02-28 16:47:20 +08:00
Bowei Du 4fe2e82d88 Configure DNS based on the kube-system:kube-dns ConfigMap
Updates the dnsmasq cache/mux layer to be managed by dnsmasq-nanny.
dnsmasq-nanny manages dnsmasq based on values from the
kube-system:kube-dns configmap:

"stubDomains": {
	"acme.local": ["1.2.3.4"]
},

is a map of domain to list of nameservers for the domain. This is used
to inject private DNS domains into the kube-dns namespace. In the above
example, any DNS requests for *.acme.local will be served by the
nameserver 1.2.3.4.

"upstreamNameservers": ["8.8.8.8", "8.8.4.4"]

is a list of upstreamNameservers to use, overriding the configuration
specified in /etc/resolv.conf.
2017-02-27 11:31:59 -08:00
Wojciech Tyczynski 74266e0dc0 Release 3.0.17 etcd image 2017-02-27 16:23:44 +01: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
Kubernetes Submit Queue 0ac996e00f Merge pull request #42062 from timothysc/kubeadm-etcd
Automatic merge from submit-queue (batch tested with PRs 41962, 42055, 42062, 42019, 42054)

Don't restrict etcd on self host installs b/c a clipped etcd can have

**What this PR does / why we need it**:
Remove cpu-clipping from self hosted etcd install from the masters.

**Special notes for your reviewer**:

**Release note**:

```
NONE
```
2017-02-27 00:16:57 -08:00
xilabao 8654217b12 Make the CLI arguments for the control plane overridable 2017-02-27 08:53:04 +08:00
xilabao e207b19a53 add kubeadm completion command 2017-02-27 07:52:47 +08:00
Kubernetes Submit Queue e4c545a839 Merge pull request #41877 from bruceauyeung/k8s-branch-preflight-check-etcd-version
Automatic merge from submit-queue (batch tested with PRs 41954, 40528, 41875, 41165, 41877)

preflight check external etcd version when kubeadm init

**What this PR does / why we need it**:
1. preflight check if verson of external etcd server meets the demand of kubeadm, currently requires >= 3.0.14
2. support mixed http endpoints and https endpoints

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

**Special notes for your reviewer**:
i have tested against single endpoint including http etcd server , https etcd server,  but multiple endpoints not tested yet. i'll do it tomorrow
2017-02-26 14:54:55 -08:00
Kubernetes Submit Queue b2765427a2 Merge pull request #41897 from luxas/kubeadm_secure_controlplane
Automatic merge from submit-queue (batch tested with PRs 41701, 41818, 41897, 41119, 41562)

kubeadm: Secure the control plane communication and add the kubeconfig phase command

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

This generates kubeconfig files for the controller-manager and the scheduler, ref: https://github.com/kubernetes/kubeadm/issues/172

The second commit adds the `kubeadm alpha phase kubeconfig` command as described in the design doc: https://github.com/kubernetes/kubeadm/pull/156

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

@dmmcquay What kind of tests would you like for the kubeconfig phase command?

**Release note**:

```release-note
```
@jbeda @mikedanese @dmmcquay @pires @liggitt @deads2k @errordeveloper
2017-02-26 14:02:52 -08:00
Kubernetes Submit Queue 3cc14290ad Merge pull request #41991 from dgoodwin/demote-self-hosted
Automatic merge from submit-queue (batch tested with PRs 41857, 41864, 40522, 41835, 41991)

kubeadm: Demote --self-hosted to master config file.

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

kubeadm init --self-hosted was meant to be a short lived hack to enable self-hosted deployments until we're ready to make them the default. Rather than shipping this in 1.6 (for the first time) we will move this to the config file as it is presently only an advanced feature, leaving us with more well supported ways to remove it in the future.

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

CC @luxas @pires @errordeveloper @dmmcquay 

**Release note**:

```release-note
NONE
```
2017-02-26 11:13:58 -08:00
Kubernetes Submit Queue 861f4179bc Merge pull request #41835 from luxas/kubeadm_beta_label
Automatic merge from submit-queue (batch tested with PRs 41857, 41864, 40522, 41835, 41991)

kubeadm: Use a new label for marking and tainting the master node

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

Implements https://github.com/kubernetes/kubernetes/pull/39112 for kubeadm until that PR is merged. I want to proceed on this stuff, it has been pending for too long already.

It's at least pretty safe to apply this for kubeadm now, since we're still in alpha in v1.6 implementation-wise, only the CLI will be beta.

**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
Switch to the `node-role.kubernetes.io/master` label for marking and tainting the master node in kubeadm
```
cc @deads2k @liggitt @smarterclayton @jbeda @roberthbailey @mikedanese @justinsb @sttts @kubernetes/api-approvers @kubernetes/api-reviewers
2017-02-26 11:13:57 -08:00
Kubernetes Submit Queue 1b3a9fe10d Merge pull request #41857 from apprenda/kubeadm_update_token_separator
Automatic merge from submit-queue (batch tested with PRs 41857, 41864, 40522, 41835, 41991)

kubeadm: update token separator to '.'

**What this PR does / why we need it**: From SIG meetings, it was agreed upon to have '.' be the separator for tokens. This PR updates that. 

**Special notes for your reviewer**: /cc @luxas @jbeda

**Release note**:
```release-note
NONE
```
2017-02-26 11:13:52 -08:00
Kubernetes Submit Queue 77ba346f55 Merge pull request #41815 from kevin-wangzefeng/enable-defaulttolerationseconds-admission-controller
Automatic merge from submit-queue (batch tested with PRs 40932, 41896, 41815, 41309, 41628)

enable DefaultTolerationSeconds admission controller by default

**What this PR does / why we need it**:
Continuation of PR #41414, enable DefaultTolerationSeconds admission controller by default.


**Which issue this PR fixes**: 
fixes: #41860
related Issue: #1574, #25320
related PRs: #34825, #41133, #41414 

**Special notes for your reviewer**:

**Release note**:

```release-note
enable DefaultTolerationSeconds admission controller by default
```
2017-02-26 08:09:58 -08:00
Kubernetes Submit Queue 5c3791b9e0 Merge pull request #41729 from smarterclayton/refactor_printers
Automatic merge from submit-queue (batch tested with PRs 41621, 41946, 41941, 41250, 41729)

Refactor printers and describers into their own package.

This sets the stage for using printer code from the server side (decoupled from kubectl) and loosens the coupling between kubectl and the printers. `pkg/printers` contains interfaces and has an import restriction against pulling in API specific code, while `pkg/printers/internalversion` can be used for internal types.

Add a method on `Factory` for retrieving PrinterForCommand which uses the Scheme and RESTMapper from the Factory, not the hardcoded ones.  This further separates kubectl from the core API scheme and allows better composition.

Change NamePrinter to use RESTMapper (previously it was hardcoding those conversions). This means that we now return plural resource names (`pods/foo`) but is correct once aliases and shortnames start being returned by the mapper.

This is a prerequisite for server side get, but is pure refactor (contains no new features).

@deads2k @liggitt
2017-02-26 06:47:03 -08:00
Kubernetes Submit Queue 04c75b68d5 Merge pull request #41721 from luxas/kubeadm_node_cacert_arg
Automatic merge from submit-queue (batch tested with PRs 40665, 41094, 41351, 41721, 41843)

kubeadm: Add a --ca-cert-path flag to kubeadm join

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

This PR makes it possible to customize where the CA file is written

**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
```
@pires @mikedanese @dmmcquay @jbeda @errordeveloper
2017-02-25 03:56:57 -08:00
Timothy St. Clair 3e3cfcc97b Don't restrict etcd on self host installs b/c a clipped etcd can have
weird behaviors once it is loaded
2017-02-24 11:29:07 -06:00
Devan Goodwin cf793e7c65 kubeadm: Demote --self-hosted to master config file. 2017-02-24 09:30:09 -04:00
bruceauyeung 0314dc2715 preflight check external etcd version
Signed-off-by: bruceauyeung <ouyang.qinhua@zte.com.cn>
2017-02-24 17:24:19 +08:00
Lucas Käldström bf382e45c6
kubeadm: Add a CACertPath property to NodeConfiguration that makes it possible to customize where the CA cert is written on join 2017-02-24 11:14:50 +02:00
Lucas Käldström 036463dd17
Fix golint issues 2017-02-23 23:44:46 +02:00
Lucas Käldström 69c24afc20
kubeadm: Add a 'kubeadm alpha phase kubeconfig command' 2017-02-23 21:28:18 +02:00
Lucas Käldström 42cb8c8cb0
kubeadm: Generate kubeconfig files for controller-manager and scheduler and use them; secures the control plane communication 2017-02-23 21:28:03 +02:00
Alexander Kanevskiy 1bd8bf6c5b Changing --use-kubernetes-version to --kubernetes-version as it was
agreed on SIG-Cluster-Lifecycle meeting.
2017-02-23 20:56:37 +02:00
Lucas Käldström 0b16999e50
kubeadm: Use a new label for marking and tainting the master node 2017-02-23 19:43:09 +02:00
Lucas Käldström 3c322d04de
kubeadm: Always enable RBAC, validate authz mode and improve the code slightly 2017-02-23 15:30:24 +02:00
Kubernetes Submit Queue 52d81606b6 Merge pull request #41838 from apprenda/kubeadm_fixed_token_String
Automatic merge from submit-queue (batch tested with PRs 41540, 41808, 41710, 41838, 41840)

kubeadm: update token to use '.' in discovery pkg

**What this PR does / why we need it**: While working on getting https://github.com/kubernetes/community/pull/381 implemented, I noticed the kubeadm discovery pkg was printing out tokens incorrectly. Corrected and fixed up corresponding test. 

**Special notes for your reviewer**: /cc @luxas @jbeda 

**Release note**:
```release-note
NONE
```
2017-02-23 03:29:35 -08:00
Kubernetes Submit Queue d81ba2c66f Merge pull request #41710 from luxas/kubeadm_remove_cloudprovider_arg
Automatic merge from submit-queue (batch tested with PRs 41540, 41808, 41710, 41838, 41840)

kubeadm: Remove the --cloud-provider flag for beta init UX

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

We decided the `--cloud-provider` flag promises way too much compared to what it really does. There is a lot you have to do as an user in order to make the current cloud provider integrations to work. And since we're promising to support the `kubeadm init` UX on a beta level in v1.6, we can't have this flag in the UX. A lot is gonna change here... see proposal: https://github.com/kubernetes/community/pull/128

Once we find a cloudprovider solution we can support (probably using the new flow), we'll just add it.
For now, we'll just document how to do cloudprovider integrations by hand instead. 

**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
kubeadm: Remove the --cloud-provider flag for beta init UX
```
@jbeda @dmmcquay @mikedanese @roberthbailey @pires @errordeveloper
2017-02-23 03:29:33 -08:00
Clayton Coleman 651188d687
generated: bazel 2017-02-23 00:28:32 -05:00
Clayton Coleman 2aa4abb73b
Refactor commands to use new factory method 2017-02-23 00:28:32 -05:00
Kubernetes Submit Queue 6024f56f80 Merge pull request #38957 from aveshagarwal/master-taints-tolerations-api-fields
Automatic merge from submit-queue (batch tested with PRs 38957, 41819, 41851, 40667, 41373)

Change taints/tolerations to api fields

This PR changes current implementation of taints and tolerations from annotations to API fields. Taint and toleration are now part of `NodeSpec` and `PodSpec`, respectively. The annotation keys: `scheduler.alpha.kubernetes.io/tolerations` and `scheduler.alpha.kubernetes.io/taints`  have been removed.

**Release note**:
Pod tolerations and node taints have moved from annotations to API fields in the PodSpec and NodeSpec, respectively. Pod tolerations and node taints that are defined in the annotations will be ignored. The annotation keys: `scheduler.alpha.kubernetes.io/tolerations` and `scheduler.alpha.kubernetes.io/taints`  have been removed.
2017-02-22 19:59:31 -08:00
Derek McQuay 96fb797abc kubeadm: update token separator to '.' 2017-02-22 19:40:08 -08:00
Kubernetes Submit Queue 44aa1679c9 Merge pull request #41657 from bowei/update-dns
Automatic merge from submit-queue (batch tested with PRs 41349, 41532, 41256, 41587, 41657)

Update dns

```release-note
NONE
```
2017-02-22 08:12:48 -08:00
Avesh Agarwal 9b640838a5 Change taint/toleration annotations to api fields. 2017-02-22 09:27:42 -05:00
Derek McQuay 389e065ebc
kubeadm: update token to use '.' in discovery pkg 2017-02-21 13:44:52 -08:00
Kubernetes Submit Queue 443192c349 Merge pull request #41734 from xilabao/prompt-user-to-use-admin-kubeconfig
Automatic merge from submit-queue

Prompt user to use secure config in kubeadm

If don't set the kubeconfig, the default action is to use insecure port to connect to apiserver.  It's necessary to tell people to use the admin.kubeconfig 

```
#kubectl cluster-info
Kubernetes master is running at http://localhost:8080
KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
```
2017-02-21 08:48:13 -08:00
Kevin cd427fa4be enable DefaultTolerationSeconds admission controller by default 2017-02-22 00:45:56 +08:00
Lucas Käldström 4739b9f722
kubeadm: Remove the --cloud-provider flag for the beta init UX 2017-02-21 17:57:53 +02:00
Kubernetes Submit Queue a5d4afffeb Merge pull request #41759 from luxas/kubeadm_change_flag
Automatic merge from submit-queue (batch tested with PRs 41709, 41685, 41754, 41759, 37237)

kubeadm: Add the --use-service-account-credentials to controller-manager

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

As outlined in https://docs.google.com/document/d/1PqI--ql3LQsA69fEvRq1nQWgiIoE5Dyftja5Um9ML7Q/edit, the controller-manager should run with `--use-service-account-credentials` for new clusters.

Also removing a totally unnecessary flag

**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
NONE
```
@dmmcquay @deads2k @liggitt @mikedanese
2017-02-21 04:27:49 -08:00
Kubernetes Submit Queue 41bee6de16 Merge pull request #41754 from jbeda/bootstrap-secret-name
Automatic merge from submit-queue (batch tested with PRs 41709, 41685, 41754, 41759, 37237)

Ignore Bootstrap Token secrets that don't use predictable names.
2017-02-21 04:27:48 -08:00
Kubernetes Submit Queue 4ace781a78 Merge pull request #41709 from luxas/kubeadm_hide_fuzz_flag
Automatic merge from submit-queue

kubeadm: Hide the unnecessary --fuzz-iters flag

super straightforward. We don't want this flag to leak into our UX.

cc @jbeda @dmmcquay @deads2k
2017-02-21 04:26:35 -08:00
Joe Beda 3a3c2fa0c8
Ignore Bootstrap Token secrets that don't use predictable names.
This aligns with spec changes coming in https://github.com/kubernetes/community/pull/381.

Signed-off-by: Joe Beda <joe.github@bedafamily.com>
2017-02-20 11:38:21 -08:00
Lucas Käldström 9853e8e7c3
kubeadm: Add the --use-service-account-credentials to controller-manager 2017-02-20 21:26:59 +02:00
Lucas Käldström 66e35af569
Move the kubeadm fuzzing into a separate package not imported by cmd/kubeadm 2017-02-20 19:41:29 +02:00
xilabao 7b2253c867 prompt user to use secure config in kubeadm 2017-02-20 15:01:40 +08:00
Kubernetes Submit Queue c2ad28be92 Merge pull request #41500 from luxas/kubeadm_set_orphans
Automatic merge from submit-queue (batch tested with PRs 41420, 41500)

Set OrphanDependents=&falseVar so the GC will (or should) remove the dummy Pod

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

ref: https://github.com/kubernetes/kubeadm/issues/149

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

This doesn't remove the Pod yet, only the ReplicaSet, but once the GC is working as expected, it'll remove the Pod with this configuration

**Release note**:

```release-note
NONE
```
@errordeveloper @mikedanese @pires @caesarxuchao @krmayankk @kargakis
2017-02-19 14:42:33 -08:00
Lucas Käldström 60b789b1c7
kubeadm: Move {admin,kubelet}.conf out as constants and make a separate util package for kubeconfig logic 2017-02-17 21:36:58 +02:00
Bowei Du f8b7464097 -no-resolv will make upstream DNS unreachable 2017-02-17 11:13:25 -08:00
Bowei Du 9f75db3c69 Update kube-dns image versions to the latest stable release 2017-02-17 11:12:25 -08:00
Kubernetes Submit Queue 2948c89433 Merge pull request #41509 from luxas/kubeadm_reorder_tokens
Automatic merge from submit-queue (batch tested with PRs 38101, 41431, 39606, 41569, 41509)

kubeadm: Reorder the token packages more logically

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

In order to be able to implement https://github.com/kubernetes/kubernetes/pull/41417, the token functionality (which now is spread across the codebase), should be in two places: a generic token functions library, which in the future _may_ [move into client-go](https://github.com/kubernetes/kubernetes/pull/41281#discussion_r101357106) in some form, and a package for the token handling against the api server.

This commit has no large functional changes.

```
kubeadm: Aggregate the token functionality in sane packages.
    
 - Factor out token constants to kubeadmconstants.
 - Move cmd/kubeadm/app/util/{,token/}tokens.go
 - Use the token-id, token-secret, etc constants provided by the bootstrapapi package
 - Move cmd/kubeadm/app/master/tokens.go to cmd/kubeadm/app/phases/token/csv.go
    
This refactor basically makes it possible to hook up kubeadm to the BootstrapSigner controller later on
```

**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
NONE
```
@mikedanese @pires @errordeveloper @dmmcquay @jbeda @GheRivero
2017-02-16 15:49:19 -08:00
Kubernetes Submit Queue 30ce5d7244 Merge pull request #41484 from deads2k/kubeadm-01-add-front-proxy
Automatic merge from submit-queue (batch tested with PRs 41505, 41484, 41544, 41514, 41022)

add front proxy to kubeadm created kube-apiservers

The front proxy authenticator configuration has been in a release or two.  It allows a front proxy (secured by mutual TLS auth) to provide user information for a request.  The kube-aggregator uses this to securely terminate authentication (has to terminate TLS and thus client-certs) and communicate user info to backing API servers.

Since the kube-apiserver always verifies the front-proxy via a client certificate, this isn't open for abuse unless you already have access to either the signing key or client cert which kubeadm creates locally.  If you got there, you already owned the box.  Therefore, this adds the authenticator unconditionally.

@luxas Are there e2e tests for `kubeadm`?
@liggitt @kubernetes/sig-auth-misc
2017-02-16 14:28:16 -08:00
Lucas Käldström 0f1124aff3
kubeadm: Aggregate the token functionality in sane packages.
- Factor out token constants to kubeadmconstants.
 - Move cmd/kubeadm/app/util/{,token/}tokens.go
 - Use the token-id, token-secret, etc constants provided by the bootstrapapi package
 - Move cmd/kubeadm/app/master/tokens.go to cmd/kubeadm/app/phases/token/csv.go

This refactor basically makes it possible to hook up kubeadm to the BootstrapSigner controller later on
2017-02-16 22:22:30 +02:00
Kubernetes Submit Queue a260db06aa Merge pull request #41238 from xilabao/add-check-to-authorization-config
Automatic merge from submit-queue (batch tested with PRs 41466, 41456, 41550, 41238, 41416)

add check to authorization config

Prompt user to create the config when using abac/webhook.
2017-02-16 10:14:10 -08:00
xilabao 60dfa6c9d7 add check to authorization config 2017-02-16 18:10:26 +08:00
Kubernetes Submit Queue c478d72827 Merge pull request #41502 from luxas/kubeadm_bump_limit
Automatic merge from submit-queue (batch tested with PRs 41104, 41245, 40722, 41439, 41502)

Bump the minimum kubeadm control plane version to v1.6.0-alpha.2

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

There went in quite a lot of useful features into v1.6.0-alpha.2 that kubeadm will use.
This bump the minimum limit so we can depend on those features.

**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
NONE
```
@mikedanese @errordeveloper @pires @dmmcquay @dgoodwin
2017-02-15 16:28:12 -08:00
Kubernetes Submit Queue 92360ffc5f Merge pull request #41439 from deads2k/apiserver-12-sample-fuzz
Automatic merge from submit-queue (batch tested with PRs 41104, 41245, 40722, 41439, 41502)

add sample fuzzing tests

Make fuzzing tests as simple as possible from both the API installer and the scheme, so its easy to add for api groups and so that I can build a scheme and then make sure I got it right.

@kubernetes/sig-api-machinery-pr-reviews @sttts @mikedanese
2017-02-15 16:28:11 -08:00
Derek McQuay 70e7d64b46 kubeadm: moved import to client-go, where possible
Some imports dont exist yet (or so it seems) in client-go (examples
being:

  - "k8s.io/kubernetes/pkg/api/validation"
  - "k8s.io/kubernetes/pkg/util/initsystem"
  - "k8s.io/kubernetes/pkg/util/node"

one change in kubelet to import to client-go
2017-02-15 13:06:15 -08:00
Lucas Käldström 8cc265d9c9
Set OrphanDependents=&falseVar so the GC will (or should remove the dummy Pod 2017-02-15 20:11:55 +02:00
Lucas Käldström 62dcce6c39
Bump the minimum kubeadm control plane version to v1.6.0-alpha.2 2017-02-15 20:09:56 +02:00
deads2k affdf829a3 add front proxy to kubeadm created kube-apiservers 2017-02-15 11:02:03 -05:00
deads2k 2d5fe9d855 add sample fuzzing tests 2017-02-15 10:34:44 -05:00
Kubernetes Submit Queue 66529d51ba Merge pull request #41352 from mikedanese/testapi-kubeadm
Automatic merge from submit-queue (batch tested with PRs 41360, 41423, 41430, 40647, 41352)

move kubeadm api group testing to kubeadm package

I think this is sufficient to at least preserve round trip testing.
2017-02-15 05:06:13 -08:00
Kubernetes Submit Queue 99ee9b4b45 Merge pull request #41424 from apprenda/kubeadm_add_dmmcquay_reviewer
Automatic merge from submit-queue

kubeadm: add dmmcquay as a reviewer

**What this PR does / why we need it**: add dmmcquay (myself) as a reviewer to kubeadm. 

**Special notes for your reviewer**: /cc @luxas 

**Release note**:
```release-note
NONE
```
2017-02-14 16:41:55 -08:00
deads2k bd56c2e3c5 Add TypeMeta conversions 2017-02-14 16:02:13 -08:00
Mike Danese ad42b42949 move kubeadm api group testing to kubeadm package 2017-02-14 16:02:13 -08:00
Kubernetes Submit Queue d8242f03d7 Merge pull request #41277 from apprenda/kubeadm_join_test-cmds
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: test-cmd: join{config, discovery}

**What this PR does / why we need it**: Adding test-cmds for kubeadm join {config, discovery}. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 15:30:19 -08:00
Kubernetes Submit Queue 528868f105 Merge pull request #41275 from apprenda/kubeadm_init_test-cmds
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: test-cmd: init{config, version, api-port}

**What this PR does / why we need it**: Adding test-cmds for kubeadm init {config, version, api-port}. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 15:30:17 -08:00
Kubernetes Submit Queue 78378f00eb Merge pull request #41362 from apprenda/kubeadm_discovery_tests
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: added unit tests for discovery pkg

**What this PR does / why we need it**: added tests to discovery pkg and raised coverage from ~25% to ~71%.  

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 15:30:15 -08:00
Kubernetes Submit Queue da8f68e013 Merge pull request #41344 from apprenda/kubeadm_token_test-cmds
Automatic merge from submit-queue

kubeadm: test-cmd: token{delete}

**What this PR does / why we need it**: Adding test-cmds for kubeadm ex token delete. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 14:08:32 -08:00
Kubernetes Submit Queue e63cab78ca Merge pull request #41409 from luxas/kubeadm_bump_dns
Automatic merge from submit-queue (batch tested with PRs 41382, 41407, 41409, 41296, 39636)

Update the DNS spec from upstream

**What this PR does / why we need it**:
Updates kubeadm to use the latest DNS spec.

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

@bowei @MrHohn @thockin  In the future, kubedns changes should be applied to this kubeadm file as well

**Release note**:

```release-note
NONE
```

@pires @errordeveloper @dmmcquay @mikedanese
2017-02-14 13:04:23 -08:00
Derek McQuay d8653bcfd0
kubeadm: add dmmcquay as a reviewer 2017-02-14 10:16:04 -08:00
Kubernetes Submit Queue b816410b1e Merge pull request #41350 from apprenda/kubeadm_util_tests
Automatic merge from submit-queue (batch tested with PRs 41337, 41375, 41363, 41034, 41350)

kubeadm: adding tests for util/tokens.go

**What this PR does / why we need it**: added tests to util pkg and raised coverage from ~48% to ~67%.  Will get better coverage once migration to client-go is complete.  Included a fix for a logic error in tokens.go found through writing tests

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 09:11:26 -08:00
Lucas Käldström b32e6040e3
Update the DNS spec from upstream 2017-02-14 16:33:44 +02:00
Kubernetes Submit Queue 739f4ffe0e Merge pull request #41230 from xilabao/fix-token-validation-in-kubeadm
Automatic merge from submit-queue (batch tested with PRs 41342, 41257, 41295, 41367, 41230)

fix token validation in kubeadm

fix https://github.com/kubernetes/kubeadm/issues/157
2017-02-13 23:48:09 -08:00