Commit Graph

193 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Kubernetes Submit Queue
abfaada4f8 Merge pull request #52792 from kad/warn-cidrs
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>.

Warn user if Pod/Service networks will be accessed via proxy.

**What this PR does / why we need it**:
In environments where HTTP proxies are used, it is important
to whitelist Pod and Services network ranges in the NO_PROXY
variable, so cluster will be properly operational.

**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  will warn users if access to IP ranges for Pods or Services will be done via HTTP proxy.
```
2017-10-21 14:53:41 -07:00
Robert Pothier
9ad3116f10 Kubeadm should check for bridge-nf-call-ip6tables
With this change, Kubeadm will check that
/proc/sys/net/bridge/bridge-nf-call-ip6tables is set to 1 in
preflight when using IPv6. This is similar to how it currenltly checks for
bridge-nf-call-iptables.
2017-10-19 15:54:21 -04:00
Jeff Grafton
aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Alexander Kanevskiy
1ed7692499 Warn user if Pod/Service networks will be accessed via proxy.
In environments where HTTP proxies are used, it is important
to whitelist Pod and Services network ranges in the NO_PROXY
variable, so cluster will be properly operational.
2017-10-15 11:07:01 +03:00
Kubernetes Submit Queue
6ad426e8b1 Merge pull request #53352 from medinatiger/etcd
Automatic merge from submit-queue (batch tested with PRs 53776, 53786, 53352, 51567). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Kubeadm: Add some validation for external etcd config

**What this PR does / why we need it**:
This PR add file existing check for etcd cert files.

**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/342
**Special notes for your reviewer**:
Unlike issue https://github.com/kubernetes/kubeadm/issues/342 said, we already have etcd version check which include extensive validation including file format etc. This PR simply added some file existing check upfront for being more user friendly.

**Release note**:

```release-note
NONE
```
2017-10-12 19:27:37 -07:00
Jordan Liggitt
8c25265314 Change default --cert-dir for kubelet to a non-transient location 2017-10-03 02:26:26 -04:00
Feng Min
a25161a96a Kubeadm: Add some validation for external etcd config 2017-10-02 16:30:04 -07:00
Alexander Kanevskiy
521c84aa89 Detect major version mismatches between kubeadm and kubelet.
Kubeadm supports only one minor release back, thus for 1.9
it requires minimum kubelet from 1.8.

Fixes: kubernetes/kubeadm#430
2017-09-26 12:56:03 +03:00
Serguei Bezverkhi
42bd500134 kubeadm golint clean up
Closes #375
2017-09-23 08:07:55 -04:00
Alexander Kanevskiy
2e12787ae5 kubeadm: preflight check for enabled swap
Recent versions of kubelet require special flags if runned
on the system with enabled swap. Thus, remind user about either
disabling swap or add appropriate flag to kubelet settings
2017-08-29 21:44:07 +03:00
fabriziopandini
9730b82fcf kubeadm preflight - enforce maximum supported Kubernetes version 2017-08-21 22:05:13 +02:00
Jeff Grafton
a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton
33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
Edmund Rhudy
fea25a61c1 Fixes kubernetes/kubeadm#347
Node name discovery failed on `kubeadm join`. If a node name
is not explicitly provided, it will be looked up.
2017-07-31 14:31:27 -04:00
Kubernetes Submit Queue
d3ff93efff Merge pull request #49018 from luxas/kubeadm_cleanup_kubernetesdir
Automatic merge from submit-queue (batch tested with PRs 49019, 48919, 49040, 49018, 48874)

kubeadm: Remove the old KubernetesDir envparam

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

The last piece of https://github.com/kubernetes/kubernetes/issues/48053 for moving the env params into the API, and the KubernetesDir into a constant.

After this pretty mechanical change, we might offer short-hand functions in constants like `GetStaticPodManifestDir()` etc easily in order to centralize the `filepath.Join` logic into one place.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
cc @kubernetes/sig-cluster-lifecycle-pr-reviews @fabriziopandini
2017-07-17 21:25:11 -07:00
Kubernetes Submit Queue
023fed7176 Merge pull request #49019 from luxas/kubeadm_remove_old_comments
Automatic merge from submit-queue

kubeadm: Remove some old comments

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

Removes old and outdated comments.

**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
2017-07-17 21:13:59 -07:00
Lucas Käldström
66328996f2 kubeadm: Remove the old KubernetesDir envparam 2017-07-17 14:40:53 +03:00
Ghe Rivero
8181fd29b2 Add node-name flag to init 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-12 12:40:25 +02:00
Kubernetes Submit Queue
b44a084ad3 Merge pull request #42783 from xilabao/add-extra-args-validate
Automatic merge from submit-queue (batch tested with PRs 48196, 42783, 48507, 47719, 46138)

add extra args validate

`ExtraArgsCheck` return warnings not errors. because kubeadm may create the newer version control plane, there are new arguments that kubeadm doesn't know.
2017-07-11 23:09:09 -07:00
Lucas Käldström
0cbabdd9f7 kubeadm: Remove some old comments 2017-06-30 17:22:08 +03: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
xilabao
2061fa6717 1. Fix create volume of CertificatesDir.
2. Replace "manifests" to kubeadmconstants.ManifestsDirName
2017-06-01 09:17:10 +08: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
Mike Danese
a05c3c0efd autogenerated 2017-04-14 10:40:57 -07:00
Jamie Hannaford
7e82985f6d Allow configurable etcd options 2017-04-10 12:00:11 +02: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
xilabao
68f69b2c73 Allow multiple providers for authorizationMode 2017-04-06 10:31:59 +08: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
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
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
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
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
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
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
3c322d04de kubeadm: Always enable RBAC, validate authz mode and improve the code slightly 2017-02-23 15:30:24 +02: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
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
40f147fe95 Merge pull request #41220 from errordeveloper/fix-hostname-preflight-check
Automatic merge from submit-queue (batch tested with PRs 41223, 40892, 41220, 41207, 41242)

kubeadm: preflight should only warn about unresolvable hostnames

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

This is quite often the case on AWS, and we really don't care if
the hostname is resolvable or not. It's not an easy requirement
to ask user to fix, and there is no functional penalty at the
Kubernetes level, also it's possible that users fixes their host
resolution eventually, we don't have to make them do so.

**Special notes for your reviewer**: @dmmcquay @luxas PTAL 👍 

**Release note**:

```release-note
NONE
```
2017-02-10 13:35:44 -08:00