Commit Graph

1073 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
dd9981d038 Merge pull request #53651 from sttts/sttts-apis-core
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move core API to pkg/apis/core

Fixes https://github.com/kubernetes/kubernetes/issues/55304.

This moves the types in pkg/api and most of pkg/api/v1 to pkg/apis/core to match the other api groups, following-up on what https://github.com/kubernetes/kubernetes/pull/44784 did for the external types.

It's a nearly 100% mechanical package move with a number of trivial fixups in code-generators and in tests which do string comparisons of types via reflection.

**Most importantly:**

- group names are unchanged
- apimachinery semantics are unchanged
- the outside api is unchanged.

Note that some packages for helpers are left in pkg/api/v1. Splitting them into helpers which belong tightly to the api and those which are not is left to follow-ups.

@kubernetes/sig-api-machinery-pr-reviews
2017-11-09 06:13:39 -08:00
Alexander Kanevskiy
2a1496c2ea Make swap check as an error
Based on amount of support issues where warning about enabled
swap not noticed or ignored, it will be better to make this
check as an error.
2017-11-09 14:25:36 +02:00
Kubernetes Submit Queue
065e45087b Merge pull request #54868 from kad/kubeadm-issue-496
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: Extended KubeletVersionCheck

**What this PR does / why we need it**:
KubeletVersionCheck now able to detect if kubelet version
is higher than control plane. As this might lead to malfunctional
cluster setups, kubeadm will give warning.

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

**Special notes for your reviewer**:
/sig cluster-lifecycle
/area kubeadm

**Release note**:
```release-note
- kubeadm will produce error if kubelet too new for control plane
```
2017-11-09 04:12:49 -08:00
Dr. Stefan Schimanski
bec617f3cc Update generated files 2017-11-09 12:14:08 +01:00
Dr. Stefan Schimanski
012b085ac8 pkg/apis/core: mechanical import fixes in dependencies 2017-11-09 12:14:08 +01:00
xiangpengzhao
0faa96e7ff Use volumeutil.LoadPodFromFile for pod spec 2017-11-09 18:57:24 +08:00
Antonio Murdaca
46683b76fd kubeadm: use the CRI for preflights checks
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2017-11-09 11:42:43 +01:00
xiangpengzhao
a537cc2d72 Use const instead of hard-code for kubeadm usages 2017-11-09 16:03:47 +08:00
Kubernetes Submit Queue
d42be07e08 Merge pull request #52501 from rajansandeep/featurecoredns
Automatic merge from submit-queue (batch tested with PRs 54493, 52501, 55172, 54780, 54819). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add CoreDNS as feature in kubeadm

**What this PR does / why we need it**:
This PR adds CoreDNS as a DNS plugin via the feature-gate option in Kubeadm init.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
kubeadm: Add an experimental mode to deploy CoreDNS instead of KubeDNS
```
/cc @johnbelamaric
2017-11-08 15:41:14 -08:00
Alexander Kanevskiy
de272d0617 kubeadm: Extended KubeletVersionCheck
KubeletVersionCheck now able to detect if kubelet version
is higher than control plane. As this might lead to malfunctional
cluster setups, kubeadm will give warning.

Fixes: kubernetes/kubeadm#496
2017-11-08 23:36:27 +02:00
Andrew Rynhard
de3cf25224 Conditionally mount flexvolume 2017-11-08 07:05:29 -08:00
Kubernetes Submit Queue
e1de2ad507 Merge pull request #52562 from ironcladlou/kube-scheduler-config
Automatic merge from submit-queue (batch tested with PRs 53592, 52562, 55175, 55213). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Refactor kube-scheduler config API, command, and server setup

Refactor the kube-scheduler configuration API, command setup, and server setup according to the guidelines established in #32215 and using the kube-proxy refactor (#34727) as a model of a well factored component adhering to said guidelines.

* Config API: clarify meaning and use of algorithm source by replacing modality derived from bools and string emptiness checks with an explicit AlgorithmSource type hierarchy.
* Config API: consolidate client connection config with common structs.
* Config API: split and simplify healthz/metrics server configuration.
* Config API: clarify leader election configuration.
* Config API: improve defaulting.
* CLI: deprecate all flags except `--config`.
* CLI: port all flags to new config API.
* CLI: refactor to match kube-proxy Cobra command style.
* Server: refactor away configurator.go to clarify application wiring.
* Server: refactor to more clearly separate wiring/setup from running.

Fixes https://github.com/kubernetes/kubernetes/issues/52428.

@kubernetes/api-reviewers 
@kubernetes/sig-cluster-lifecycle-pr-reviews 
@kubernetes/sig-scheduling-pr-reviews 

/cc @ncdc @timothysc @bsalamat

```release-note
The kube-scheduler command now supports a `--config` flag which is the location of a file containing a serialized scheduler configuration. Most other kube-scheduler flags are now deprecated.
```
2017-11-07 11:21:19 -08:00
Kubernetes Submit Queue
552d2b35bd Merge pull request #55237 from andrewsykim/kubeadm-remove-priority-admission
Automatic merge from submit-queue (batch tested with PRs 53273, 55058, 55237, 50140). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: remove priority admission controller for v1.9

**What this PR does / why we need it**:
Removes Priority Admission Controller in kubeadm since it's currently in alpha. 

**Release note**:
```release-note
Removes Priority Admission Controller from kubeadm since it's alpha. 
```

cc @luxas
2017-11-07 09:39:42 -08:00
Sandeep Rajan
f3dc622032 adding coredns as a featuregate 2017-11-07 12:32:42 -05:00
Kubernetes Submit Queue
dd70d3c28b Merge pull request #55166 from kad/kubeadm-issue-522
Automatic merge from submit-queue (batch tested with PRs 55214, 55166). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: don't create duplicate volume/mount

**What this PR does / why we need it**:
If certificates for etcd are located in the same directory or
subdirectories of kubernetes pki directory, don't create separate
volumes and mounts in manifests.

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

**Special notes for your reviewer**:
/sig cluster-lifecycle 
/area kubeadm

**Release note**:
```release-note
NONE
```
2017-11-07 08:01:20 -08:00
Dan Mace
efb2bb71cd Refactor scheduler config API
Refactor the kube-scheduler configuration API, command setup, and server
setup according to the guidelines established in #32215 and using the
kube-proxy refactor (#34727) as a model of a well factored component
adhering to said guidelines.

* Config API: clarify meaning and use of algorithm source by replacing
modality derived from bools and string emptiness checks with an explicit
AlgorithmSource type hierarchy.
* Config API: consolidate client connection config with common structs.
* Config API: split and simplify healthz/metrics server configuration.
* Config API: clarify leader election configuration.
* Config API: improve defaulting.
* CLI: deprecate all flags except `--config`.
* CLI: port all flags to new config API.
* CLI: refactor to match kube-proxy Cobra command style.
* Server: refactor away configurator.go to clarify application wiring.
* Server: refactor to more clearly separate wiring/setup from running.

Fixes #52428.
2017-11-07 09:41:39 -05:00
Dan Mace
25ca287707 Update generated files 2017-11-07 09:41:35 -05:00
Joe Betz
a00340afb3 Merge pull request #54640 from mattmoyer/kubeadm-fix-init-token-ttl
Fix `kubeadm init --token-ttl=0`/config `tokenTTL: "0"`.
2017-11-07 06:33:27 -08:00
andrewsykim
7be4926758 kubeadm: remove priority admission controller for v1.9 2017-11-07 08:28:05 -05:00
Matt Moyer
8ab898f858 Fix kubeadm init --token-ttl=0/config tokenTTL: "0".
This was broken because the API machinery defaulting mechanism couldn't differentiate between an unset value (which should default to 24 hours) and a value explicitly set to 0 (which should mean infinite).

The fix is to change `TokenTTL` from a `metav1.Duration` to `*metav1.Duration` so that `nil` can represent the unspecified value.

This bug was introduced in https://github.com/kubernetes/kubernetes/pull/48783.
2017-11-07 07:24:52 -06:00
Alexander Kanevskiy
13ffe2cf4e kubeadm: don't create duplicate volume/mount
If certificates for etcd are located in the same directory or
subdirectories of kubernetes pki directory, don't create separate
volumes and mounts in manifests.

Fixes kubernetes/kubeadm#522
2017-11-06 16:00:11 +02:00
Lion-Wei
0a60be5c0a kubeadm mount path '/lib/modules' 2017-11-06 10:18:10 +08:00
Kubernetes Submit Queue
210626577b Merge pull request #54750 from ss22ever/branch1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Stop using the PersistentVolumeLabel admission controller in v1.9

**What this PR does / why we need it**:
Stop using the PersistentVolumeLabel admission controller in v1.9, as in v1.9, we're targeting out-of-tree cloud providers to be ready to use more generally as part of moving to beta.

**Which issue this PR fixes**:
 fixes kubernetes/kubeadm#444
2017-11-05 14:00:46 -08:00
root
824cf1f960 Stop using the PersistentVolumeLabel admission controller in v1.9 2017-11-05 19:43:58 +00:00
Kubernetes Submit Queue
5691a8d4fe Merge pull request #54721 from runcom/reset-remove-dockerism
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: reset: use crictl to reset containers

@luxas PTAL



Signed-off-by: Antonio Murdaca <runcom@redhat.com>



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

This patch makes kubeadm to try and reset containers using `crictl` first instead of docker. The reason is that kubeadm reset is ineffective with new container runtimes using the CRI (like CRI-O).
This patch uses `crictl` first and falls back to `docker` in case `crictl` isn't available. 

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

Fix https://github.com/kubernetes/kubeadm/issues/508

**Special notes for your reviewer**:

**Release note**:

```release-note
kubeadm: reset: use crictl to reset containers
```
2017-11-04 14:49:52 -07:00
Daneyon Hansen
1d47893608 Adds Support for Configurable Kubeadm Probes. 2017-11-03 10:42:29 -07:00
Antonio Murdaca
bb0cd2714b kubeadm: reset: use crictl to reset containers
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2017-11-02 15:58:56 +01:00
Kubernetes Submit Queue
574492aed6 Merge pull request #53553 from bsteciuk/kubeadm-windows
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Kubeadm - Added initial support for Windows worker nodes to join cluster using kubeadm

**What this PR does / why we need it**:
This PR adds initial support for adding a Windows worker node to a Kubernetes cluster with kubeadm.  Also adds Windows build of kubeadm to node build targets. 

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

**Special notes for your reviewer**:

Depends on #53730 

**Release note**:

```release-note
kubeadm: Add support for adding a Windows node
```
2017-11-01 14:58:58 -07:00
Kubernetes Submit Queue
f5b6dd8709 Merge pull request #53962 from Lion-Wei/kubeadm-ipvs
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

support kube-proxy ipvs mode for kubeadm

**What this PR does / why we need it**:
When using `kubeadm` to build a cluster, you can chose kube-proxy with ipvs mode by add flag `--kube-proxy-mode=ipvs`.

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

**Special notes for your reviewer**:
By default, use `iptables` mode. 
**Release note**:
```release-note
NONE
```
2017-11-01 09:04:56 -07:00
Kubernetes Submit Queue
96067e6d7b Merge pull request #54543 from jamiehannaford/self-hosted-etcd-api
Automatic merge from submit-queue (batch tested with PRs 49840, 54937, 54543). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add self-hosted etcd API to kubeadm

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

This PR is part of a larger set that implements self-hosted etcd. This PR takes a first step by adding:

1. new API types in `cmd/kubeadm/app/apis` for configuring self-hosted etcd 
2. new Go types in `cmd/kubeadm/app/phases/etcd/spec` used for constructing EtcdCluster CRDs for the etcd-operator. The reason we define these in trunk is because kubeadm cannot import `github.com/coreos/etcd-operator` as a dependency until it's in its own repo. Until then, we need to redefine the structs in our codebase.

**Which issue this PR fixes**:

https://github.com/kubernetes/kubeadm/issues/261
https://github.com/kubernetes/kubeadm/issues/277

**Special notes for your reviewer**:

This is the first step PR in order to save reviewers from a goliath PR

**Release note**:
```release-note
NONE
```
2017-11-01 08:20:28 -07:00
Kubernetes Submit Queue
746cc43f4b Merge pull request #54937 from xiangpengzhao/remove-kubeadm-const
Automatic merge from submit-queue (batch tested with PRs 49840, 54937, 54543). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove MinimumCSRAutoApprovalClusterRolesVersion in 1.9 cycle.

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

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

**Special notes for your reviewer**:
Have we already bumped the minimum supported version to v1.8.0?
/cc @luxas 

**Release note**:

```release-note
NONE
```
2017-11-01 08:20:25 -07:00
Kubernetes Submit Queue
c119a60946 Merge pull request #49840 from andrewrynhard/variable_certs_dir
Automatic merge from submit-queue (batch tested with PRs 49840, 54937, 54543). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: Make it possible to configure volume mounts via the config file

**What this PR does / why we need it**:
Kubeadm mounts host CA certs into api server and controller manager. It uses `/etc/pki` and does not allow for the path to be configurable. This PR adds a default to `/etc/pki` but also allows a user to configure the path in the config file. In the case of using Container Linux, the CAs are located at `/usr/share/ca-certificates`, so without this PR the hardcoded `/etc/pki` path is used and will break, for example, the `--cloud-provider` flag because of missing CAs.

Fixes https://github.com/kubernetes/kubeadm/issues/484
Fixes https://github.com/kubernetes/kubeadm/issues/476
Fixes https://github.com/kubernetes/kubeadm/issues/441

/cc @luxas
2017-11-01 08:20:22 -07:00
Bob Steciuk
44fbec29c4 Kubeadm - Added initial support for Windows worker nodes to join cluster using kubeadm
Added kubeadm to node build targets

Created unix/windows specific conditionally compiled for checks.go and defaults.go
2017-11-01 10:36:37 -04:00
xiangpengzhao
df81ecf396 Remove MinimumCSRAutoApprovalClusterRolesVersion in 1.9 cycle. 2017-11-01 20:51:32 +08:00
Jamie Hannaford
c19d146f87 Add generated files 2017-11-01 11:40:52 +01:00
Jamie Hannaford
5eae39d688 Add selfHosted etcd API 2017-11-01 11:40:44 +01:00
Andrew Rynhard
5a64c049e6 Allow extra volumes to be defined 2017-10-31 21:44:45 -07:00
Shijun Qin
ad336e57cf fix a grammatical problem in a comment 2017-10-31 20:03:56 +08:00
Kubernetes Submit Queue
eb658d699a Merge pull request #54016 from praseodym/kubeadm-upgrade-plan-offline
Automatic merge from submit-queue (batch tested with PRs 54160, 54016). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix `kubeadm upgrade plan` for offline operation

**What this PR does / why we need it**:
This PR allows `kubeadm upgrade plan` to work in firewalled/offline/otherwise restricted environments by ignoring errors when trying to reach dl.k8s.io. Instead, we fall back to the current kubeadm version as the latest stable version. This is a reasonable as a user is [expected to install a recent version of kubeadm before upgrading](https://kubernetes.io/docs/tasks/administer-cluster/kubeadm-upgrade-1-8/#upgrading-your-control-plane).

**Which issue this PR fixes**: Fixes kubernetes/kubeadm#498

**Special notes for your reviewer**: Should preferably be cherrypicked to 1.8.

```release-note
Fix `kubeadm upgrade plan` for offline operation: ignore errors when trying to fetch latest versions from dl.k8s.io
```
2017-10-31 01:23:18 -07:00
Lion-Wei
abe8df611b support kube-proxy ipvs mode for kubeadm 2017-10-31 10:37:22 +08:00
Andrew Rynhard
cfddee4f7a Fix the DNS addon bind address 2017-10-28 22:07:29 -07:00
Andrew Rynhard
6daba6a272 Add generated files 2017-10-28 12:07:07 -07:00
Kubernetes Submit Queue
74cc7dcbf3 Merge pull request #53072 from alrs/fix-kubeadm-swallowed-errors
Automatic merge from submit-queue (batch tested with PRs 54644, 53072). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix kubeadm swallowed errors

**What this PR does / why we need it**: Fixes nine swallowed errors in kubeadm, and adds descriptive error returns to Init.Run().

**Special notes for your reviewer**: I've resubmitted this PR after it required a rebase. Previously, I submitted this PR as https://github.com/kubernetes/kubernetes/pull/52591

```release-note NONE
```
2017-10-28 07:26:26 -07:00
Kubernetes Submit Queue
481323c876 Merge pull request #54437 from danehans/kubeadm_dns_bindaddr
Automatic merge from submit-queue (batch tested with PRs 54437, 54714, 54720). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Adds support for v4/v6 loopback dns bind address.

**What this PR does / why we need it**:
Previously, IPv4 Loopback addresses (127.0.0.1) were hard coded into the kubeadm dns deployment manifest. This PR adds support for using an IPv6 Loopback (::1) when the kube-dns Service IP is an IPv6 address.

**Special notes for your reviewer**:
Required for IPv6-only deployments.

**Release note**:
```NONE
```

/area ipv6
/sig network
2017-10-27 16:51:21 -07:00
Kubernetes Submit Queue
d5d512c8a9 Merge pull request #54639 from danehans/dns_update
Automatic merge from submit-queue (batch tested with PRs 54331, 54655, 54320, 54639, 54288). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Updates kube-dns in kubeadm to 1.14.7

**What this PR does / why we need it**:
Adds support for the latest kube-dns image (1.14.7) introduced by https://github.com/kubernetes/kubernetes/pull/54443

**Special notes for your reviewer**:
Required for IPv6 support.

/area ipv6
/sig network

**Release note**:
```NONE
```
2017-10-27 15:42:27 -07:00
Kubernetes Submit Queue
633ca56494 Merge pull request #54539 from jamiehannaford/add-ha-feature-gate
Automatic merge from submit-queue (batch tested with PRs 54593, 54607, 54539, 54105). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add HA feature gate and minVersion validation

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

As we add more feature gates, there might be occasions where a feature is only available on newer releases of K8s. If a user makes a mistake, we should notify them as soon as possible in the init procedure and not them go down the path of hard-to-debug component issues.

Specifically with HA, we ideally need the new `TaintNodesByCondition` (added in v1.8.0 but working in v1.9.0).

**Which issue this PR fixes:**

kubernetes/kubeadm#261
kubernetes/kubeadm#277

**Release note**:
```release-note
Feature gates now check minimum versions
```

/cc @kubernetes/sig-cluster-lifecycle-pr-reviews @luxas @timothysc
2017-10-26 11:13:40 -07:00
Daneyon Hansen
c65520b421 Updates kube-dns in kubeadm to 1.14.7 2017-10-26 09:13:30 -07:00
Jamie Hannaford
0ff425db4f add HA gate and minVersion validation 2017-10-26 09:26:04 +02:00
Lars Lehtonen
1884055329 cmd/kubeadm/app/util/apiclient: fix swallowed errors
cmd/kubeadm/app/phases/upgrade: fix swallowed error

cmd/kubeadm/app/phases/selfhosting: fix swallowed errors

cmd/kubeadm/app/phases/certs: fix swallowed errors

cmd/kubeadm/app/cmd: fix swallowed error

cmd/kubeadm/app/cmd: descriptive error returns

cmd/kubeadm/app/cmd: govet fixes

cmd/kubeadm: error formatting
2017-10-25 18:10:21 -07:00
Daneyon Hansen
d4f2fbc39a Adds support for v4/v6 loopback dns bind address. 2017-10-23 13:49:08 -07:00