Commit Graph

9735 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
d39214ade1
Merge pull request #94603 from wojtek-t/migrate_leader_election_to_leases_todos
Migrate scheduler, controller-manager and cloud-controller-manager to use LeaseLock
2020-09-11 00:08:14 -07:00
Kubernetes Prow Robot
56b9a69d39
Merge pull request #90439 from SataQiu/dual-stack-node-cidr-20200424
Dual-stack: make nodeipam compatible with existing single-stack clusters when dual-stack feature gate become enabled by default
2020-09-10 19:34:14 -07:00
Lubomir I. Ivanov
daef96c3f2 kubeadm: remove stray "alpha phase" command
This command had a TODO to be removed once kubeadm init phases are
added. Remove the command as init phases are in place already.
2020-09-11 03:40:11 +03:00
Lubomir I. Ivanov
a5a29c54cc kubeadm: remove the "alpha kubelet config enable-dynamic" command
The command was deprecated in 1.19 and can be removed in 1.20.
2020-09-11 03:40:11 +03:00
Kubernetes Prow Robot
6085d90897
Merge pull request #92064 from roycaihw/storage-version/serve-api
Serve storage-versions API in kube-apiserver
2020-09-10 10:45:48 -07:00
wojtekt
805c1753cd Migrate scheduler, controller-manager and cloud-controller-manager to lease lock. 2020-09-10 11:57:18 +02:00
SataQiu
c318973cec fix the bug that kubeadm tries to call 'docker info' even if the CRI socket was for another CR 2020-09-10 14:05:36 +08:00
Akhilesh2412
1a0f69bca3 kubeadm: Update versions for 1.20
This PR specifies minimum control plane version,
kubelet version and current K8s version for v1.20.

Signed-off-by: Kommireddy Akhilesh <akhileshkommireddy2412@gmail.com>
2020-09-10 02:51:13 +05:30
Lubomir I. Ivanov
b5b9698fbf kubeadm: print warnings on invalid cert period instead of erroring out
Client side period validation of certificates should not be
fatal, as local clock skews are not so uncommon. The validation
should be left to the running servers.

- Remove this validation from TryLoadCertFromDisk().
- Add a new function ValidateCertPeriod(), that can be used for this
purpose on demand.
- In phases/certs add a new function CheckCertificatePeriodValidity()
that will print warnings if a certificate does not pass period
validation, and caches certificates that were already checked.
- Use the function in a number of places where certificates
are loaded from disk.
2020-09-09 20:53:13 +03:00
Kubernetes Prow Robot
5566dc93c4
Merge pull request #94508 from andrewsykim/remove-cni-alpha
kubelet: remove alpha warnings for CNI flags
2020-09-09 09:07:08 -07:00
Kubernetes Prow Robot
293a53f2c0
Merge pull request #94140 from derekwaynecarr/pid-ga
Promote PidLimits to GA
2020-09-09 06:35:52 -07:00
Lonng
8fe3b7f8b7 Avoid unnecessary calls if other error occurred
Signed-off-by: Lonng <heng@lonng.org>
2020-09-09 16:35:08 +08:00
Chao Xu
86dd4ce3b5 Let kube-apiserver host the storage version API
Co-authored-by: Haowei Cai <haoweic@google.com>
2020-09-08 19:14:36 -07:00
Kubernetes Prow Robot
3cf80090f0
Merge pull request #93044 from Huang-Wei/rm-sched-podInformer
Initialize scheduler's podInformer in sharedInformerFactory
2020-09-08 17:49:52 -07:00
Wei Huang
d8def59871
Initialize scheduler's podInformer in sharedInformerFactory
Scheduler's specific podInfomer is now initialized inside the sahredInformerFactory.
2020-09-08 12:57:17 -07:00
Kubernetes Prow Robot
8728450be1
Merge pull request #94179 from ddymko/golint-fix-azuredd
fix golint for pkg/volume/azure_dd
2020-09-08 12:29:53 -07:00
Kubernetes Prow Robot
92042fe6ea
Merge pull request #72671 from yanghaichao12/dev0108
validate KubeletCgroups and KubeReservedCgroup
2020-09-08 07:33:43 -07:00
BedivereZero
437c166199 Stop container before remove for Docker 2020-09-08 15:42:03 +08:00
Kubernetes Prow Robot
4e9bdd481e
Merge pull request #94471 from kshitijcode/kubelet-taint-fix-93608
Added support for register-with-taints setting #93608
2020-09-07 01:33:41 -07:00
David Dymko
cda0070f28 fix golint for pkg/volume/azure_dd 2020-09-05 09:44:27 -04:00
Kubernetes Prow Robot
32ab6713df
Merge pull request #94535 from liggitt/kubeadm-unit-fix
Speed up slow Kubeadm unit tests, avoid mutating global variables
2020-09-04 20:01:42 -07:00
Jordan Liggitt
c0ba2364b5 Run slow kubeadm upgrade tests in parallel 2020-09-04 13:36:45 -04:00
Jordan Liggitt
24481db023 Ensure kubeadm tests have unique names 2020-09-04 13:36:29 -04:00
Jordan Liggitt
7e01e38334 Avoid mutating global variables in kubeadm certs phases 2020-09-04 13:36:10 -04:00
Jordan Liggitt
6125e6b65a Deflake TestSetup 2020-09-04 11:50:56 -04:00
Kubernetes Prow Robot
3cdfdfccc9
Merge pull request #94506 from neolit123/1.20-coredns-remove-supported-version-check
kubeadm: remove the CoreDNS check for supported image digests
2020-09-04 07:37:41 -07:00
Andrew Sy Kim
76386cf3c3 kubelet: remove alpha warnings for CNI flags
CNI is no longer alpha and is widely used by almost every Kubernetes cluster, we should remove the alpha warnings that were originally added from the early days of CNI

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-09-04 09:35:34 -04:00
Kubernetes Prow Robot
0edbf2554a
Merge pull request #94479 from knight42/feat/kubeadm-etcd-pod-resource-requests
kubeadm: apply resource requests in the etcd pod spec
2020-09-04 06:25:41 -07:00
Tim Usner
70d440bc7e Move ResourceQuota admission to k8s.io/apiserver 2020-09-04 14:53:52 +02:00
knight42
2ebd293780
feat(kubeadm): specify resource requests in etcd pod spec
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-09-04 11:54:21 +08:00
Lubomir I. Ivanov
4bb75a462f kubeadm: remove the CoreDNS check for supported image digests
The isCoreDNSVersionSupported() check assumes that
there is a running kubelet, that manages the CoreDNS containers.

If the containers are being created it is not possible to fetch
their image digest. To workaround that, a poll can be used in
isCoreDNSVersionSupported() and wait for the CoreDNS Pods
are expected to be running. Depending on timing and CNI
yet to be installed this can cause problems related to
addon idempotency of "kubeadm init", because if the CoreDNS
Pods are waiting for another step they will never get running.

Remove the function isCoreDNSVersionSupported() and assume that
the version is always supported. Rely on the Corefile migration
library to error out if it must.
2020-09-04 05:27:04 +03:00
Kubernetes Prow Robot
317540a28c
Merge pull request #87054 from changyaowei/kubelet_cmd
Made the flag which defined in cadvisor can be used when kubelet config start cmd
2020-09-03 12:31:41 -07:00
Kubernetes Prow Robot
be1d43a097
Merge pull request #93992 from prabhu43/kubeadm-kubeconfig-clustername
Make clustername configurable in generation of kubeconfig using kubeadm command
2020-09-03 11:13:41 -07:00
Kshitij Sharma
e4dee9cff3 Added support for register-with-taints setting #93608 2020-09-03 22:23:20 +05:30
Lubomir I. Ivanov
ebf163684a kubeadm: adjust the logic around etcd data directory creation
- Ensure the directory is created with 0700 via a new function
called CreateDataDirectory().
- Call this function in the init phases instead of the manual call
to MkdirAll.
- Call this function when joining control-plane nodes with local etcd.

If the directory creation is left to the kubelet via the
static Pod hostPath mounts, it will end up with 0755
which is not desired.
2020-09-03 18:38:54 +03:00
Kubernetes Prow Robot
c19e050aee
Merge pull request #94299 from zouyee/pending
fix kubeadm update coredns with skip pending pod
2020-09-03 08:17:54 -07:00
Kubernetes Prow Robot
92ba3eb793
Merge pull request #93275 from xlgao-zju/check-mem
kubeadm: Add a preflight check that the control-plane node has at least 1700MB of RAM
2020-09-03 08:17:40 -07:00
Kubernetes Prow Robot
8e29d9563d
Merge pull request #94385 from loopever/fix-typo
fix typos in cmd/kubeadm
2020-09-03 03:41:55 -07:00
zounengren
fc0bda5a3c fix kubeadm update coredns with skip pending pod 2020-09-03 10:42:59 +08:00
Kubernetes Prow Robot
0b92e8b16d
Merge pull request #94421 from rosti/kubeadm-fix-upgrade-plan
kubeadm: Fix `upgrade plan` for air-gapped setups
2020-09-02 18:21:54 -07:00
Kubernetes Prow Robot
0455c2d5e7
Merge pull request #94407 from lavalamp/big-rename
Control Plane is a better name
2020-09-02 14:49:55 -07:00
Kubernetes Prow Robot
2c12a81cb7
Merge pull request #94398 from neolit123/1.20-pin-control-plane-to-local-endpoint
kubeadm: make the scheduler and KCM connect to the local API endpoint
2020-09-02 12:09:19 -07:00
Daniel Smith
a86afc12df update scripts 2020-09-02 10:49:40 -07:00
Daniel Smith
15e0e3e90e rename 2020-09-02 10:48:26 -07:00
Daniel Smith
75f835aa08 move port definitions to a common location 2020-09-02 10:48:25 -07:00
Rostislav M. Georgiev
6e2a70eac7 kubeadm: Fix upgrade plan for air-gapped setups
A bug was discovered in the `enforceRequirements` func for `upgrade plan`.
If a command line argument that specifies the target Kubernetes version is
supplied, the returned `ClusterConfiguration` by `enforceRequirements` will
have its `KubernetesVersion` field set to the new version.
If no version was specified, the returned `KubernetesVersion` points to the
currently installed one.

This remained undetected for a couple of reasons
- It's only `upgrade plan` that allows for the version command line argument to
  be optional (in `upgrade plan` it's mandatory)
- Prior to 1.19, the implementation of `upgrade plan` did not make use of the
  `KubernetesVersion` returned by `enforceRequirements`.

`upgrade plan` supports this optional command line argument to enable
air-gapped setups (as not specifying a version on the command line will end up
looking for the latest version over the Interned).

Hence, the only option is to make `enforceRequirements` consistent in the
`upgrade plan` case and always return the currently installed version in the
`KubernetesVersion` field.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-09-02 12:52:02 +03:00
Kubernetes Prow Robot
27df218c72
Merge pull request #93702 from thtanaka/feature/fix-kubeadm-reset
kubeadm: reset don't unmount /var/lib/kubelet if it is mounted
2020-09-01 23:13:08 -07:00
Kubernetes Prow Robot
dd6c53d035
Merge pull request #93946 from alexzimmer96/68026-pkg-controller-resourcequota
Refactor pkg/controllers/resourcequota to fix golint errors
2020-09-01 19:41:06 -07:00
Kubernetes Prow Robot
d5e2db896e
Merge pull request #94395 from rosti/kubeadm-ensure-etcd-upgrades
kubeadm: Ensure etcd manifests are regenerated upon upgrade
2020-09-01 18:44:38 -07:00
Kubernetes Prow Robot
433c3d57cc
Merge pull request #94309 from liggitt/deprioritize-extensions
Deprioritize extensions/v1beta1 in discovery
2020-09-01 18:44:09 -07:00
Kubernetes Prow Robot
b49724d5fc
Merge pull request #94287 from jingyih/update_etcd_server_3p4p13
Update default etcd server to 3.4.13
2020-09-01 15:35:20 -07:00
Lubomir I. Ivanov
d9441906c4 kubeadm: make the scheduler and KCM connect to local endpoint
Pinning the kube-controller-manager and kube-scheduler kubeconfig files
to point to the control-plane-endpoint can be problematic during
immutable upgrades if one of these components ends up contacting an N-1
kube-apiserver:
https://kubernetes.io/docs/setup/release/version-skew-policy/#kube-controller-manager-kube-scheduler-and-cloud-controller-manager
For example, the components can send a request for a non-existing API
version.

Instead of using the CPE for these components, use the LocalAPIEndpoint.
This guarantees that the components would talk to the local
kube-apiserver, which should be the same version, unless the user
explicitly patched manifests.
2020-09-01 19:38:28 +03:00
Rostislav M. Georgiev
3bef5d2e0b kubeadm: Ensure etcd manifests are regenerated upon upgrade
A check that verifies that kubeadm does not "upgrade" to an older release was
overly optimized by skipping upgrade if the new version is the same as the old
one. This somewhat makes sense, but that way changes in any of the etcd fields
in the ClusterConfiguration won't be applied if the etcd version is not
changed.

Hence, this simple change ensures that the upgrade is done even when no version
change takes place.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-09-01 15:47:33 +03:00
loopever
847e59186a fix typos in cmd/kubeadm 2020-09-01 10:09:45 +08:00
Hu Shuai
2be66feb49 Improve the prompt message when kubeadm init is successful
Signed-off-by: Hu Shuai <hus.fnst@cn.fujitsu.com>
2020-08-31 15:27:20 +08:00
Kubernetes Prow Robot
1aec0a0fe0
Merge pull request #94072 from Mr-Linus/patch-3
Remove TODO in cmd/kube-scheduler/app/options/options.go
2020-08-30 00:10:20 -07:00
Jordan Liggitt
81144d6c9a Deprioritize extensions/v1beta1 in discovery 2020-08-28 10:58:32 -04:00
jingyih
c96b93fbd4 Update default etcd server to 3.4.13 2020-08-28 21:19:24 +08:00
Kubernetes Prow Robot
0a1aa394b7
Merge pull request #92987 from nikhita/cleanup-owners-apimachinery
apimachinery: remove inactive members from OWNERS
2020-08-27 19:08:33 -07:00
Kubernetes Prow Robot
481830b396
Merge pull request #92847 from SergeyKanzhelev/sigNodeOwnersCleanUp
SIG node owner files clean up
2020-08-27 19:07:40 -07:00
Kubernetes Prow Robot
a39f9dfde7
Merge pull request #93626 from vikkyomkar/issue-2237
[Cleanup] Removes usage of the k8s-master label (version marker)
2020-08-27 11:52:09 -07:00
Kubernetes Prow Robot
8297d5f195
Merge pull request #93483 from ZhiFeng1993/remove-false-positive-warning
Remove false positive warning in kubeadm cmd
2020-08-27 11:51:54 -07:00
Kubernetes Prow Robot
f542e86779
Merge pull request #93834 from loopever/master
fix typos in cmd/kubeadm and cmd/kube-scheduler
2020-08-27 10:38:06 -07:00
Linus Lee 李俊江
89303e23b5
Update options.go 2020-08-28 00:11:13 +08:00
Kubernetes Prow Robot
888f9c2c93
Merge pull request #93848 from nikhita/cleanup-apiserver-owners
apiserver: remove inactive members from OWNERS
2020-08-27 06:41:53 -07:00
Kubernetes Prow Robot
f588ad9c59
Merge pull request #94035 from zhouya0/scheduler_stop_using_legacy_scheme
Scheduler authorization should stop using legacy scheme
2020-08-27 04:49:26 -07:00
Kubernetes Prow Robot
be69ccc287
Merge pull request #94016 from mrueg/oyaml
kubeadm: Separate argument key/value in log msg
2020-08-27 04:49:16 -07:00
Kubernetes Prow Robot
50acbe6a59
Merge pull request #93885 from RobertKielty/93883
kubeadm: add test name output for RunInitNodeChecks and RunJoinNodeChecks
2020-08-27 04:47:44 -07:00
Derek Carr
6f2153986a Promote PidLimits to GA 2020-08-24 13:57:48 -04:00
Prabhu Jayakumar
bdd0ccaddb
Allow to configure clustername in creation of kubeconfig using kubeadm command
Signed-off-by: Prabhu Jayakumar <j.prabhu91@gmail.com>
2020-08-20 22:59:23 +05:30
Alexander Zimmermann
86dc0364f4
Refactored pkg/controllers/resourcequota
* Fixed golint issues
* Removed redundant package import names
* Improved some variables and names

Co-authored-by: Mike Danese <mikedanese@gmail.com>
2020-08-20 14:37:27 +02:00
zhouya0
3a237dd367 Scheduler auth stop using legacy scheme 2020-08-16 18:49:15 +08:00
Manuel Rüger
f289a3d6a7 kubeadm: Separate argument key/value in log msg
Users might be more used to `-o yaml` instead of -oyaml and get
confused event if the command works.

Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2020-08-14 23:49:07 +02:00
RobertKielty
737548a6b2 go fmt fix 2020-08-13 06:03:58 +01:00
RobertKielty
1eb1690a92 names unnamed testcases, adds name to t.Errorf msg 2020-08-12 00:22:38 +01:00
loopever
b645f3038e Fix some typo 2020-08-11 08:35:31 +08:00
Nikhita Raghunath
550ad25c0f apiserver: remove inactive members from OWNERS
As a part of cleaning up inactive members (who haven't been active since
beginning of 2019) from OWNERS files, this commit removes euank and
CaoShuFeng from the list of reviewers.
2020-08-10 15:07:34 +05:30
Davanum Srinivas
3421199494
Sign up dims for additional review roles
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-08-08 19:08:38 -04:00
ZhiFeng1993
b90228f52f Remove false positive warning in kubeadm cmd 2020-08-06 12:45:55 -07:00
Thomas Tanaka
2e2d0845cd kubeadm: reset don't unmount /var/lib/kubelet if it is mounted
Previous PR that fixes this
https://github.com/kubernetes/kubernetes/pull/71663

Signed-off-by: Thomas Tanaka <thomas.tanaka@gmail.com>
2020-08-05 13:15:56 -07:00
Kubernetes Prow Robot
8f835d5db6
Merge pull request #93607 from liggitt/providerless-kubelet
Fix providerless kubelet startup
2020-08-01 20:22:22 -07:00
Kubernetes Prow Robot
e8f58be5a7
Merge pull request #93448 from hasheddan/vendor-deps
Add dependencycheck tool to address long running no-vendor-cycles test
2020-08-01 16:13:40 -07:00
hasheddan
b09c0d7e18
Add dependencycheck tool to check for dependency cyles in vendored pkgs
dependencycheck verifies that no violating depdendencies exist in pkgs
passed via a JSON file generated from go list.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-08-01 08:10:43 -05:00
vikkyomkar
f505f10e94 removed k8s-master label 2020-08-01 15:52:18 +05:30
Jordan Liggitt
93e2868d4e Fix providerless kubelet startup 2020-07-31 12:30:12 -04:00
Jordan Liggitt
1420b377e4 Add providerless tags 2020-07-30 13:48:40 -04:00
Jordan Liggitt
f33dc28094 generated: hack/update-hack-tools.sh && hack/update-vendor.sh 2020-07-25 16:45:02 -04:00
Kubernetes Prow Robot
54e2070722
Merge pull request #93410 from nikhita/apimachinery-triage-labels
Don't apply triage/needs-information on apimachinery and instrumentation PRs
2020-07-24 19:08:16 -07:00
Nikhita Raghunath
c00dae0607 Revert "Merge pull request #93156 from logicalhan/triage-api-machinery"
This reverts commit 32438cf269, reversing
changes made to bb6a6aa391.
2020-07-24 13:01:02 +05:30
Xianglin Gao
c6975a7750 add test case for kubeadm memory check
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-07-24 10:57:22 +08:00
Jordan Liggitt
22c9236741 Allow integration test servers extra time to start 2020-07-23 17:46:59 -04:00
Christopher M. Luciano
65ff4e8227
ipvs: log error if scheduler does not exist and fallback to rr
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-07-23 13:58:02 -04:00
Kubernetes Prow Robot
32438cf269
Merge pull request #93156 from logicalhan/triage-api-machinery
automatically assign triage labels to api-machinery tagged PRs
2020-07-21 19:52:34 -07:00
Xianglin Gao
e5bb66f899 Add a preflight check that the control-plane node has at least 2GB RAM
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-07-20 23:58:31 +08:00
Kubernetes Prow Robot
05f6812c2d
Merge pull request #90822 from deads2k/csr-separate-signer-flags-02
allow setting different certificates for kube-controller-managed CSR signers
2020-07-18 03:10:50 -07:00
Kubernetes Prow Robot
f9ad7db9a6
Merge pull request #92349 from jingyih/update_etcd_server_3p4p9
Update default etcd server to 3.4.9
2020-07-17 07:53:01 -07:00
Han Kang
9129dbc98b automatically assign triage labels to api-machinery tagged PRs
Change-Id: Ifcc8a85d190d6370423af27f6e6c4c90b8472981
2020-07-16 13:13:59 -07:00
Christopher M. Luciano
e2a0eddaf0
ipvs: ensure selected scheduler kernel modules are loaded
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-07-16 13:21:54 -04:00
Kubernetes Prow Robot
633ab1ca61
Merge pull request #92880 from cici37/importCloudProvider
Import cloud provider from k8s.io/legacy-cloud-provider
2020-07-14 18:12:37 -07:00
Kubernetes Prow Robot
19f0a54d6b
Merge pull request #92183 from wallrj/2163-csr-only-external-ca-mode-2
kubeadm alpha certs generate-csr
2020-07-13 07:18:32 -07:00
Kubernetes Prow Robot
f41a20444a
Merge pull request #92881 from neolit123/1.19-deprecate-kubeadm-dkc
kubeadm: deprecate "kubeadm alpha kubelet config enable-dynamic"
2020-07-12 06:58:29 -07:00
Nikhita Raghunath
db495ea983 apimachinery: remove inactive members from OWNERS 2020-07-11 19:28:24 +05:30
Kubernetes Prow Robot
429f968988
Merge pull request #92791 from p0lyn0mial/aggregator-dynamic-cert-reload
adds dynamic certificate reloading for kube aggregator
2020-07-10 15:42:10 -07:00
Kubernetes Prow Robot
0cb7e320a5
Merge pull request #92784 from pohly/generic-ephemeral-inline-volumes
generic ephemeral inline volumes
2020-07-10 15:41:46 -07:00
Kubernetes Prow Robot
3727879ea5
Merge pull request #92651 from rajansandeep/kubeadm-coredns1.7.0
[Kubeadm]:Bump CoreDNS to v1.7.0
2020-07-10 15:40:51 -07:00
Kubernetes Prow Robot
4efed03276
Merge pull request #91637 from robscott/endpointslice-mirroring
Adding new EndpointSlice Mirroring Controller
2020-07-10 10:19:48 -07:00
SataQiu
ec1efc3b79 dual-stack: make nodeipam compatible with existing single-stack clusters when dual-stack feature gate become enabled by default
Signed-off-by: SataQiu <1527062125@qq.com>
2020-07-10 16:34:20 +08:00
Kubernetes Prow Robot
2d327ac455
Merge pull request #91539 from andrewsykim/fix-cloud-provider-deprecation
only log cloud provider deprecation warning for in-tree components
2020-07-10 00:59:48 -07:00
Patrick Ohly
ff3e5e06a7 GenericEphemeralVolume: initial implementation
The implementation consists of
- identifying all places where VolumeSource.PersistentVolumeClaim has
  a special meaning and then ensuring that the same code path is taken
  for an ephemeral volume, with the ownership check
- adding a controller that produces the PVCs for each embedded
  VolumeSource.EphemeralVolume
- relaxing the PVC protection controller such that it removes
  the finalizer already before the pod is deleted (only
  if the GenericEphemeralVolume feature is enabled): this is
  needed to break a cycle where foreground deletion of the pod
  blocks on removing the PVC, which waits for deletion of the pod

The controller was derived from the endpointslices controller.
2020-07-09 23:29:24 +02:00
Kubernetes Prow Robot
82baa26905
Merge pull request #92753 from QianChenglong/fix/kubeadm-altnames
kubeadm: remove duplicate DNS names and IP addresses from generated certificates
2020-07-09 09:10:20 -07:00
Kubernetes Prow Robot
10aeb93e07
Merge pull request #92736 from robscott/endpointslice-proxying-beta
Graduating EndpointSliceProxying to beta for Linux
2020-07-09 09:09:48 -07:00
Sandeep Rajan
04038fc791 update coredns version to 1.7.0 2020-07-09 11:01:45 -04:00
David Eads
e88fecf26b allow setting different certificates for kube-controller-managed CSR signers 2020-07-09 08:14:55 -04:00
Kubernetes Prow Robot
1e3eeba9fa
Merge pull request #91577 from knabben/kubelet-bootstrap
kubelet: remove the --bootstrap-checkpoint-path feature
2020-07-09 00:03:41 -07:00
Richard Wall
81554ffdc0 kubeadm alpha certs generate-csr
* Creates private keys and CSR files for all the control-plane certificates
* Helps with External CA mode of kubeadm

Signed-off-by: Richard Wall <richard.wall@jetstack.io>
2020-07-09 06:16:22 +01:00
Richard Wall
57712220a1 Add new helper functions for creating keys, kubeconfig and CSR files
Signed-off-by: Richard Wall <richard.wall@jetstack.io>
2020-07-09 06:16:22 +01:00
Richard Wall
21153e7b6a Deprecate --csr-only and --csr-dir flags
Signed-off-by: Richard Wall <richard.wall@jetstack.io>
2020-07-08 22:14:00 +01:00
Wei Huang
4b26ef2217
Remove DisablePreemption field from SchedulerConfig v1beta1
DisablePreemption field can be removed as it can be deduced from PostFilterPlugins.
2020-07-08 09:58:42 -07:00
Alena Varkockova
25f0ebc827 adds dynamic certificate reloading for kube aggregator
Co-authored-by: Lukasz Szaszkiewicz <lukasz.szaszkiewicz@gmail.com>
Co-authored-by: David Eads <deads@redhat.com>
2020-07-08 11:24:21 +02:00
jingyih
e9bf1c3c90 Update default etcd server to 3.4.9 2020-07-08 14:16:40 +08:00
Kubernetes Prow Robot
bf94f27e76
Merge pull request #92716 from rajansandeep/removefederation
[kubeadm]: Remove kube-dns translation for federation
2020-07-07 19:55:06 -07:00
Rob Scott
8039cf9bb1
Graduating EndpointSliceProxying to beta for Linux 2020-07-07 14:18:03 -07:00
Lubomir I. Ivanov
5777e8740e kubeadm: deprecate "kubeadm alpha kubelet config enable-dynamic"
Deprecate the command and recommend users to follow the
official guide at the k8s.io website instead.
2020-07-07 22:15:43 +03:00
cici37
cff8562c18 Import cloud provider from k8s.io/legacy-cloud-provider 2020-07-07 11:43:27 -07:00
Kubernetes Prow Robot
7e75a5ef43
Merge pull request #87273 from SaranBalaji90/kubelet-log-file
Add support for disabling /logs endpoint in kubelet
2020-07-07 04:09:58 -07:00
Sergey Kanzhelev
933a2ca634 SIG node owner files clean up 2020-07-07 00:22:05 +00:00
Rob Scott
e701cb0205
Enabling the EndpointSliceMirroring controller, adding related config 2020-07-06 12:43:34 -07:00
Sri Saran Balaji Vellore Rajakumar
05240c9218 Add support for disabling /logs endpoint in kubelet 2020-07-06 07:52:30 -07:00
chenjun.cj
db71941775 make Kubelet bootstrap certificate signal aware 2020-07-06 22:30:27 +08:00
Kubernetes Prow Robot
6eca9f653b
Merge pull request #92435 from rosti/kubeadm-cc-test-refactor
kubeadm: refactor and cleanup component config tests
2020-07-03 20:30:48 -07:00
Kubernetes Prow Robot
8ec5747fe5
Merge pull request #91501 from tahsinrahman/add-apiserver-logging-flag
Add `--logging-format` flag for kube-apiserver
2020-07-03 12:24:47 -07:00
Rostislav M. Georgiev
d023f3d25d kubeadm: Cleanup and refactor the LoadJoinConfigurationFromFile test
Back in the v1alpha2 days the fuzzer test needed to be disabled. To ensure that
there were no config breaks and everything worked correctly extensive replacement
tests were put in place that functioned as unit tests for the kubeadm config utils
as well.

The fuzzer test has been reenabled for a long time now and there's no need for
these replacements. Hence, over time most of these were disabled, deleted and
refactored. The last remnants are part of the LoadJoinConfigurationFromFile test.

The test data for those old tests remains largely unused today, but it still receives
updates as it contains kubelet's and kube-proxy's component configs. Updates to these
configs are usually done because the maintainers of those need to add a new field.

Hence, to cleanup old code and reduce maintenance burden, the last test that depends
on this test data is finally refactored and cleaned up to represent a simple unit test
of `LoadJoinConfigurationFromFile`.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-07-03 20:00:49 +03:00
Rostislav M. Georgiev
930ca6ceb2 kubeadm: Refactor component config tests
Over the course of recent development of the `componentconfigs` package,
it became evident that most of the tests in this package cannot be implemented without
using a component config. As all of the currently supported component configs are
external to the kubeadm project (kubelet and kube-proxy), practically all of the tests
in this package are now dependent on external code.
This is not desirable, because other component's configs may change frequently and
without much of a notice. In particular many configs add new fields without bumping their
versions. In addition to that, some components may be deprecated in the future and many
tests may use their configs as a place holder of a component config just to test some
common functionality.
To top that, there are many tests that test the same common functionality several times
(for each different component config).

Thus a kubeadm managed replacement and a fake test environment are introduced.
The new test environment uses kubeadm's very own `ClusterConfiguration`.
ClusterConfiguration is normally not managed by the `componentconfigs` package.
It's only used, because of the following:
- It's a versioned API that is under the control of kubeadm maintainers. This enables us to test
  the componentconfigs package more thoroughly without having to have full and always up to date
  knowledge about the config of another component.
- Other components often introduce new fields in their configs without bumping up the config version.
  This, often times, requires that the PR that introduces such new fields to touch kubeadm test code.
  Doing so, requires more work on the part of developers and reviewers. When kubeadm moves out of k/k
  this would allow for more sporadic breaks in kubeadm tests as PRs that merge in k/k and introduce
  new fields won't be able to fix the tests in kubeadm.
- If we implement tests for all common functionality using the config of another component and it gets
  deprecated and/or we stop supporting it in production, we'll have to focus on a massive test refactoring
  or just continue importing this config just for test use.

Thus, to reduce maintenance costs without sacrificing test coverage, we introduce this mini-framework
and set of tests here which replace the normal component configs with a single one (`ClusterConfiguration`)
and test the component config independent logic of this package.

As a result of this, many of the older test cases are refactored and greatly simplified to reflect
on the new change as well. The old tests that are strictly tied to specific component configs
(like the defaulting tests) are left unchanged.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-07-03 20:00:45 +03:00
Kubernetes Prow Robot
d5f76a9c6f
Merge pull request #92764 from sjenning/add-new-kubelet-approvers-to-cmd
add dashpole and sjenning to cmd/kubelet OWNERS
2020-07-03 05:04:21 -07:00
Kubernetes Prow Robot
af29f81af6
Merge pull request #92740 from SataQiu/deprecate-config-view-20200702
Mark 'kubeadm config view' command as deprecated
2020-07-03 05:04:02 -07:00
Kubernetes Prow Robot
046ac5100e
Merge pull request #92720 from neolit123/1.19-add-kcm-port
kubeadm: add --port=0 for kube-controller-manager and kube-scheduler
2020-07-03 05:03:25 -07:00
Kubernetes Prow Robot
a2aaae2dd5
Merge pull request #88124 from rosti/kubeadm-cc-upgrade-plan
kubeadm upgrade plan: print a component config state table
2020-07-03 05:02:47 -07:00
QianChenglong
883f318df4 Fix duplicate altnames in cert 2020-07-03 12:14:36 +08:00
Kubernetes Prow Robot
36083e4292
Merge pull request #91522 from SataQiu/add-logging-format-flag-20200528
Add '--logging-format' flag to kube-scheduler
2020-07-02 19:04:47 -07:00
SataQiu
2b7af10276 mark 'kubeadm config view' command as deprecated 2020-07-03 09:40:23 +08:00
Seth Jennings
b1f91d33e7 add dashpole and sjenning to cmd/kubelet OWNERS 2020-07-02 14:20:41 -05:00
Kubernetes Prow Robot
13a4a71e99
Merge pull request #91532 from afrouzMashaykhi/log-flag-kubelet
add --logging-format flag to kubelet
2020-07-02 06:40:46 -07:00
Kubernetes Prow Robot
1094c03e15
Merge pull request #92722 from munnerz/bump-md2man
Bump github.com/cpuguy83/go-md2man dependency to v2.0.0
2020-07-02 04:18:16 -07:00
Kubernetes Prow Robot
d71a09271c
Merge pull request #92017 from neolit123/1.19-patches
kubeadm: introduce --experimental-patches and deprecate --experimental-kustomize
2020-07-02 04:17:01 -07:00
Kubernetes Prow Robot
1b871091b9
Merge pull request #91645 from chelseychen/event-api
Promote new Event API to v1
2020-07-02 04:16:46 -07:00
Kubernetes Prow Robot
94e1c54735
Merge pull request #92655 from BenTheElder/cleanup-some-owners
Cleanup some owners
2020-07-01 23:14:08 -07:00
Kubernetes Prow Robot
8623c26150
Merge pull request #90909 from kumarvin123/feature/WindowsEpSlices
EndPointSlices implementation for Windows
2020-07-01 23:12:01 -07:00
Kubernetes Prow Robot
e7a949f966
Merge pull request #91521 from SataQiu/add-log-flags-20200528
Add '--logging-format' flag to kube-controller-manager
2020-07-01 20:28:01 -07:00
James Munnelly
6b75e9efe4 Bump github.com/cpuguy83/go-md2man dependency
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-07-01 21:22:14 +01:00
Lubomir I. Ivanov
f66513d98a kubeadm: add --port=0 for kube-controller-manager and kube-scheduler
Kubeadm setup of kube-controller-manager and kube-scheduler is
lacking the --port=0 option which caused the component to enable
the insecure port by default and serve insecurely on the default
node interface.

Add --port=0 by default to both components. Users are still allowed
the explicitly set the flag (via extraArgs), which allows them
to override this default kubeadm behavior and enable the insecure port.

NOTE: the flag is deprecated and should be removed from kubeadm manifests
once it's removed from core.
2020-07-01 22:23:21 +03:00
Sandeep Rajan
4dc635d542 remove kube-dns translation for federation 2020-07-01 14:34:23 -04:00
amash
b92b04e7cd add default for loggingconfiguration struct 2020-07-01 22:28:27 +04:30
amash
3ab25f1876 add LoggingConfiguration struct to component-base/config 2020-07-01 20:07:01 +04:30
amash
ac8d2e8978 add loggingConfig struct to kubelet config 2020-07-01 20:07:01 +04:30
amash
ba8189a4f2 add --logging-format flag to kubelet 2020-07-01 20:07:01 +04:30
SataQiu
770706ce61 add '--logging-format' flag to kube-scheduler 2020-07-01 23:23:24 +08:00
Chelsey Chen
75612c1746 Promote new Event API to v1 2020-07-01 10:50:28 -04:00
Kubernetes Prow Robot
6b65bc7395
Merge pull request #91048 from pjbgf/fix-error-validation
linkcheck: Fix incorrect error validation for Retry-After
2020-07-01 02:54:16 -07:00
Kubernetes Prow Robot
4c523b1981
Merge pull request #92131 from SataQiu/fix-etcd-opt-20200615
kubeadm: increase robustness for kubeadm etcd operations
2020-07-01 00:06:21 -07:00
Benjamin Elder
d8f2b131b5 remove david-mcmahon from reviewers 2020-06-30 14:06:58 -07:00
Benjamin Elder
2abc8afece eparis to emeritus 2020-06-30 09:50:44 -07:00
Kubernetes Prow Robot
c5941e283f
Merge pull request #92531 from damemi/deprecated-opts
kube-scheduler: allow deprecated options to be set with configfile
2020-06-30 07:58:09 -07:00
Kubernetes Prow Robot
88c1386e0c
Merge pull request #92610 from rosti/kubeadm-nuke-uploadconfig-cmd
kubeadm: Remove `kubeadm config upload`
2020-06-29 18:35:46 -07:00
Vinod K L Swamy
bbd4a07dec
Changes to WinKernel to support EndpointSlices 2020-06-29 14:31:15 -07:00
Mike Dame
2b95900b02 kube-scheduler: allow deprecated options to be set with configfile 2020-06-29 15:59:06 -04:00
Rostislav M. Georgiev
b51f2c1d1c kubeadm: Remove kubeadm config upload
`kubeadm config upload` is a GA command that has been deprecated and scheduled
for removal since Kubernetes 1.15 (released 06/19/2019). This change will
finally removed it in Kubernetes 1.19 (planned for August 2020).

The original command has long since been replaced by a GA init phase:
`kubeadm init phase upload-config`

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-29 18:27:48 +03:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04:00
Kubernetes Prow Robot
b3033da9a1
Merge pull request #92200 from adtac/adtac/reserve
scheduler: merge Reserve and Unreserve plugins
2020-06-25 19:57:31 -07:00
Lubomir I. Ivanov
ceb768ccbd kubeadm: apply patches to static Pods
Add PatchStaticPod() in staticpod/utils.go

Apply patches to static Pods in:
- phases/controlplane/CreateStaticPodFiles()
- phases/etcd/CreateLocalEtcdStaticPodManifestFile() and
CreateStackedEtcdStaticPodManifestFile()

Add unit tests and update Bazel.
2020-06-26 02:14:47 +03:00
Lubomir I. Ivanov
144778db83 kubeadm: plumb the patches option trough init/join/upgrade
This changes adds the "patches" option in all places where
the "kustomize" option is already present.
2020-06-26 02:14:47 +03:00
Lubomir I. Ivanov
5506049b87 kubeadm: add logic for patching components in util/patches 2020-06-26 02:14:47 +03:00
Lubomir I. Ivanov
a8b31556c8 kubeadm: add the --experimental-patches flag in cmd/options 2020-06-26 02:14:46 +03:00
Kubernetes Prow Robot
4a91ecb976
Merge pull request #91863 from knabben/kubelet-memcg-notification
Moving Kubelet kernel-memgc-notification to configuration file
2020-06-25 00:20:37 -07:00
Adhityaa Chandrasekar
ec83143342 scheduler: merge Reserve and Unreserve plugins
Previously, separate interfaces were defined for Reserve and Unreserve
plugins. However, in nearly all cases, a plugin that allocates a
resource using Reserve will likely want to register itself for Unreserve
as well in order to free the allocated resource at the end of a failed
scheduling/binding cycle. Having separate plugins for Reserve and
Unreserve also adds unnecessary config toil. To that end, this patch
aims to merge the two plugins into a single interface called a
ReservePlugin that requires implementing both the Reserve and Unreserve
methods.
2020-06-24 21:10:35 +00:00
Kubernetes Prow Robot
c6d2b223fb
Merge pull request #92222 from cofyc/fix92186
Share pod volume binding cache via framework.CycleState
2020-06-24 13:31:21 -07:00
Rostislav M. Georgiev
709e3c3a83 kubeadm upgrade plan: component config state table
This change enables kubeadm upgrade plan to print a state table with
information regarding known component config API groups. Most importantly this
information includes current and preferred version for each group and an
indication if a manual user upgrade is required.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-24 16:47:15 +03:00
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