Commit Graph

9454 Commits

Author SHA1 Message Date
Rostislav M. Georgiev
9d6e2b923a kubeadm upgrade plan: Use internal types of the output API
`kubeadm upgrade plan` is using the external (currently `v1alpha1`) types of
the kubeadm output API to collect upgrade plans. This is counter intuitive
since code structure gets bound to the whatever version the output API is at.
In addition to that, the versioned API is used only in the very last stages of
a machine readable output (which is currently not implemented).

Hence, to increase flexibility and keep up with the standard Kubernetes
ecosystem practice, `kubeadm upgrade plan` is migrated to use the internal
types of the output API.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-24 16:47:15 +03:00
Kubernetes Prow Robot
cb0ef9e623 Merge pull request #92390 from neolit123/1.19-fix-long-upload-config-tests
kubeadm: remove negative test cases from TestUploadConfiguration
2020-06-24 04:55:31 -07:00
Amim Knabben
c39cf28ed3 Moving Kubelet kernel-memgc-notification to configuration file 2020-06-24 06:44:00 -04:00
Kubernetes Prow Robot
a463b25c9d Merge pull request #91980 from rosti/kubeadm-cc-manual-upgrade
kubeadm upgrade: Allow supplying hand migrated component configs
2020-06-23 09:35:42 -07:00
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +08:00
Kubernetes Prow Robot
ad634590f8 Merge pull request #92082 from chelseychen/event-fallback2
Migrate kube-scheduler to fallback for events API built into the library
2020-06-23 01:23:40 -07:00
Kubernetes Prow Robot
83a15867b1 Merge pull request #92049 from Huang-Wei/postfilter-impl-3
[postfilter-impl-3] Register and enable the defaultpreemption plugin
2020-06-22 23:53:54 -07:00
Kubernetes Prow Robot
00d6255f44 Merge pull request #91712 from KobayashiD27/structured-logging-in-event
Migrate log to klog.InfoS for staging/src/k8s.io/client-go
2020-06-22 23:53:40 -07:00
Wei Huang
d99cc01646 Register and enable defaultpreemption plugin
- Enable defaultpreemption as a PostFilter plugin
- Remote legacy hard-coded preemption logic
2020-06-22 17:22:27 -07:00
Lubomir I. Ivanov
bcc16b9c1e kubeadm: remove negative test cases from TestUploadConfiguration
UploadConfiguration() now always retries the underling API calls,
which can make TestUploadConfiguration run for a long time.

Remove the negative test cases, where errors are expected.
Negative test cases should be tested in app/util/apiclient,
where a short timeout / retry count should be possible for unit tests.
2020-06-22 22:14:11 +03:00
Chelsey Chen
3f95ddb714 Migrate kube-scheduler to use common fallback 2020-06-22 10:02:54 -04:00
Rostislav M. Georgiev
1d2d15ee03 kubeadm upgrade: Allow supplying hand migrated component configs
Currently, kubeadm would refuse to perfom an upgrade (or even planing for one)
if it detects a user supplied unsupported component config version. Hence,
users are required to manually upgrade their component configs and store them
in the config maps prior to executing `kubeadm upgrade plan` or
`kubeadm upgrade apply`.

This change introduces the ability to use the `--config` option of the
`kubeadm upgrade plan` and `kubeadm upgrade apply` commands to supply a YAML
file containing component configs to be used in place of the existing ones in
the cluster upon upgrade.

The old behavior where `--config` is used to reconfigure a cluster is still
supported. kubeadm automatically detects which behavior to use based on the
presence (or absense) of kubeadm config types (API group
`kubeadm.kubernetes.io`).

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-22 16:29:51 +03:00
Kobayashi Daisuke
4ecbec75a6 Run update-bazel.sh 2020-06-22 10:49:15 +09:00
Ali Farah
a22e115a0e Split scheduler framework implementation into new runtime package 2020-06-22 00:23:43 +10:00
Kubernetes Prow Robot
f496b9fb4a Merge pull request #91725 from aojea/proxyIPv6mode
kube-proxy detect IP family based on nodeIP
2020-06-18 19:04:21 -07:00
Antonio Ojea
56df70b639 kube-proxy detect IP family based on nodeIP
We were detecting the IP family that kube-proxy should use
based on the bind address, however, this is not valid when
using an unspecified address, because on those cases
kube-proxy adopts the IP family of the address reported
in the Node API object.

The IP family will be determined by the nodeIP used by the proxier
The order of precedence is:
1. config.bindAddress if bindAddress is not 0.0.0.0 or ::
2. the primary IP from the Node object, if set
3. if no IP is found it defaults to 127.0.0.1 and IPv4

Signed-off-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
2020-06-17 14:51:35 +02:00
Kubernetes Prow Robot
c1d7a07d14 Merge pull request #92118 from neolit123/1.19-etcd-do-not-readd-member-join
kubeadm: don't re-add an etcd member if it already exists on "join"
2020-06-16 19:23:52 -07:00
Lubomir I. Ivanov
94af045324 kubeadm: don't re-add an etcd member if it already exists for "join"
If an etcd member with the same address already exists, don't re-add it.
Instead, use the existing member list for creating the "initial cluster"
that is written for this etcd server instance static Pod.
2020-06-15 20:22:13 +03:00
Kubernetes Prow Robot
98f250f883 Merge pull request #91307 from yuga711/attach
CSI: Modify VolumeAttachment check to use Informer/Cache
2020-06-15 08:10:10 -07:00
SataQiu
800dd19fc2 increase robustness for kubeadm etcd operations
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-15 22:43:21 +08:00
Kobayashi Daisuke
4ae11dac2e Replace StartLogging(klog.Infof) with StartStructuredLogging(0) 2020-06-15 17:48:35 +09:00
Kubernetes Prow Robot
ded1f58779 Merge pull request #90911 from divyenpatel/vsphere-csi-migration
Support for vSphere in-tree volumes migration to vSphere CSI driver
2020-06-13 04:25:55 -07:00
Kubernetes Prow Robot
7151131d79 Merge pull request #73032 from liggitt/kubectl-warning
surface server-side warnings in client-go / kubectl
2020-06-12 17:09:56 -07:00
Kubernetes Prow Robot
1385280afc Merge pull request #91775 from cofyc/fix91755
VolumeBinding: Skip/fail fast in PreFilter phase and improve error reporting
2020-06-12 10:47:56 -07:00
Kubernetes Prow Robot
bc9c5afaf0 Merge pull request #90853 from kumarvin123/feature/IPv6DualStackProxy
KubeProxy and DockerShim changes for Ipv6 dual stack support on Windows
2020-06-11 19:07:55 -07:00
Yecheng Fu
c4138361e4 Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound 2020-06-12 10:00:19 +08:00
Jordan Liggitt
df6608dc99 Generated files 2020-06-11 16:04:19 -04:00
Jordan Liggitt
0d674c4edb cmd: silence warnings in kube-controller-manager/kube-apiserver, dedupe/color warnings in kubectl 2020-06-11 16:04:19 -04:00
Jayasekhar Konduru
2a89577659 CSI: Modify VolumeAttachment check to use Informer/Cache
Change-Id: Ie70c8b6657c67eefbf13042f36d56ca84a2e42bb
2020-06-11 10:34:09 -07:00
Kubernetes Prow Robot
a8e43038a4 Merge pull request #92018 from liggitt/csr-controller-v1
Check for v1 CSR API in kube-controller-manager
2020-06-11 00:53:19 -07:00
Kubernetes Prow Robot
0a5d70617f Merge pull request #91952 from xlgao-zju/add-retries-for-updatestautes
kubeadm: Add retries for kubeadm join / UpdateStatus
2020-06-10 22:43:34 -07:00
Kubernetes Prow Robot
9ccf6f7de7 Merge pull request #91818 from wojtek-t/remove_cachesize
Remove heuristic watchcache sizes
2020-06-10 22:43:24 -07:00
Kubernetes Prow Robot
1f299e7b99 Merge pull request #91574 from cofyc/fix91436
share a common pod indexer among volume controllers
2020-06-10 22:42:56 -07:00
Jordan Liggitt
6183bcff6b Check for v1 CSR API in kube-controller-manager 2020-06-10 22:46:30 -04:00
Kubernetes Prow Robot
3918393e04 Merge pull request #91578 from knabben/kubelet-node-allocate
Deprecating --experimental-allocatable-ignore-eviction flag
2020-06-10 19:14:56 -07:00
Lubomir I. Ivanov
7ddd966ed2 kubeadm: mark --experimental-kustomize as deprecated 2020-06-11 04:57:13 +03:00
Kubernetes Prow Robot
64d254508f Merge pull request #91816 from p0lyn0mial/gc-discovery
GC: doesn't create monitors in the constructor
2020-06-10 17:13:48 -07:00
Kubernetes Prow Robot
17630c34cf Merge pull request #91793 from alculquicondor/new-default-spread
Use PodTopologySpread for default spreading
2020-06-10 17:13:38 -07:00
Kubernetes Prow Robot
9089568465 Merge pull request #91780 from liggitt/csr-v1-rotate-kubelet-client
CSR v1 - promote RotateKubeletClientCertificate to GA
2020-06-10 17:13:24 -07:00
Vinod K L Swamy
ac3f87346f KubeProxy and DockerShim changes for Ipv6 dual stack support on Windows
Signed-off-by: Vinod K L Swamy <vinodko@microsoft.com>
2020-06-10 15:36:48 -07:00
Xianglin Gao
04ef3628e3 refact CreateOrMutateConfigMap and MutateConfigMap with PollImmediate
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-06-11 00:31:22 +08:00
Lukasz Szaszkiewicz
50db32cf8c GC doesn't have to create monitors in the constructor 2020-06-10 14:59:45 +02:00
Rostislav M. Georgiev
5d0127493c kubeadm upgrade plan: don't load component configs
Component configs are used by kubeadm upgrade plan at the moment. However, they
can prevent kubeadm upgrade plan from functioning if loading of an unsupported
version of a component config is attempted. For that matter it's best to just
stop loading component configs as part of the kubeadm config load process.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-10 14:23:53 +03:00
Jordan Liggitt
a298c14f18 Switch cert manager to v1 CSR API by default, falling back to v1beta1 2020-06-10 02:30:54 -04:00
Kubernetes Prow Robot
11fe6e815f Merge pull request #91713 from liggitt/csr-v1-manager
CSR v1 - switch controllers
2020-06-09 14:49:30 -07:00
Aldo Culquicondor
170f81cff3 Use PodTopologySpread for default spreading
Under the feature gate DefaultPodTopologySpread, which will disable the legacy DefaultPodTopologySpread plugin from the default algorithm providers.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-09 14:59:42 -04:00
Xianglin Gao
6d572ea9b7 Add retries for CreateOrUpdateRoleBinding
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-06-10 00:23:46 +08:00
Xianglin Gao
052eb7d9a5 Add retries for CreateOrUpdateRole
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-06-10 00:12:25 +08:00
Rostislav M. Georgiev
e7427c66f3 kubeadm: Merge getK8sVersionFromUserInput into enforceRequirements
`getK8sVersionFromUserInput` would attempt to load the config from a user
specified YAML file (via the `--config` option of `kubeadm upgrade plan` or
`kubeadm upgrade apply`). This is done in order to fetch the `KubernetesVersion`
field of the `ClusterConfiguration`. The complete config is then immediately
discarded. The actual config that is used during the upgrade process is fetched
from within `enforceRequirements`.

This, along with the fact that `getK8sVersionFromUserInput` is always called
immediately after `enforceRequirements` makes it possible to merge the two.
Merging them would help us simplify things and avoid future problems in
component config related patches.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-09 14:46:56 +03:00
Divyen Patel
148ef06a3d vSphere in-tree volumes migration to vSphere CSI driver 2020-06-08 16:17:02 -07:00