Commit Graph

155 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
9e60bedebe Merge pull request #81385 from neolit123/etcd-probe
kubeadm: use etcd's /health endpoint for it's liveness probe
2019-08-16 14:06:09 -07:00
Kubernetes Prow Robot
e6d4273395 Merge pull request #79033 from Nordix/kubeadm-ds-pod-network-cidr
Dual-Stack Integration with Kubeadm
2019-08-16 05:06:31 -07:00
Lubomir I. Ivanov
99b64f1e8e kubeadm: use etcd's /health endpoint for it's liveness probe
Etcd v3.3.0 added the --listen-metrics-urls flag which allows specifying
addition URLs to the already present /health and /metrics endpoints.

While /health and /metrics are enabled for URLS defined with
--listen-client-urls (v3+ ?) they do require HTTPS.

Replace the present etcdctl based liveness probe with a standard HTTP
GET v1.Probe that connects to http://127.0.0.1:2381/health.

These endpoints are not reachable from the outside and only available
for localhost connections.
2019-08-16 01:06:49 +03:00
fabriziopandini
97181595f0 kubeadm-kustomize-core 2019-08-12 14:16:51 +02:00
Arvinderpal Wander
3ac7ae60cc kubeadm --pod-network-cidr supports a comma separated list of pod
CIDRs. This is a necesary change for dual-stack.
2019-08-09 07:20:51 -07:00
Ed Bartosh
b4300ec24e kubeadm: remove dependency on pkg/kubeapiserver/authorizer/modes
Moved 2 more constants from pkg/kubeapiserver/authorizer/modes
to kubeadm/app/constants module to remove dependency.
2019-08-08 12:08:23 +03:00
Lubomir I. Ivanov
e142bf6203 kubeadm: enable secure serving for the kube-scheduler
Secure serving was already enabled for kube-controller-manager.
Do the same for kube-scheduler, by passing the flags
"authentication-kubeconfig" and "authorization-kubeconfig"
to the binary in the static Pod.

This change allows the scheduler to perform reviews on incoming
requests, such as:
- authentication.k8s.io/v1beta1 TokenReview
- authorization.k8s.io/v1 SubjectAccessReview

The authentication and authorization checks for "system:kube-scheduler"
users were previously enabled by PR 72491.
2019-08-03 19:15:32 +03:00
Kubernetes Prow Robot
5bfa3664fb Merge pull request #80531 from Nordix/kubeadm-ds-FG-propagate
Propagate kubeadm dual-stack feature-gate to all k8s components
2019-07-31 00:24:21 -07:00
Arvinderpal Wander
585ef375bb Kubeadm FG for dual-stack was introduced in #80145. This PR
progagates the kubeadm FG to the individual k8scomponents
on the control-plane node.

* Note: Users who want to join worker nodes to the cluster
will have to specify the dual-stack FG to kubelet using the
nodeRegistration.kubeletExtraArgs option as part of their
join config. Alternatively, they can use KUBELET_EXTRA_ARGS.

kubeadm FG: kubernetes/kubeadm#1612
2019-07-30 07:27:51 -07:00
Ed Bartosh
d60fdcc6ff kubeadm: remove dependency on pkg/kubeapiserver/authorizer/modes
moved constants from pkg/kubeapiserver/authorizer/modes
to kubeadm/app/constants module.
2019-07-19 11:50:18 +03:00
SataQiu
b23772df80 kubeadm: cleanup unnecessary k8sVer parameter for GetStaticPodSpecs 2019-07-13 00:26:07 +08:00
Benjamin Elder
13813bc560 cleanup bespoke ipv6 checking in kubeadm 2019-07-03 16:26:08 -07:00
SataQiu
7e2e144f1b kubeadm: cleanup deps on pkg/master/ports 2019-06-17 21:27:02 +08:00
Arvinderpal Wander
7634cc01c5 Fix kubeadm service-cidr mapping to service-cluster-ip-rage for
kube-controller-manager.

If a service CIDR that overlaps with the cluster CIDR is
specified to kube-controller-manager then kube-controller-
manager will incorrectly allocate node CIDRs that overlap
with the service CIDR. The fix ensure that kubeadm
maps the --service-cidr to --service-cluster-ip-range for use
by kube-controller-manager.

As per docs, --allocate-node-cidrs must be true for
--service-cluster-ip-range to be considered. It does not make
sense for --cluster-cidr to be unspecified but for
--service-cluster-ip-range and --allocate-node-cidrs to be
set, since the purpose of these options is to have the
controller-manager do the per node CIDR allocation. Also
note that --service-cluster-ip-range is passed to the
api-server, so the presence of *just*
--service-cluster-ip-range should not imply that
--allocate-node-cidrs should be true.

Resolves: kubernetes/kubeadm/issues/1591
2019-06-05 06:53:32 -07:00
Àbéjídé Àyodélé
a2b0cb62a1 Clean up kubeadm.
These are based on recommendation from
[staticcheck](http://staticcheck.io/).

- Remove unused struct fields
- Remove unused function
- Remove unused variables
- Remove unused constants.
- Miscellaneous cleanups
2019-05-01 22:16:06 +00:00
Kubernetes Prow Robot
7cdd26e127 Merge pull request #76071 from qingsenLi/k8s190403
fix some spelling error
2019-04-03 05:31:53 -07:00
qingsenLi
1350446417 fix some spelling error 2019-04-04 00:07:19 +08:00
Kubernetes Prow Robot
0f3867a830 Merge pull request #75948 from xichengliudui/addconstants
Replace variables 10251 and 10252 with constants
2019-04-03 03:23:55 -07:00
qingsenLi
703a397ee3 spelling error 'Certifcate' 2019-04-02 01:14:56 +08:00
Ed Bartosh
296df304a4 kubeadm: use t.Run in app/phases
Used T.Run API for kubeadm tests in app/phases/*

This should improve testing output and make it more visible
which test is doing what.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2019-03-27 19:39:30 +01:00
aaa
867ad233c6 Replace variables 10251 and 10252 with constants
update pull request

update pull request
2019-03-22 00:27:53 -04:00
Jordan Liggitt
d4591ea324 Revert "Stop using API server's --insecure-port"
This reverts commit 5b64a98689.
2019-03-16 16:24:49 -04: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
Rostislav M. Georgiev
80e2a3cf07 kubeadm: reduce the usage of InitConfiguration
For historical reasons InitConfiguration is used almost everywhere in kubeadm
as a carrier of various configuration components such as ClusterConfiguration,
local API server endpoint, node registration settings, etc.

Since v1alpha2, InitConfiguration is meant to be used solely as a way to supply
the kubeadm init configuration from a config file. Its usage outside of this
context is caused by technical dept, it's clunky and requires hacks to fetch a
working InitConfiguration from the cluster (as it's not stored in the config
map in its entirety).

This change is a small step towards removing all unnecessary usages of
InitConfiguration. It reduces its usage by replacing it in some places with
some of the following:

- ClusterConfiguration only.
- APIEndpoint (as local API server endpoint).
- NodeRegistrationOptions only.
- Some combinations of the above types, or if single fields from them are used,
  only those field.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-01-28 12:21:01 +02:00
RA489
5b64a98689 Stop using API server's --insecure-port 2019-01-22 17:31:39 +05:30
fabriziopandini
ada466dc67 cleanup-getControllerManagerCommand 2019-01-04 14:08:04 +01:00
Kubernetes Prow Robot
993c65634e Merge pull request #71973 from MalloZup/fix-1234
Exclude by default address flag fix #1234
2019-01-01 05:36:18 -08:00
dmaiocchi
6148992056 Replace address with bind-address 2018-12-20 22:14:16 +01:00
Ed Bartosh
b40018da7b kubeadm: simplify minimum Kubernetes version bumps
Replaced hardcoded "v0.12.0" strings with MinimumControlPlaneVersion and
MinimumKubeletVersion global variables.

This should help with a regular release version bumps.
2018-12-19 20:41:25 +02:00
yuexiao-wang
1d38de3a29 fix test names for manifests
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-11-22 15:30:24 +08:00
k8s-ci-robot
8797db339d Merge pull request #69827 from tomkukral/kadm-etcd
use etcd endpoints from advertise-client-urls
2018-11-15 17:25:17 -08:00
Yago Nobre
62c9303ecf Remove DynamicKubeletConfig from init and join workflow, also remove DynamicKubeletConfig feature gate 2018-11-13 11:56:24 -02:00
Marek
064f74b2e8 fixes kubeadm 1221 to remove AuditPolicyConfiguration
Added conversion test and failure.
2018-11-12 14:33:26 -05:00
fabriziopandini
6759334f6e add DNS struct to kubeadm config 2018-11-10 17:27:39 +01:00
Davanum Srinivas
954996e231 Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Lucas Käldström
5656338b6e Update unit tests after the rename 2018-11-09 14:47:45 +02:00
Lucas Käldström
731bcdc864 kubeadm: InitConfiguration.APIEndpoint -> LocalAPIEndpoint 2018-11-09 14:47:21 +02:00
Marek Counts
18dc529d05 Removed feature gates selfhosting, HA and store certs in secrets.
Added new alpha command to pivot to self hosted
Removed slelfhosting upgrade ability
Added warning message to self hosted pivot
added certs in secrets flag to new selfhosting comand
2018-11-07 11:44:54 -05:00
Rostislav M. Georgiev
6c9e347e31 kubeadm: Writable to ReadOnly in HostPathMount
Writable was added to HostPathMount in v1alpha1 in order to control if an extra
volume is mounted in read only or writable mode.
Usually, in Kubernetes, this option is referred to as ReadOnly, instead of
Writable and is defaulted to `false`. However, at the time, all extra volumes
to pods were defaulted to read-only. Therefore, to avoid changes to existing
v1alpha1 configs, this option had to be added with reversed meaning.

Hence, it's called `writable`.

Now, with the migration towards v1beta1, we can safely change this to ReadOnly
and get it in sync with the reset of Kubernetes.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-02 18:02:06 +02:00
Rostislav M. Georgiev
d14c27a347 kubeadm: Control plane config moved to substructs
In v1alpha3's, control plane component config options were nested directly into
the ClusterConfiguration structure. This is cluttering the config structure and
makes it hard to maintain. Therefore the control plane config options must be
separated into different substructures in order to graduate the format to beta.

This change does the following:

- Introduces a new structure called ControlPlaneComponent, that contains fields
  common to all control plane component types. These are currently extra args
  and extra volumes.

- Introduce a new structure called APIServer that contains
  ControlPlaneComponent and APIServerCertSANs field (from ClusterConfiguration)

- Replace all API Server, Scheduler and Controller Manager options in
  ClusterConfiguration with APIServer, ControllerManager and Scheduler fields
  of APIServer and ControlPlaneComponent types.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-02 11:38:56 +02:00
Lubomir I. Ivanov
968fdb95e3 kubeadm: move the control-plane phase to the phase runner
Remove custom flags that were previously available per
sub-phase. Rely on the config passed to 'kubeadm init' for that.

Remove redundant functions in manifests.go.

Move the audit policy settings to the control plane phase (under
API server).
2018-10-31 16:05:14 +02:00
yuexiao-wang
c0a9b4d04d add BUILD
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-10-30 16:23:52 +08:00
yuexiao-wang
cc303c8774 [kubeadm/app/]switch to github.com/pkg/errors
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-10-30 16:23:24 +08:00
Tomáš Kukrál
a031d03501 use etcd endpoint from advertise-client-urls
It makes more sense to use advertised etcd endpoints instead of using
listened client URLS.

I'm solving this use case: Listen on localhost and public IP but I don't
want to add multiple endpoints to kube-apiservers because it's targeting
same etcd server.
2018-10-15 21:23:13 +02:00
fabriziopandini
66e846fa26 Add etcd ports constant 2018-10-12 09:33:07 +02:00
fabriziopandini
b4092acdb6 autogenerated 2018-10-04 13:20:20 +02:00
fabriziopandini
488ac6825b Automated bump from v1alpha3 references to v1beta1 2018-10-04 12:03:38 +02:00
Benjamin Elder
8b56eb8588 hack/update-gofmt.sh 2018-09-24 12:21:29 -07:00
Benjamin Elder
f828c6f662 hack/update-bazel.sh 2018-09-24 12:03:24 -07:00
Benjamin Elder
088cf3c37b find & replace version import 2018-09-24 12:03:24 -07:00