Commit Graph

2395 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
8326ea71a3 Merge pull request #74403 from ping035627/k8s-190222
Code cleanup and refactoring
2019-02-25 20:28:09 -08:00
vanduc95
0296cfb2b8 kubeadm cleanup: master -> control-plane (cont.5) 2019-02-26 09:04:54 +07:00
PingWang
1a439cc646 Add port constants
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

use pkg/master/ports constants

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update-bazel

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-26 09:18:15 +08:00
zhouxiaoning
802c751053 纠正join 2019-02-26 09:10:00 +08:00
Lubomir I. Ivanov
de5e17e6c3 kubeadm/phases: use common interfaces for init and join phases
The custom sub-set interfaces in init/join phases as a pattern
have isolation benefits - e.g. when a consumer imports these
but we don't want them to be able to call all methods from
the original object that satisfies a complete interface.

On the other hand these sub-set interfaces under phases/init
and phases/join are private.

Expose a couple of new common interfaces:
- InitData from phases/init/data.go
- JoinData from phases/join/data.go

Use these interfaces in init/join phases accordingly instead
of the sub-set interfaces.

Use compile-time type assertion to verify that these
interfaces can be satisfied by init.go's initData and
join.go's joinData.

Add NO-OP objects called testInitData and joinInitData
that can be used for unit testing if embedded.
2019-02-26 02:23:50 +02:00
Kubernetes Prow Robot
4b8ecd68f3 Merge pull request #74509 from ping035627/k8s-190225-1
Fix typos
2019-02-25 15:15:51 -08:00
Kubernetes Prow Robot
b22da83307 Merge pull request #74473 from vanduc95/cleanup-kubeadm-cont.4-20190223
kubeadm cleanup: master -> control-plane (cont.4)
2019-02-25 15:15:30 -08:00
Dmitry Rozhkov
226843fe28 kubeadm: move duplicated code into enforceRequirements()
and to a new function getK8sVersionFromUserInput().

Also drop applyPlanFlags.ignorePreflightErrorsSet field which is not
a command line option.
2019-02-25 16:26:20 +02:00
PingWang
88d6e89279 Fix typos
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-25 17:12:44 +08:00
RA489
a0ee4b471d Refactor etcd client function have same signatures in etcd.go 2019-02-25 12:54:12 +05:30
ducnv
e11916da8e kubeadm cleanup: master -> control-plane (cont.4) 2019-02-25 08:29:19 +07:00
Kubernetes Prow Robot
5312ade3d1 Merge pull request #74457 from neolit123/fix-kubeproxy-winkernel
kubeadm: fix issue with missing kubeproxy fields in test data
2019-02-23 14:05:15 -08:00
Lubomir I. Ivanov
b2cc473388 kubeadm: fix issue with missing kubeproxy fields in test data 2019-02-23 19:13:16 +02:00
Ed Bartosh
f8d235be9e kubeadm: fix url validation code
Fixed nil pointer dereference in url validation code that
caused kubeamd panic:

  panic: runtime error: invalid memory address or nil pointer dereference
  [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xa7930c]

  goroutine 1 [running]:
  kubeadm/validation.ValidateURLs(0x40000bafe0, 0x2, 0x2, 0x1, 0x40002967b0, 0x0, 0x40002967b0, 0xf302a0)
    kubeadm/validation/validation.go:324 +0xcc
  kubeadm/validation.ValidateEtcd(0x400000b490, 0x4000296720, 0x0, 0x0, 0x0)
    kubeadm/validation/validation.go:291 +0x1f0
      ...

Fixes: kubernetes/kubeadm#1419

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2019-02-23 16:48:22 +01:00
Kubernetes Prow Robot
8993fbc543 Merge pull request #74328 from daixiang0/delete-blank
delete all duplicate empty blanks
2019-02-23 01:43:58 -08:00
Kubernetes Prow Robot
b5566c7818 Merge pull request #71896 from awly/client-go-keyutil
client-go: extract new keyutil package from util/cert
2019-02-23 01:43:16 -08:00
Kubernetes Prow Robot
1d2d2d0ab2 Merge pull request #74390 from vanduc95/cleanup-kubeadm-cont.3-20190222
kubeadm cleanup: master -> control-plane (cont.3)
2019-02-22 23:27:40 -08:00
Kubernetes Prow Robot
e4302c96e1 Merge pull request #74428 from bart0sh/PR0063-kubeadm-remove-dead-code
kubeadm: remove dead code
2019-02-22 19:19:27 -08:00
vanduc95
57d04cafee kubeadm cleanup: master -> control-plane (cont.3) 2019-02-23 10:19:26 +07:00
Kubernetes Prow Robot
65cdd7e74a Merge pull request #74400 from rojkov/kubeadm-refactor-etcdClient
kubeadm: simplify creating etcdClient
2019-02-22 19:19:16 -08:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
Ed Bartosh
39871f565d kubeadm: remove dead code
Removed unused functions and variables from
the kubeadm codebase.
2019-02-22 23:01:14 +01:00
PingWang
8fef7221a1 Code cleanup and refactoring
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-22 16:48:00 +08:00
Kubernetes Prow Robot
9e53b85d28 Merge pull request #74112 from pytimer/kubeadm-reset
kubeadm: Remove etcd members from the etcd cluster when reset the nodes
2019-02-22 00:19:40 -08:00
Dmitry Rozhkov
926d9012a4 kubeadm: simplify creating etcdClient
There is no need to overshadow `client` with a transitive variable
used solely for transfering its value to `etcdClient`.
2019-02-22 09:41:46 +02:00
Kubernetes Prow Robot
9dbc8912d9 Merge pull request #74355 from brb/kubeadm-support-kernel-5
kubeadm: Support >= 5.0 Linux kernel
2019-02-21 17:47:40 -08:00
pytimer
83f5296a14 kubeadm: Remove etcd member from the etcd cluster when reset the control plane node 2019-02-22 09:13:01 +08:00
Kubernetes Prow Robot
739af85d7a Merge pull request #74064 from vanduc95/cleanup-kubeadm-cont.2-20190214
kubeadm cleanup: master -> control-plane (cont.2)
2019-02-21 10:43:07 -08:00
Martynas Pumputis
148b222d97 kubeadm: Support >= 5.0 Linux Kernel
Signed-off-by: Martynas Pumputis <m@lambda.lt>
2019-02-21 17:31:15 +01:00
Kubernetes Prow Robot
62ba022249 Merge pull request #74329 from ping035627/k8s-190221
Delete unuse const and fix some typos
2019-02-21 08:04:10 -08:00
Kubernetes Prow Robot
2721ca28ee Merge pull request #74256 from rojkov/kubeadm-refactor-drop-newK8sVersionStr
kubeadm: drop applyFlags.newK8sVersionStr field
2019-02-21 08:03:58 -08:00
PingWang
ac132aae60 Delete unuse const and fix some typos
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-21 11:09:09 +08:00
vanduc95
ae1ec8826a kubeadm cleanup: master -> control-plane (cont.2) 2019-02-21 10:02:24 +07:00
xichengliudui
fb7bc5c4ea Fix the legacy of #74479 2019-02-20 17:09:30 -05:00
Kubernetes Prow Robot
c06ca11b5d Merge pull request #70896 from ksubrmnn/overlay_dsr
Adding Windows Overlay support to Kube Proxy
2019-02-20 12:53:13 -08:00
Kubernetes Prow Robot
b4a2b63561 Merge pull request #73907 from yagonobre/init-upload-certs
Add kubeadm init upload encrypted certs phase
2019-02-20 11:33:44 -08:00
Kubernetes Prow Robot
b0f6857f92 Merge pull request #74277 from neolit123/fix-join-phase
kubeadm/join: expose the KubeConfigPath() method to joinData
2019-02-20 07:44:57 -08:00
Lubomir I. Ivanov
5db0c61788 kubeadm/join: expose the KubeConfigPath() method to joinData
This fixes the following error:
"error execution phase control-plane-join/etcd:
control-plane-join phase invoked with an invalid data struct"

The problem here is that joinData cannot be type-asserted
to the interface type under controlplanejoin.go (controlPlaneJoinData)
because joinData lacks KubeConfigPath.

Given we use KubeConfigPath in more than one place for join
it makes sense to define define the method and make it return:
kubeadmconstants.GetAdminKubeConfigPath()
2019-02-20 14:17:53 +02:00
Kubernetes Prow Robot
7b203c6809 Merge pull request #74137 from rajansandeep/readinessprobe
Add readinessProbe to CoreDNS
2019-02-19 16:24:04 -08:00
Kubernetes Prow Robot
2911e86e0e Merge pull request #73452 from RA489/graduate-control-plane-join-phase
kubeadm: graduate control plane join phase
2019-02-19 09:55:23 -08:00
Andrew Lytvynov
18458392ca Extract new keyutil package from client-go/util/cert
This package contains public/private key utilities copied directly from
client-go/util/cert. All imports were updated.

Future PRs will actually refactor the libraries.

Updates #71004
2019-02-19 09:48:59 -08:00
Kubernetes Prow Robot
cd07a336f1 Merge pull request #73775 from yagonobre/init-certs
Remove todos from init upload certs
2019-02-19 08:37:18 -08:00
Lubomir I. Ivanov
363c778d45 kubeadm: use DefValue for the --kubeconfig flag
- Rename FindExistingKubeConfig to GetKubeConfigPath

- Cobra supports a DefValue option which can be used
to differentiate between the cases where the user set a flag
and when a flag was unset, while still adding a default value.
Use this in options/generic.go for the kubeconfig flag.

- Remove the GetKubeConfigPath() logic from `reset` and `upgrade`
as these are node level kubeadm commands.

- Default kubeconfig values to "" everywhere where GetKubeConfigPath
is used. This allows to search for existing kubeconfig locations.
2019-02-19 17:35:37 +02:00
Sandeep Rajan
37c3d68a91 Add readinessProbe 2019-02-19 10:14:12 -05:00
Dmitry Rozhkov
45ed7ae051 kubeadm: drop applyFlags.newK8sVersionStr field
The structure `applyFlags` is meant to keep a user's
input from command line and as such should be immutable.

Use either a variable or the validated `InitConfig.KubernetesVersion`
field instead.
2019-02-19 15:42:32 +02:00
Rostislav M. Georgiev
f64baf755e kubeadm: Don't load deprecated configs
Currently kubeadm supports a couple of configuration versions - v1alpha3 and
v1beta1. The former is deprecated, but still supported.

To discourage users from using it and to speedup conversion to newer versions,
we disable the loading of deprecated configurations by all kubeadm
sub-commands, but "kubeadm config migrate".

v1alpha3 is still present and supported at source level, but cannot be used
directly with kubeadm and some of its internal APIs.

The added benefit to this is, that users won't need to lookup for an old
kubeadm binary after upgrade, just because they were stuck with a deprecated
config version for too long.

To achieve this, the following was done:

- ValidateSupportedVersion now has an allowDeprecated boolean parameter, that
  controls if the function should return an error upon detecting deprecated
  config version. Currently the only deprecated version is v1alpha3.

- ValidateSupportedVersion is made package private, because it's not used
  outside of the package anyway.

- BytesToInitConfiguration and LoadJoinConfigurationFromFile are modified to
  disallow loading of deprecated kubeadm config versions. An error message,
  that points users to kubeadm config migrate is returned.

- MigrateOldConfig is still allowed to load deprecated kubeadm config versions.

- A bunch of tests were fixed to not expect success if v1alpha3 config is
  supplied.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-02-19 12:27:39 +02:00
Yago Nobre
79fd5f25a7 Add kubeadm init upload encrypted certs phase 2019-02-19 02:52:21 -03:00
RA489
6bbed9fef0 kubeadm: graduate control plane join phase 2019-02-19 11:09:00 +05:30
Yago Nobre
3a6c80c372 Remove todos from init certs phase 2019-02-18 21:33:19 -03:00
Kubernetes Prow Robot
9891824352 Merge pull request #74212 from rojkov/kubeadm-drop-applyFlags-newK8sVersion
kubeadm: drop applyFlags.newK8sVersion field
2019-02-18 10:37:42 -08:00