Commit Graph

32 Commits

Author SHA1 Message Date
Ed Bartosh
bfb08bbb7b move runtime details into ContainerRuntime
Created ContainerRuntime and used it in preflight checks,
'reset' and 'image' modules.
2018-07-16 12:20:04 +03:00
fabriziopandini
a6b0410f83 Automated rename from NodeConfiguration to JoinConfiguration 2018-07-13 22:52:41 +02:00
Lucas Käldström
52f0591ad9
Automated rename from MasterConfiguration to InitConfiguration 2018-07-09 04:55:02 +03:00
Chuck Ha
2f2de31d3d
Prepulls images by default
kubeadm now pulls container images before the init step if it cannot find them on the system

* This commit also cleans up a dependency cycle

Closes #825
2018-05-25 14:26:29 -04:00
Lucas Käldström
099e60b1db
kubeadm: Refactor the .Etcd substruct in the v1alpha2 API 2018-05-23 21:13:32 +03:00
Di Xu
95b4ce0b3c Update kubeadm's minimum supported kubernetes in v1.11.x to 1.10 2018-05-17 20:32:23 +08:00
Chuck Ha
9f21f5dd1e
Remove ExtraArgs kubeadm preflight check
This check pulled in a number of dpendencies that bloated the dep graph.

The feature itself was not worth an extra 500 dependencies so we decided
to remove the feature.

Closes kubernetes/kubeadm#497

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-05-09 14:09:57 -04:00
Kubernetes Submit Queue
72e0256935
Merge pull request #59057 from JordanFaust/add-cri-socket-to-kubeadm-master-manifest
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add criSocket to kubeadm MasterConfiguration manifest

**What this PR does / why we need it**:
Adds a criSocket field to the MasterConfiguration manifest used by kubeadm. This field configures the cri socket that kubeadm uses during preflight checks.  

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

**Special notes for your reviewer**:

kubeadm does not allow the use of --config and the --cri-socket flag together. When using kubeadm to create a cluster that will not be using docker, the preflight checks fail since this is not configurable. This PR adds the criSocket to the MasterConfiguration manifest and uses that value within the MasterConfiguration if it was provided. 

Storing the value of the criSocket within the MasterConfiguration manifest will also make joining additional masters with the proposed 'kubeadm join --master' command by not requiring operators to remember to include an additional flag. This may not be the case if we instead relaxed the constraint of using additional flags when using the --config flag is set.

**Release note**:
/area kubeadm
/assign @luxas
/cc @kubernetes/sig-cluster-lifecycle-pr-reviews

```release-note
kubeadm: add criSocket field to MasterConfiguration manifiest
```
2018-02-21 04:22:31 -08:00
Kubernetes Submit Queue
a90e43ca32
Merge pull request #59292 from JordanFaust/add-cri-socket-to-node-configuration
Automatic merge from submit-queue (batch tested with PRs 59292, 59600). 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 criSocket to kubeadm NodeConfiguration manifest

**What this PR does / why we need it**:
Adds a criSocket field to the NodeConfiguration manifest used by kubeadm. This field configures the cri socket that kubeadm uses during preflight checks.  

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

**Special notes for your reviewer**:

This is a follow up PR, as requested, to https://github.com/kubernetes/kubernetes/pull/59057. The NodeConfiguration manifest now has a criSocket field that can be used when using the config manifest to join a node to the cluster.

**Release note**:
/area kubeadm
/assign @luxas
/cc @kubernetes/sig-cluster-lifecycle-pr-reviews

```release-note
kubeadm: add criSocket field to NodeConfiguration manifiest
```
2018-02-21 03:25:30 -08:00
Jordan Faust
2c956cf19e Add criSocket to kubeadm MasterConfiguration manifest 2018-02-13 14:18:24 -06:00
Jordan Faust
62dddb7853 Add criSocket to kubeadm NodeConfiguration manifest 2018-02-13 09:16:23 -06:00
Robert Pothier
4da39ae75d Update Kubeadm proxy handling for IPv6
This updates HTTPProxyCheck with brackets around
the ipv6 address to handle adding :port
2018-02-09 13:15:47 -05:00
Ed Bartosh
3bdfdda99b Reimplement 2 tests using fakeexec
Used fakeexec API from utils/exec/testing to test
GetKubeletVersion and KubeletVersionCheck APIs without
running kubelet.
2018-02-07 11:55:44 +02:00
Chuck Ha
265a57c11f
Adds breadcrumb to crictl warning
Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-01-26 13:06:12 -05:00
Alexander Kanevskiy
3a0aa06fc9 kubeadm: rename flag to --ignore-preflight-errors
Improves user experience by using name that is more
descriptive.
2017-11-23 15:37:57 +02:00
Alexander Kanevskiy
e42eb28500 Implement individual control for kubeadm preflight checks
With new flag `--ignore-checks-errors` user is able to
decrease severity of each individual check to warning.

Old flag `--skip-preflight-checks` now acts as
`--ignore-checks-errors=all` and will produce warnings.

Fixes: kubernetes/kubeadm#480
2017-11-21 13:35:38 +02:00
Kubernetes Submit Queue
d215d4bf8c
Merge pull request #55055 from runcom/check-with-crictl
Automatic merge from submit-queue (batch tested with PRs 55380, 55399, 55377, 55055). 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: use the CRI for preflights checks

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



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

Add preflights checks to be performed using `crictl` and the kubernetes CRI instead of relying on docker.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
kubeadm: use the CRI for preflights checks
```

@luxas PTAL
2017-11-09 07:38:45 -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
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
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
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
Feng Min
a25161a96a Kubeadm: Add some validation for external etcd config 2017-10-02 16:30:04 -07:00
fabriziopandini
9730b82fcf kubeadm preflight - enforce maximum supported Kubernetes version 2017-08-21 22:05:13 +02:00
xilabao
e7f6376b1a add extra args validate 2017-06-20 10:11:43 +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
bruceauyeung
0314dc2715 preflight check external etcd version
Signed-off-by: bruceauyeung <ouyang.qinhua@zte.com.cn>
2017-02-24 17:24:19 +08:00
Derek McQuay
63327647a5
kubeadm: added tests for preflight checks
increased coverage from ~9% to ~71%
2017-02-08 17:38:14 -08:00
Derek McQuay
8f0f09c0fe kubeadm: updated preflight types to avoid stutter
PreFlightError and PreFlightCheck to Error and Checker to avoid
preflight.PreFlightError and preflight.PreFlightCheck stutter.
2017-01-10 16:20:38 -08:00
Lucas Käldström
b0603046b4 Fix review feedback, bazel files, tests and the dnsmasq-metrics spec. Set --kubelet-preferred-address-types on v1.5 and higher clusters 2016-12-09 22:16:37 +02:00
Lucas Käldström
95d97a0e8e Mark socat, ethtool and ebtables as soft deps, since kubelet can be run in a container. Also refactor preflight.go a little bit and improve logging 2016-12-09 12:48:11 +02:00
Derek McQuay
a5919a9340
kubeadm: added unit test for app/preflight pkg 2016-10-29 09:40:06 -04:00