Commit Graph

11088 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
70dca66271
Merge pull request #109388 from ialidzhikov/cleanup/experimental-kernel-memcg-notification
kubelet: Remove the deprecated `--experimental-kernel-memcg-notification` flag
2022-06-03 09:30:33 -07:00
Kubernetes Prow Robot
b7b824bb9e
Merge pull request #110033 from mk46/etcd_update_v3.5.4
etcd: Updated to v3.5.4
2022-06-02 13:26:31 -07:00
Lubomir I. Ivanov
1c46686f09 kubeadm: mutate ClusterConfiguration.imageRepository to "registry.k8s.io"
If the user runs "kubeadm upgrade apply", kubeadm can download
a configuration from the cluster. If the configuration contains
the legacy default imageRepository of "k8s.gcr.io", mutate it
to the new default of "registry.k8s.io" and update the
configuration in the config map.

During "upgrade node/diff" download the configuration, mutate the
image repository locally, but do not mutate the in-cluster value.
That is done only on "apply".

This ensures that users are migrated from the old default registry
domain.
2022-06-02 17:37:30 +03:00
Lubomir I. Ivanov
9f6df1d489 kubeadm: graduate the UnversionedKubeletConfig FG to GA
- lock the FG to true by default
- cleanup wrappers and logic related to versioned vs unversioned
naming of API objects (CMs and RBAC)
- update unit tests
2022-06-01 17:17:07 +03:00
Thearas
2457fbc643 docs: add ephemeral-storage to SystemReserved/KubeReserved comment 2022-06-01 16:19:26 +08:00
Manish Kumar
e9e8be304c etcd: Updated to v3.5.4 2022-06-01 07:52:46 +05:30
Davanum Srinivas
50bea1dad8
Move from k8s.gcr.io to registry.k8s.io
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-05-31 10:16:53 -04:00
Kubernetes Prow Robot
92263ee0dd
Merge pull request #110072 from neolit123/1.25-kubeadm-etcd-liveness-probe
kubeadm: add serializable health checks for etcd probes
2022-05-30 00:40:52 -07:00
Kubernetes Prow Robot
ee0a070865
Merge pull request #110082 from twilight0620/addTest2
add test case TestValidateServiceNodePort for validateServiceNodePort method
2022-05-26 08:45:35 -07:00
Wojciech Tyczyński
fe3616cafb Clean shutdown of kcm, ccm and scheduler 2022-05-26 12:36:59 +02:00
Wojciech Tyczyński
6f706775bc Clean shutdown of test apiserver 2022-05-26 10:42:48 +02:00
Kubernetes Prow Robot
0f8b0e14ae
Merge pull request #110141 from chymy/kubeadm-remove-imagespull
kubeadm: remove unused ImagesPull
2022-05-20 03:45:12 -07:00
Kubernetes Prow Robot
3308ce1caf
Merge pull request #110137 from neolit123/1.25-update-master-label-taint
kubeadm: cleanup OldControlPlaneTaint from unit tests
2022-05-19 22:05:13 -07:00
chymy
525b8cc4b2 kubeadm: remove unused ImagesPull
Signed-off-by: chymy <chang.min1@zte.com.cn>
2022-05-20 10:49:52 +08:00
Lubomir I. Ivanov
9c68116461 kubeadm: cleanup OldControlPlaneTaint from unit tests
The OldControlPlaneTaint taint (master) can be replaced
with the new ControlPlaneTaint (control-plane) taint.

Adapt unit tests in markcontrolplane_test.go
and cluster_test.go.
2022-05-19 22:00:39 +03:00
Manish Kumar
58cc7e7d43 Parse ENV vars to crictl command 2022-05-19 21:53:50 +05:30
Lubomir I. Ivanov
80e5bcae9b kubeadm: remove RemoveOldControlPlaneLabel
The function is no longer used and was missed in a
1.25 cleanup PR.
2022-05-18 15:42:08 +03:00
Kubernetes Prow Robot
84c8afeba3
Merge pull request #110095 from neolit123/1.25-update-master-label-taint
kubeadm: cleanup the "master" taint on CP nodes during upgrade
2022-05-18 00:52:54 -07:00
Kubernetes Prow Robot
71da53c28b
Merge pull request #108218 from cyclinder/remove_featuregate
remove featuregate in 1.25
2022-05-17 20:08:53 -07:00
Kubernetes Prow Robot
90d7400ca1
Merge pull request #109356 from pacoxu/kubeadm-2426-cri
kubeadm: remove temporary handling of CRI socket paths without URL scheme
2022-05-17 18:00:52 -07:00
Kubernetes Prow Robot
9169f16841
Merge pull request #108447 from pacoxu/kubeadm-json-upgrade-plan
`Kubeadm upgrade plan` support json/yaml output
2022-05-17 16:46:31 -07:00
Lubomir I. Ivanov
ddd046f3dd kubeadm: cleanup the "master" taint on CP nodes during upgrade
- iniconfiguration.go: stop applying the "master" taint
for new clusters; update related unit tests in _test.go
- apply.go: Remove logic related to cleanup of the "master" label
during upgrade
- apply.go: Add cleanup of the "master" taint on CP nodes
during upgrade
- controlplane_nodes_test.go: remove test for old "master" taint
on nodes (this needs backport to 1.24, because we have a kubeadm
1.25 vs kubernetes test suite 1.24 e2e test)
2022-05-17 19:21:49 +03:00
twilight0620
62298c0493 add test case TestValidateServiceNodePort for validateServiceNodePort method 2022-05-17 14:32:06 +08:00
Lubomir I. Ivanov
29148f61ac kubeadm: add serializable health checks for etcd probes
Use the etcd 3.5.3+ HTTP(s) endpoint "/health?serializable=true",
to allow the kubelet liveness and starup probes in the
kubeadm generated etcd.yaml (static Pod) to track
individual member health instead of tracking the whole
etcd cluster health.
2022-05-16 20:18:35 +03:00
Paco Xu
ab51557a0c kubeadm: container runtime is by default docker in kubelet v1.23
- can be removed in v1.26
2022-05-14 18:31:48 +08:00
Lubomir I. Ivanov
6efdcfd15b kubeadm: perform dockershim cleanup for 1.25
Given kubeadm 1.25 only supports kubelet 1.25 and 1.24,
1.23 related logic around dockershim can be removed.

- Don't clean the directories
/var/lib/dockershim, /var/runkubernetes, /var/lib/cni
- Pass the CRISocket directly to the kubelet
--container-runtime-endpoint flag without extra handling
of dockershim
- No longer apply the --container-runtime=remote flag
as that is the only possible value in 1.24 and 1.25
- Update unit tests


Note: we are still passing --pod-infra-container-image
to avoid the pause image to be GCed by the kubelet.
2022-05-12 21:38:17 +03:00
cyclinder
6150737d11 remove feature gate GA for 1.25
Signed-off-by: cyclinder qifeng.guo@daocloud.io
2022-05-12 14:15:23 +08:00
Wojciech Tyczyński
2dd44d6226 Cleanup no-longer used storage cleanup method 2022-05-11 20:11:37 +02:00
Lubomir I. Ivanov
b1f3034051 kubeadm: only taint CP nodes when the legacy "master" taint is present
During upgrade when a CP node is missing the old / legacy "master"
taint, assume the user has manually removed it to allow
workloads to schedule.

In such cases do not re-taint the node with the new "control-plane"
taint.
2022-05-05 23:39:23 +03:00
Kubernetes Prow Robot
f1ad477c88
Merge pull request #109751 from SataQiu/clean-kubeadm-20220502
kubeadm: replace *clientset.Clientset with clientset.Interface for join phase
2022-05-05 01:43:06 -07:00
Kubernetes Prow Robot
b593ed3118
Merge pull request #109659 from heqg/structuredLog01
Log StructuredLog: spelling formatting
2022-05-04 02:35:34 -07:00
Kubernetes Prow Robot
7adb7c1d06
Merge pull request #109612 from pandaamanda/remove_DeprecatedControllerOptions
refactor: remove deprecated `deleting-pods-qps` `deleting-pods-burst` `register-retry-count`  flags
2022-05-04 02:34:54 -07:00
Kubernetes Prow Robot
74ec2dd197
Merge pull request #109527 from navist2020/kubeadm/preflightError
Return preflightError if an error occurs when running the preflight
2022-05-04 01:29:04 -07:00
Kubernetes Prow Robot
d0fc41d105
Merge pull request #109324 from wppzxc/fix-output
Fix: test case wrong output in cmd/kubeadm/app/cmd/completion_test.go
2022-05-03 19:31:14 -07:00
Kubernetes Prow Robot
cc2807c521
Merge pull request #109303 from wojtek-t/clean_storage_shutdown
Cleanup rest storage resources on shutdown
2022-05-03 19:30:57 -07:00
Kubernetes Prow Robot
2d1f12942f
Merge pull request #108476 from ialidzhikov/cleanup/experimental-cluster-signing-duration
kube-controller-manager: Remove the deprecated `--experimental-cluster-signing-duration` flag
2022-05-03 18:23:31 -07:00
SataQiu
eb1492bb00 kubeadm: replace *clientset.Clientset with clientset.Interface for join phase 2022-05-02 19:25:47 +08:00
何庆国10193842
3d14bcb9a4 Log StructuredLog: spelling formatting
Signed-off-by: 何庆国10193842 <he.qingguo@zte.com.cn>
2022-04-26 17:04:06 +08:00
熊中谅10171568
c4579165f1 refactor: remove deprecated flags
refactor: remove deprecated deleting-pods-qps deleting-pods-burst register-retry-count flags
2022-04-22 20:28:12 +08:00
navist2020
2a7e85bfdb Return preflightError if an error occurs when running the preflight 2022-04-20 11:39:35 +08:00
Wojciech Tyczyński
0527a0dd45 Cleanup rest storage resources on shutdown 2022-04-19 15:59:13 +02:00
Stephen Augustus
3f85937b11
etcd: Update to v3.5.3
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2022-04-13 19:04:00 -04:00
James Laverack
7d57d5c70d Revert "Introduce APIs to support multiple ClusterCIDRs (#108290)"
This reverts commit b9792a9dae.
2022-04-13 13:58:19 +01:00
ialidzhikov
c682716e87 kubelet: Remove the deprecated --experimental-kernel-memcg-notification flag
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-04-08 10:40:25 +03:00
Soh Takada
5ec2aaa339 validate nodeLabels in kubelet
Signed-off-by: Soh Takada <34182539+FeLvi-zzz@users.noreply.github.com>
2022-04-07 20:27:11 +09:00
Paco Xu
36594d739b CRI socket paths should have URL scheme 2022-04-07 16:11:58 +08:00
HirazawaUi
fc0d38f02f The same err should not judge whether it is empty twice, and the err of "GetKubeletContainer" function should not affect the value of "RuntimeCgroups" 2022-04-07 11:08:25 +08:00
pengpeng wu
0b076a3dc3 Fix: test case wrong output in cmd/kubeadm/app/cmd/completion_test.go 2022-04-06 10:59:58 +08:00
Kubernetes Prow Robot
14cc997d03
Merge pull request #107178 from SataQiu/deprecated-20211222
kube-controller-manager: remove unused option deployment-controller-sync-period for deployment controller
2022-04-01 21:22:10 -07:00
Davanum Srinivas
108e3e28a9
Correctly attribute some datastructures from gotestsum repository
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-04-01 14:49:15 -04:00
David Ashpole
120da3bb9b
fix copylock vet errors in component-base metrics 2022-03-31 15:07:11 +00:00
Sarvesh Rangnekar
b9792a9dae
Introduce APIs to support multiple ClusterCIDRs (#108290)
* Introduce networking/v1alpha1 api, ClusterCIDRConfig type

Introduce networking/v1alpha1 api group.

Add `ClusterCIDRConfig` type to networking/v1alpha1 api group, this type
will enable the NodeIPAM controller to support multiple ClusterCIDRs.

* Change ClusterCIDRConfig.NodeSelector type in api

* Fix review comments for API

* Update ClusterCIDRConfig API Spec

Introduce PerNodeHostBits field, remove PerNodeMaskSize
2022-03-30 19:39:00 -07:00
Davanum Srinivas
d20df79545
prune junit xml files in ci harness
Over time the size of our junit xml has exploded to the point where
test-grid fails to process them. We still have the original/full
*.stdout files from where the junit xml files are generated from so the
junit xml files need NOT have the fill/exact output for
processing/display. So let us prune the large messages with an
indicator that we have "[... clipped...]" some of the content so folks
can see that they have to consult the full *.stdout files.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-30 12:58:43 -04:00
Davanum Srinivas
917c361880
Add a utility to prune junit xml files
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-30 12:58:43 -04:00
SataQiu
9ac1b4b68f remove unused option deployment-controller-sync-period for deployment controller 2022-03-30 20:00:53 +08:00
Kubernetes Prow Robot
e4690b0fbc
Merge pull request #109123 from dims/switch-to-pause-3.7
Switch to pause 3.7 for Kubernetes 1.24
2022-03-29 20:37:39 -07:00
Jefftree
67d3dbfaae Separate OpenAPI V2 and V3 Config 2022-03-29 17:49:56 -07:00
Kubernetes Prow Robot
5b8dbfbbcf
Merge pull request #108995 from pohly/log-contextual
contextual logging
2022-03-29 17:35:59 -07:00
Kubernetes Prow Robot
faf7ad6120
Merge pull request #108146 from marosset/windows-kubelet-elevated-check
Fixing logic for kubelet permissions check on windows
2022-03-29 17:34:40 -07:00
Kubernetes Prow Robot
0f2300575c
Merge pull request #108032 from deejross/kep3140-cronjob-timezone
KEP 3140: TimeZone support for CronJob
2022-03-29 17:34:20 -07:00
Davanum Srinivas
f7ad09c447
Switch to pause 3.7
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-29 15:36:38 -04:00
Patrick Ohly
7de1b05e85 logging: add ContextualLogging feature
InitLogs overrides the klog default and turns contextual logging off. This
ensures that it is only enabled in Kubernetes commands that explicitly enable
it via a feature gate. A feature gate for it gets defined in
k8s.io/component-base/logs and is then used by Options.ValidateAndApply.

The effect of disabling contextual logging is very limited according to
benchmarks with kube-scheduler. The feature gets added anyway to satisfy the
PRR recommendation that features should be controllable.

The following commands have support for contextual logging:
- kube-apiserver
- kube-controller-manager
- kubelet
- kube-scheduler
- component-base/logs example

Supporting a feature gate check in ValidateAndApply and not in InitLogs is a
simplification: changing InitLogs to accept a FeatureGate would have implied
changing also component-base/cli.Run. This didn't seem worthwhile because
ValidateAndApply already covers the relevant commands.
2022-03-29 13:29:57 +02:00
Kubernetes Prow Robot
656dc213ce
Merge pull request #108992 from alexzielenski/cache-busting-client-go
client-go: OpenAPI v3 support
2022-03-28 21:37:11 -07:00
Ross Peoples
f3b928a23d Import tzdata in apiserver, CronJob.timeZone fixes 2022-03-28 16:33:05 -05:00
Ross Peoples
98837de446 TimeZone support for CronJobs 2022-03-28 16:33:00 -05:00
Lubomir I. Ivanov
c9386abd5f kubeadm: add etcd flag for member data consistency
Include the flag "--experimental-initial-corrupt-check"
in etcd static pod manifests to ensure
etcd member data consistency.

The etcd feature is planned for graduation in 3.6,
at which point we should switch to using the flag
without the "experimental" prefix.
2022-03-28 20:47:49 +03:00
Alexander Zielenski
52f7fd6534
update kubeadm restrictions to include v3 2022-03-28 10:07:56 -07:00
Kubernetes Prow Robot
16fe367389
Merge pull request #106451 from soltysh/cli_owners
Add cli-maintainers as approvers to cmd/(gendocs|genman|genyaml)
2022-03-28 07:51:23 -07:00
Kubernetes Prow Robot
9423ea4c1e
Merge pull request #109001 from wppzxc/master
Fix: Correct spelling mistakes in cmd/kubeadm/app/cmd/phases/workflow/runner_test.go
2022-03-28 06:45:00 -07:00
Kubernetes Prow Robot
b5f8d9ec16
Merge pull request #107724 from kkkkun/fix-leaderlost
Fixes exited messages when leaderelection lost
2022-03-28 06:44:48 -07:00
Kubernetes Prow Robot
922ccde1b4
Merge pull request #95400 from tssurya/detect-local-traffic-using-interface
Detect local traffic using interface
2022-03-28 06:43:22 -07:00
Maciej Szulik
1e62529ab8
Add cli-maintainers as approvers to cmd/(gendocs|genman|genyaml) 2022-03-28 14:00:35 +02:00
Kubernetes Prow Robot
083c3ac4e8
Merge pull request #106998 from eltociear/patch-7
Fix typo in get_test.go
2022-03-25 20:23:55 -07:00
Kubernetes Prow Robot
c239b406f0
Merge pull request #108929 from gnufied/move-expansion-feature-gate-ga
Move all volume expansion feature gates to GA
2022-03-25 18:08:16 -07:00
Surya Seetharaman
7d480d8ac8 Enable local traffic detection using the interface options
This commit adds the framework for the new local detection
modes BridgeInterface and InterfaceNamePrefix to work.

Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
2022-03-25 20:06:12 +01:00
Paco Xu
22fb3be96d cleanup: kubeadm upgrade plan supports json/yaml output
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2022-03-25 16:15:43 +08:00
pengpeng wu
f67ec386a5 Fix: Correct spelling mistakes in cmd/kubeadm/app/cmd/phases/workflow/runner_test.go 2022-03-25 10:08:00 +08:00
Kubernetes Prow Robot
d60df5ba04
Merge pull request #108159 from pohly/logcheck
logcheck update and golangci-lint integration
2022-03-24 18:37:50 -07:00
Mark Rossetti
2e036ad7c3 Fixing logic for kubelet permissions check on windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-03-24 14:57:08 -07:00
Hemant Kumar
9343cce20b remove ExpandPersistentVolume feature gate 2022-03-24 10:02:47 -04:00
Patrick Ohly
edffc700a4 enhance and fix log calls
Some of these changes are cosmetic (repeatedly calling klog.V instead of
reusing the result), others address real issues:

- Logging a message only above a certain verbosity threshold without
  recording that verbosity level (if klog.V().Enabled() { klog.Info... }):
  this matters when using a logging backend which records the verbosity
  level.

- Passing a format string with parameters to a logging function that
  doesn't do string formatting.

All of these locations where found by the enhanced logcheck tool from
https://github.com/kubernetes/klog/pull/297.

In some cases it reports false positives, but those can be suppressed with
source code comments.
2022-03-24 11:13:50 +01:00
Patrick Ohly
0f4d0660a7 kube-scheduler: finish conversion to structured logging
Thanks to support for multi-line string values we can now also convert
these remaining klog.Info calls without making the output unreadable
in text format.

The debug log messages intentionally don't get changed to ensure that
developers looking for it still find it.

The output now looks like this:

I0322 11:44:46.715093  458409 configfile.go:96] "Using component config" config=<
	apiVersion: kubescheduler.config.k8s.io/v1beta2
	clientConnection:
	  acceptContentTypes: ""
	  burst: 100
	  contentType: application/vnd.kubernetes.protobuf
	  kubeconfig: /var/run/kubernetes/scheduler.kubeconfig
	  qps: 50
	enableContentionProfiling: true
 ...
	  schedulerName: default-scheduler
 >

I0322 11:45:08.695649  458409 comparer.go:42] "Cache comparer started"
I0322 11:45:08.695718  458409 comparer.go:67] "Cache comparer finished"
I0322 11:45:08.695820  458409 dumper.go:52] "Dump of cached NodeInfo" nodes=<
	Node name: 127.0.0.1
	Deleted: false
	Requested Resources: &{MilliCPU:0 Memory:0 EphemeralStorage:0 AllowedPodNumber:0 ScalarResources:map[]}
	Allocatable Resources:&{MilliCPU:36000 Memory:67019448320 EphemeralStorage:181555660500 AllowedPodNumber:110 ScalarResources:map[hugepages-1Gi:0 hugepages-2Mi:0]}
	Scheduled Pods(number: 0):
 >
I0322 11:45:08.695873  458409 dumper.go:62] "Dump of scheduling queue" pods=<
	name: coredns-6874cd75d4-fv6hv, namespace: kube-system, uid: f1df106f-7fd9-460d-8403-333df61b2751, phase: Pending, nominated node:
 >
2022-03-24 11:13:50 +01:00
Alex Wang
8a5df1302a rename unschedulableQ to unschedulablePods
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2022-03-24 17:38:49 +08:00
Kun Zhang
6f8e9aa05d Fixes exited messages when leaderelection lost 2022-03-24 17:33:16 +08:00
Kubernetes Prow Robot
14e8db067e
Merge pull request #108191 from ravisantoshgudimetla/wire-cert-contexts
Wire cert contexts
2022-03-23 11:20:17 -07:00
Kubernetes Prow Robot
de88dfcaf4
Merge pull request #108873 from saschagrunert/kubeadm-crictl-path
kubeadm: reuse found crictl path for exec
2022-03-22 12:22:11 -07:00
Kubernetes Prow Robot
e0b334f570
Merge pull request #105077 from marosset/windows-run-kubelet-in-job-object
Run kubelet in a job object in windows
2022-03-22 10:35:59 -07:00
Sascha Grunert
6b63231b7e
kubeadm: reuse found crictl path for exec
We now re-use the crictl tool path within the `ContainerRuntime` when
exec'ing into it. This allows introducing a convenience function to
create the crictl command and re-use it where necessary.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2022-03-22 14:03:57 +01:00
Wei Huang
d330f4dcb4
Fix a bug that out-of-tree plugin is misplaced when using scheduler v1beta3 config 2022-03-21 10:46:26 -07:00
Kubernetes Prow Robot
aface3ab99
Merge pull request #108761 from denkensk/set-flush-arg
Set PodMaxUnschedulableQDuration as 5 min
2022-03-17 20:15:39 -07:00
SataQiu
6c57e2fced kubeadm: fix the bug that windows node failed to join IPv6 cluster due to preflight failures
Signed-off-by: SataQiu <shidaqiu2018@gmail.com>
2022-03-17 22:07:08 +08:00
Alex Wang
e772202e95 set PodMaxUnschedulableQDuration as 5 min 2022-03-17 15:37:34 +08:00
Kubernetes Prow Robot
41b29e6542
Merge pull request #99287 from anfernee/clientip
Add HNS Load Balancer Healthchecks for ExternalTrafficPolicy: Local
2022-03-16 22:57:18 -07:00
Kubernetes Prow Robot
72a1dcb6e7
Merge pull request #108539 from ialidzhikov/cleanup/horizontal-pod-autoscaler-use-rest-clients
kube-controller-manager: Cleanup MarkDeprecared call for already removed flag
2022-03-15 16:09:59 -07:00
Mark Rossetti
f63a194d9e Run kubelet in a job object in windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-03-15 12:17:52 -07:00
Yongkun Gui
78a507b256 Fix health check from Google's Load Balancer
This change adds 2 options for windows:
--forward-healthcheck-vip: If true forward service VIP for health check
port
--root-hnsendpoint-name: The name of the hns endpoint name for root
namespace attached to l2bridge, default is cbr0

When --forward-healthcheck-vip is set as true and winkernel is used,
kube-proxy will add an hns load balancer to forward health check request
that was sent to lb_vip:healthcheck_port to the node_ip:healthcheck_port.
Without this forwarding, the health check from google load balancer will
fail, and it will stop forwarding traffic to the windows node.

This change fixes the following 2 cases for service:
- `externalTrafficPolicy: Cluster` (default option): healthcheck_port is
10256 for all services. Without this fix, all traffic won't be directly
forwarded to windows node. It will always go through a linux node and
get forwarded to windows from there.
- `externalTrafficPolicy: Local`: different healthcheck_port for each
service that is configured as local. Without this fix, this feature
won't work on windows node at all. This feature preserves client ip
that tries to connect to their application running in windows pod.

Change-Id: If4513e72900101ef70d86b91155e56a1f8c79719
2022-03-11 22:34:59 -08:00
Tyler Lloyd
a7d866f036
chore: kube-proxy cluder-cidr arg accepts comma-separated list (#105832)
* kube-proxy cluder-cidr arg accepts comma-separated list

It is possible in dual-stack clusters to provide kube-proxy with
a comma-separated list with an IPv4 and IPv6 CIDR for pods.

update: signoff
update2: update email profile

Signed-off-by: Tyler Lloyd <Tyler.Lloyd@microsoft.com>
Signed-off-by: Tyler Lloyd <tylerlloyd928@gmail.com>

* Updating cluster-cidr comment description

Signed-off-by: Tyler Lloyd <tyler.lloyd@microsoft.com>
2022-03-11 02:03:07 -08:00
Lubomir I. Ivanov
76e8a067d1 kubeadm: fix bad indentation in the API go docs
For the YAML examples, make the indentation consistent
by starting with a space and following with a TAB.
Also adjust the indentation of some fields to place them under
the right YAML field parent - e.g. ignorePreflightErrors
is under nodeRegistration.
2022-03-10 18:36:13 +02:00
Kubernetes Prow Robot
a41f9e976d
Merge pull request #108107 from aojea/kubelet_http2_heartbeat
kubelet apiserver: be gentle closing connections on heartbeat failures
2022-03-09 01:32:12 -08:00
carlory
fcc282f9f2 remove audit.k8s.io/v1[alpha|beta]1 versions 2022-03-08 14:37:26 +08:00
Ravi Gudimetla
72a62f47f7 Wire context for cert controllers
All the controllers should use context for signalling termination of communication with API server. Once kcm cancels context all the cert controllers which are started via kcm should cancel the APIServer request in flight instead of hanging around.
2022-03-07 10:19:45 -05:00
Ravi Gudimetla
8b84a793b3 API Server Changes
This commit includes all the changes needed for APIServer. Instead of modifying the existing signatures for the methods which either generate or return stopChannel, we generate a context from the channel and use the generated context to be passed to the controllers which are started in APIServer. This ensures we don't have to touch APIServer dependencies.
2022-03-07 09:37:01 -05:00
Kubernetes Prow Robot
3775ac6d19
Merge pull request #108535 from Abirdcfly/master
fix some typo
2022-03-05 22:46:52 -08:00
Abirdcfly
2005110090 fix some typo
Change-Id: I211f572555e964581214a5d726ac552676c9833a
2022-03-05 23:25:52 +08:00
ialidzhikov
9c7c7cca24 kube-controller-manager: Cleanup MarkDeprecared call for already removed flag
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-03-05 12:53:44 +02:00
Kubernetes Prow Robot
d7d121999d
Merge pull request #108480 from wojtek-t/log_golang_envs
Log main golang runtime env vars
2022-03-04 00:10:51 -08:00
Wojciech Tyczyński
ef2e32ab65 Log main golang runtime env vars 2022-03-04 08:04:02 +01:00
Paco Xu
79ecd60208 bugfix(kubeadm): Fix UT and log optmize 2022-03-03 19:09:26 +08:00
Paco Xu
93daef6e77 feature(kubeadm): add support of json/yaml format for upgrade plan
- cherry-pick 83941 and rebase
2022-03-03 17:23:03 +08:00
Kubernetes Prow Robot
428ec843a5
Merge pull request #107121 from borgerli/fix-kubelet-config-log
1.21 regression: fix regression introduced by PR 100320 - sensitive information would be logged
2022-03-03 00:28:48 -08:00
ialidzhikov
a444eb60d7 kube-controller-manager: Remove the deprecated --experimental-cluster-signing-duration flag
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-03-03 08:47:49 +02:00
Haleygo
3bbc2572c5 fix dryrun when ca file exists 2022-03-03 11:53:42 +08:00
Kubernetes Prow Robot
4fcfc58d1b
Merge pull request #108315 from Monokaix/print-getStaticPodSingleHash-err
kubeadm: improve getStaticPodSingleHash error messages
2022-03-02 09:17:14 -08:00
Kubernetes Prow Robot
88f9728339
Merge pull request #108309 from zshihang/token
no auto-generation of secret-based service account token
2022-03-02 06:19:15 -08:00
XuzhengChang
7824316e89 Print getStaticPodSingleHash err message 2022-03-02 09:34:12 +08:00
Kubernetes Prow Robot
bf7b9119f0
Merge pull request #108278 from kerthcet/feature/graduate-defaultPodTopologySpread-to-ga
graduate default pod topology spread to ga
2022-02-28 08:02:57 -08:00
Jack
91c7f3f66a chore(kubelet): simpler createAndInitKubelet func 2022-02-24 14:20:32 -08:00
Kubernetes Prow Robot
06e107081e
Merge pull request #104732 from mengjiao-liu/remove-flag-experimental-check-node-capabilities-before-mount
kubelet: Remove the deprecated flag `--experimental-check-node-capabilities-before-mount`
2022-02-24 07:56:30 -08:00
Shihang Zhang
fb6c727fde no auto-generation of secret-based service account token 2022-02-23 14:17:30 -08:00
David Eads
a59b92e8c0 reduce API surface area of whether a resource is enabled 2022-02-23 13:36:33 -05:00
kerthcet
4439fc3590 feat: graduate DefaultPodTopologySpread to GA
Co-authored-by: drfish <drfish.me@gmail.com>
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-02-23 19:45:27 +08:00
Antonio Ojea
39e9b19b88 kubelet: rename closeAllConns to onHeartbeatFailure
Since the behavior of the kubelet OnHeartbeatFailure hook has changed
to close only the idle connections, rename this function to match
the semantics.
2022-02-18 16:30:22 +01:00
Kubernetes Prow Robot
0cfb5ccd6a
Merge pull request #107725 from neolit123/1.24-kubeadm-improve-strict-validation
kubeadm: improve the strict unmarshaling of component config
2022-02-17 15:01:02 -08:00
Lubomir I. Ivanov
ee5c927f06 kubeadm: improve strict validation for configuration
- Modify VerifyUnmarshalStrict to use serializer/json instead
of sigs.k8s.io/yaml. In strict mode, the serializers
in serializer/json use the new sigs.k8s.io/json library
that also catches case sensitive errors for field names -
e.g. foo vs Foo. Include test case for that in strict/testdata.
- Move the hardcoded schemes to check to the side of the
caller - i.e. accept a slice of runtime.Scheme.
- Move the klog warnings outside of VerifyUnmarshalStrict
and make them the responsibility of the caller.
- Call VerifyUnmarshalStrict when downloading the configuration
from kubeadm-config or the kube-proxy or kubelet-config CMs.
This validation is useful if the user has manually patched the CMs.
2022-02-17 19:37:41 +02:00
Kubernetes Prow Robot
f538b0b105
Merge pull request #108017 from denkensk/add-flush-flag
Add a deprecated cmd flag for the time interval between flushing pods from unschedualbeQ to activeQ or backoffQ.
2022-02-16 07:56:38 -08:00
Kubernetes Prow Robot
1fa888529e
Merge pull request #107533 from neolit123/1.24-update-master-label-taint
kubeadm: apply "master" label/taint migration for 1.24
2022-02-15 21:44:36 -08:00
Alex Wang
87549203e9 add deprecated flag for flush pods to activeq interval 2022-02-16 11:05:52 +08:00
Kubernetes Prow Robot
1ae7da0b68
Merge pull request #108109 from eddiezane/ez/update-sig-cli-owners
Update sig-cli OWNERS
2022-02-14 12:06:30 -08:00
Kubernetes Prow Robot
d374c954de
Merge pull request #108027 from neolit123/1.24-update-unversioned-kubelet-cm-fg
kubeadm: switch UnversionedKubeletConfigMap to true
2022-02-14 10:59:52 -08:00
Eddie Zaneski
040d575e9f
Update sig-cli OWNERS
Signed-off-by: Eddie Zaneski <eddiezane@gmail.com>
2022-02-14 10:55:35 -07:00
Antonio Ojea
ac22287051 kubelet apiserver: be gentle closing connections on heartbeat failures 2022-02-14 17:32:24 +01:00
Matthias Bertschy
9500ee9d9c container_manager: use oomScoreAdj instead of default when set 2022-02-12 15:23:13 +01:00
Kubernetes Prow Robot
8580bbf7d7
Merge pull request #107594 from hakman/remove_container-runtime_logic
Clean up logic for deprecated flag --container-runtime in kubelet
2022-02-11 12:57:47 -08:00
Kubernetes Prow Robot
a1ac74224e
Merge pull request #108062 from aojea/lease_reconciler
apiserver: use endpoint lease reconciler as default
2022-02-11 07:37:45 -08:00
Antonio Ojea
5a20c425f2 apiserver: use endpoint lease reconciler as default
The apiserver owns and manages the kubernetes.default service.

It has 3 different options to reconcile the endpoints that belong to
that service:

- None: endpoints are handled by an external party.
- MasterCount: legacy, it reconciles based on the endpoints generated
and a flag specifying the number of master on the cluster.
- Lease: default since 1.11, each apiserver writes a lease in etcd
and renews periodically, the endpoints are generated based on the
existing leases.

It seems that when the default was set for the lease reconciler, the
controlplane code wasn't updated and kept using the master count
reconciler.

This also starts the deprecation of the master count reconciler in
favor of the lease reconciler.
2022-02-11 09:00:54 +01:00
Kubernetes Prow Robot
542a979c03
Merge pull request #108029 from deads2k/just-runtimeconfig
update the --runtime-config handling to ensure that user preferences always take priority over hardcoded preferences
2022-02-10 10:15:57 -08:00
Lubomir I. Ivanov
f6fbf6c6e6 kubeadm: remove mentions of the x.yy versioned kubelet config CM
The legacy naming "kubelet-config-x.yy" is no longer the
default behavior. Rename instances in documentation and comments
of "kubelet-config-x.yy" to "kubelet-config".
2022-02-10 18:14:50 +02:00
David Eads
41b2662bac update resourceconfig to have per-resource preferences take priority 2022-02-10 10:53:16 -05:00
Ciprian Hacman
0819451ea6 Clean up logic for deprecated flag --container-runtime in kubelet
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-02-10 13:26:59 +02:00
Lubomir I. Ivanov
66a18df14c kubeadm: switch UnversionedKubeletConfigMap to true
- Graduate the feature gate to Beta and enable it by default.
- Pre-set the default value for UnversionedKubeletConfigMap
to "true" in test/e2e_kubeadm.
- Fix a couple of typos in "tolerate" introduced in the PR that
added the FG in 1.23.
2022-02-09 18:33:27 +02:00
SataQiu
2c5aef9036 kubeadm: fix the bug that 'kubeadm init --dry-run --upload-certs' command failed with 'secret not found' error 2022-02-09 12:58:02 +08:00
Kubernetes Prow Robot
8d01b02c60
Merge pull request #107096 from hakman/remove_non-masquerade-cidr
Remove deprecated flag --non-masquerade-cidr in kubelet
2022-02-08 12:42:50 -08:00
Kubernetes Prow Robot
eda02deda2
Merge pull request #107785 from chendave/warn
kubeadm: warn only when config value is different with default value
2022-02-08 08:18:55 -08:00
SataQiu
dcf959c782 kubeadm: fix the bug that 'kubeadm certs generate-csr' command does not remove duplicated SANs 2022-02-07 17:12:38 +08:00
ravisantoshgudimetla
65ff81757d Wire contexts to Disruption controllers 2022-02-04 10:32:04 -05:00
Kubernetes Prow Robot
8f80ae88f2
Merge pull request #107532 from marseel/add_bootstrap_to_kubemark
Add option to bootstrap kubeconfig for hollow-node
2022-02-02 06:44:21 -08:00
Kubernetes Prow Robot
f11dbaea2f
Merge pull request #106883 from calvin0327/move-well-know-systemConstant
kubeadm: move well-known system constants to constants.go
2022-02-01 17:28:21 -08:00
Marcel Zięba
27336259ba Add option to bootstrap kubeconfig for hollow-node 2022-02-01 11:56:02 +00:00
ahrtr
972dc46a1f replace deprecated io/ioutil with os and io for cmd 2022-02-01 13:59:41 +08:00
Dave Chen
29a870da2e kubeadm: warn only when config value is different with default value
Compare with two pointers will always show that they are different value,
so it will always print the warning message.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-01-28 13:04:40 +08:00
calvin
fcfcdef8fd move well-known system constants to constants.go 2022-01-27 10:39:14 +08:00
Sergey Kanzhelev
7e7bc6d53b remove DynamicKubeletConfig logic from kubelet 2022-01-19 22:38:04 +00:00
Ciprian Hacman
21809043b5 Remove deprecated flag --non-masquerade-cidr in kubelet
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-01-19 09:17:26 +02:00
Kubernetes Prow Robot
feb758027c
Merge pull request #106907 from cyclinder/remove_dockershim_flags
Clean up dockershim flags in the kubelet
2022-01-18 09:09:09 -08:00
Kubernetes Prow Robot
8a25964153
Merge pull request #107317 from neolit123/1.24-change-kubeadm-cr-auto-detection
kubeadm: adapt CRI detection and defaults after the dockershim removal
2022-01-17 11:00:50 -08:00
Kubernetes Prow Robot
b6c06a95d7
Merge pull request #107584 from SataQiu/clean-kubeadm-20220115
kubeadm: make the phase prefix and capitalization consistent
2022-01-17 04:35:30 -08:00
Kubernetes Prow Robot
07c1b4556d
Merge pull request #105586 from jonyhy96/fix-help-misleading
kube-proxy: fix misleading in help info
2022-01-15 19:23:26 -08:00
SataQiu
aed6f56257 kubeadm: make the phase prefix and capitalization consistent 2022-01-16 00:01:35 +08:00
cyclinder
07999dac70 Clean up dockershim flags in the kubelet
Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-01-14 16:02:50 +02:00
Kubernetes Prow Robot
19a37027dc
Merge pull request #107512 from SataQiu/support-reset-dryrun-20220113
kubeadm reset: add support for dry-run
2022-01-14 06:01:49 -08:00
SataQiu
e91c829836 kubeadm reset: add support for dry-run 2022-01-14 11:07:09 +08:00
Kubernetes Prow Robot
3bd422dc76
Merge pull request #107293 from dims/jan-1-owners-cleanup
Cleanup OWNERS files - Jan 2021 Week 1
2022-01-13 10:30:30 -08:00
Lubomir I. Ivanov
db6061f5a6 kubeadm: apply the new "control-plane" taint during upgrade
- During "upgrade apply" call a new function AddNewControlPlaneTaint()
that finds all nodes with the new "control-plane" node-role label
and adds the new "control-plane" taint to them.
- The function is called in "apply" and is separate from
the step to remove the old "master" label for better debugging
if errors occur.
2022-01-13 17:46:11 +02:00
Lubomir I. Ivanov
370031cada kubeadm: apply the new "control-plane" taint on CP nodes
- Apply "control-plane" taint during init/join by adding the
taint in SetNodeRegistrationDynamicDefaults(). The old
taint "master" is still applied.
- Clarify API docs (v1beta2 and v1beta3) for nodeRegistration.Taint
to not mention "master" taint and be more generic. Remove
example for taints that includes the word "master".
- Update unit tests.
2022-01-13 17:46:05 +02:00
Lubomir I. Ivanov
a3d5e55982 kubeadm: only apply the new "control-plane" label during init/join
- Update the markcontrolplane phase used by init and join to
only label the nodes with the new control plane label.
- Cleanup TODOs about the old label.
- Remove outdated comment about selfhosting in staticpod/utils.go.
Selfhosting has not been supported in kubeadm for a while
and the comment also mentions the "master" label.
- Update unit tests.
2022-01-13 17:45:54 +02:00
Lubomir I. Ivanov
c0871b4433 kubeadm: delete the old "master" label during upgrade
- Rename the function in postupgrade.go to better reflect
what is being done.
- During "upgrade apply" find all nodes with the old label
and remove it by calling PatchNode.
- Update health check for CP nodes to not track "master"
labeled nodes. At this point all CP nodes should have
"control-plane" and we can use that selector only.
2022-01-13 17:45:32 +02:00
Lubomir I. Ivanov
f3f1332223 kubeadm: update the CRI socket detection logic
- Throw an error if there is more than one known socket on the host.
- Remove the special handling for docker+containerd.
- Remove the local instances of constants for endpoints for
Windows / Unix and use the defaultKnownCRISockets variable
which is populated from OS specific constants.
- Update error message in detectCRISocketImpl to have more
details.
- Make detectCRISocketImpl accept a list of "known" sockets
- Update unit tests for detectCRISocketImpl and make them
use generic paths such as "unix:///foo/bar.sock".
2022-01-12 17:15:45 +02:00
Lubomir I. Ivanov
ea2c948799 kubeadm: change the default CRI socket to containerd
Change the default container runtime CRI socket endpoint to the
one of containerd. Previously it was the one for Docker

- Rename constants.DefaultDockerCRISocket to DefaultCRISocket
- Make the constants files include the endpoints for all supported
container runtimes for Unix/Windows.
- Update unit tests related to docker runtime testing.
- In kubelet/flags.go hardcode the legacy docker socket as a check
to allow kubeadm 1.24 to run against kubelet 1.23 if the user
explicitly sets the criSocket field to "npipe:////./pipe/dockershim"
on Windows or "unix:///var/run/dockershim.sock" on Linux.
2022-01-12 17:15:45 +02:00
Patrick Ohly
9eaa2dc554 avoid klog Info calls without verbosity
In the following code pattern, the log message will get logged with v=0 in JSON
output although conceptually it has a higher verbosity:

   if klog.V(5).Enabled() {
       klog.Info("hello world")
   }

Having the actual verbosity in the JSON output is relevant, for example for
filtering out only the important info messages. The solution is to use
klog.V(5).Info or something similar.

Whether the outer if is necessary at all depends on how complex the parameters
are. The return value of klog.V can be captured in a variable and be used
multiple times to avoid the overhead for that function call and to avoid
repeating the verbosity level.
2022-01-12 07:48:36 +01:00
Kubernetes Prow Robot
57d66b9aad
Merge pull request #106400 from mahendrabishnoi2/master
fix grammar
2022-01-11 13:56:41 -08:00
Kubernetes Prow Robot
9c468ecf30
Merge pull request #107467 from SataQiu/kubeadm-cleanup-20220111
kubeadm: print warnings to stderr
2022-01-11 09:46:57 -08:00
Kubernetes Prow Robot
8f453c9d79
Merge pull request #107044 from pohly/cli-invalid-command
cli: avoid logging command line errors in more cases
2022-01-11 09:46:37 -08:00
SataQiu
218b4dea9f kubeadm: print warnings to stderr 2022-01-11 23:08:59 +08:00
Lubomir I. Ivanov
ad58393e19 kubeadm: remove the deprecated output/v1alpha1 API
The API was deprecated in 1.23 when output/v1alpha2 was
added. v1alpha1 is problematic since it embeds kubeadm/v1beta2
BootstrapToken related types directly. v1alpha2 imports
a new group dedicated to bootstrap tokens apis/bootstraptoken.
2022-01-11 12:51:46 +02:00
Patrick Ohly
a5d2d6fec3 cli: let kubectl handle error printing
cli.Run was an attempt to elliminate error handling in Kubernetes
commands. However, it had to rely on heuristics that are not necessarily right
for all commands.

kubectl is one example which has its own error printing code that should be
used in all cases after a command failure. It now gets used also for
`--warnings-as-errors`. Previously, that caused the following message to be
logged at the end:

  E0110 16:56:01.987555  202060 run.go:120] "command failed" err="1 warning received"

Now it ends with:

 error: 1 warning received
2022-01-10 17:09:30 +01:00
Davanum Srinivas
ba1f853b5a
Add mwielgus back
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-01-10 09:02:53 -05:00
Davanum Srinivas
9682b7248f
OWNERS cleanup - Jan 2021 Week 1
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-01-10 08:14:29 -05:00
Kubernetes Prow Robot
9bbc5b15e7
Merge pull request #105870 from cyclinder/kube_scheduler_MarkFlagFilename
kube-scheduler: log possible error
2022-01-07 19:05:04 -08:00
Kubernetes Prow Robot
ac318a6518
Merge pull request #106865 from jonyhy96/cleanup-scheduler-flag
[scheduler] cleanup: remove insecure flag
2022-01-07 08:58:45 -08:00
cyclinder
1a16de783b kube-scheduler: log the unhandled error
Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
2022-01-07 18:21:11 +08:00
haoyun
732cb36725 fix: misleading in help info
Signed-off-by: haoyun <yun.hao@daocloud.io>
2022-01-07 14:50:31 +08:00
Ikko Ashimine
6debd53ff3 Fix typo in flags.go 2022-01-07 04:02:11 +09:00
Kubernetes Prow Robot
b1c204a237
Merge pull request #104774 from kerthcet/bug/fix-kubelet-log-defer-conflict-with-exit
fix kubelet flushlogs not working together with exit
2022-01-06 10:40:32 -08:00
Mengjiao Liu
beda4cafb6 kubelet: Remove the deprecated flag --experimental-check-node-capabilities-before-mount 2022-01-06 11:47:11 +08:00
Kubernetes Prow Robot
c15e24b128
Merge pull request #107327 from SataQiu/kubeadm-cert
kubeadm: remove the restriction that the ca.crt can only contain one certificate
2022-01-05 19:08:39 -08:00
Kubernetes Prow Robot
a1be132c0d
Merge pull request #107270 from SataQiu/refactor-20211231
kubeadm: use build tags and split the Windows releated logic into separate files for kubelet component config
2022-01-05 13:54:29 -08:00
Lubomir I. Ivanov
936e12c930 kubeadm: do not special case Docker as a container runtime
crictl already works with the current state of dockershim.
Using the docker CLI is not required and the DockerRuntime
can be removed from kubeadm. This means that crictl
can connect at the dockershim (or cri-dockerd) socket and
be used to list containers, pull images, remove containers, and
all actions that the kubelet can otherwise perform with the socket.

Ensure that crictl is now required for all supported container runtimes
in checks.go. In the help text in waitcontrolplane.go show only
the crictl example.

Remove the check for the docker service from checks.go.
Remove the DockerValidor check from checks.go.
These two checks were special casing Docker as CR and compensating
for the lack of the same checks in dockershim. With the
extraction of dockershim to cri-dockerd, ideally cri-dockerd
should perform the required checks whether it can support
a given Docker config / version running on a host.
2022-01-05 21:27:24 +02:00
SataQiu
2a113424fc kubeadm: use build tags and split the Windows releated logic into separate files for kubelet component config 2022-01-05 16:04:55 +08:00
SataQiu
83ef08336b kubeadm: remove the restriction that the ca.crt can only contain one certificate 2022-01-05 15:08:29 +08:00
Kubernetes Prow Robot
885961cda8
Merge pull request #107314 from neolit123/1.24-fix-panic-in-runkubeletconfig
kubeadm: fix panic in runKubeletConfigPhase
2022-01-04 23:03:35 -08:00
Kubernetes Prow Robot
4eae933dc7
Merge pull request #106667 from SergeyKanzhelev/updateDeprecationMessages
updated deprecation messages from 1.23 to 1.24
2022-01-04 23:03:20 -08:00
Lubomir I. Ivanov
076b19f0eb kubeadm: fix panic in runKubeletConfigPhase
The "nro" struct must be initialized before passing it to
GetNodeRegistration().
2022-01-04 21:28:13 +02:00
Kubernetes Prow Robot
28bda67fb2
Merge pull request #105721 from yxxhero/optimize_controllermanger_cobra_param
Optimize Cobra parameters of Controller Manager
2022-01-04 11:26:50 -08:00
Kubernetes Prow Robot
c7d57a01b7
Merge pull request #107295 from neolit123/1.24-kubeadm-add-scheme-to-cri-sockets
kubeadm: ensure CRI endpoints are managed with URL schemes
2022-01-03 23:02:59 -08:00
Lubomir I. Ivanov
39330c4278 kubeadm: ensure CRI URL scheme is present in the kubelet env file
During "upgrade node" and "upgrade apply" read the
kubelet env file from /var/lib/kubelet/kubeadm-flags.env
patch the --container-runtime-endpoint flag value to
have the appropriate URL scheme prefix (e.g. unix:// on Linux)
and write the file back to disk.

This is a temporary workaround that should be kept only for 1 release
cycle - i.e. remove this in 1.25.
2022-01-03 23:13:31 +02:00
Lubomir I. Ivanov
207556e057 kubeadm: make "upgrade node" include URL scheme in socket paths
The CRI socket that kubeadm writes as an annotation
on a particular Node object can include an endpoint that
does not have an URL scheme. This is undesired as long term
the kubelet can stop allowing endpoints without URL scheme.

For control plane nodes "kubeadm upgrade apply" takes
the locally defaulted / populated NodeRegistration and refreshes
the CRI socket in PerformPostUpgradeTasks. But for secondary
nodes "kubeadm upgrade node" does not.

Adapt "upgrade node" to fetch the NodeRegistration for this node
and fix the CRI socket missing URL scheme if needed in the Node
annotation.
2022-01-03 23:13:31 +02:00
pacoxu
7594f0ef90 kubeadm: detect runtime socket as URL format
- Update defaults for v1beta2 and 3 to have URL scheme
- Raname DefaultUrlScheme to DefaultContainerRuntimeURLScheme
- Prepend a missing URL scheme to user sockets and warn them
that this might not be supported in the future
- Update socket validation to exclude IsAbs() testing
(This is broken on Windows). Assume the path is not empty and has
URL scheme at this point (validation happens after defaulting).
- Use net.Dial to open Unix sockets
- Update all related unit tests

Signed-off-by: pacoxu <paco.xu@daocloud.io>
Signed-off-by: Lubomir I. Ivanov <lubomirivanov@vmware.com>
2022-01-03 21:15:03 +02:00
Monokaix
eab74f15a5 Remove unused arg of kubeadm/WaitForKubeletAndFunc 2021-12-25 09:12:00 +08:00
Kubernetes Prow Robot
d0d23ea052
Merge pull request #107157 from chendave/proxy-config
kube-proxy: note that cli args is ignored if config file is specified
2021-12-21 12:44:25 -08:00
Dave Chen
e5eb158877 kube-proxy: note that cli args is ignored if config file is specified
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-12-21 17:04:47 +08:00
Kubernetes Prow Robot
f5f34166b7
Merge pull request #106954 from saschagrunert/experimental-runtime-flags
Mark `--container-runtime-endpoint` and `--image-service-endpoint` stable
2021-12-20 06:19:25 -08:00
Li Bo
7311aa4131 fix regression introduced by PR 100320 2021-12-18 21:39:24 +08:00
Kubernetes Prow Robot
522c1be4c1
Merge pull request #106648 from calvin0327/remove-dualStack-featureGate
kubeadm: cleanup the feature gate of dual-stack.
2021-12-15 17:27:18 -08:00
Kubernetes Prow Robot
1426587e08
Merge pull request #106436 from dims/cleanup-owners-files-no-activity-in-a-year
Cleanup OWNERS files (No Activity in the last year)
2021-12-15 12:07:51 -08:00
Davanum Srinivas
497e9c1971
Cleanup OWNERS files (No Activity in the last year)
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-15 10:34:02 -05:00
Kubernetes Prow Robot
be5b9b4f8d
Merge pull request #107013 from pacoxu/kubeadm-v1beta2-depre
kubeadm: mark v1beta2 as deprecated
2021-12-14 19:48:18 -08:00
Paco Xu
703f2a7b86 kubeadm: mark v1beta2 as deprecated 2021-12-15 09:36:42 +08:00
Kubernetes Prow Robot
77243f3274
Merge pull request #106973 from neolit123/1.24-adapt-kubeadm-to-dockershim-removal
kubeadm: handle dockershim specific flags for 1.24
2021-12-14 02:09:46 -08:00
Kubernetes Prow Robot
90110f71cb
Merge pull request #106256 from ardaguclu/use-serve-with-listener-stopped
Rename ServeWithListenerStopped to Serve in secure_serving
2021-12-13 07:35:58 -08:00
Lubomir I. Ivanov
6c6c7e5f0c kubeadm: handle dockershim specific flags for 1.24
Currently when the dockershim socket is used, kubeadm only passes
the --network-plugin=cni to the kubelet and assumes the built-in
dockershim. This is valid for versions <1.24, but with dockershim
and related flags removed the kubelet will fail.

Use preflight.GetKubeletVersion() to find the version of the host
kubelet and if the version is <1.24 assume that it has built-in
dockershim. Newer versions should will be treated as "remote" even
if the socket is for dockershim, for example, provided by cri-dockerd.

Update related unit tests.
2021-12-11 02:16:06 +02:00
Kubernetes Prow Robot
1d66302c42
Merge pull request #106458 from dims/lint-yaml-in-owners-files
Lint/Beautify yaml in OWNERS files
2021-12-10 06:39:12 -08:00
Sascha Grunert
5983850dbc
Mark --container-runtime-endpoint and --image-service-endpoint stable
Since we removed dockershim we now rely on both flags, which therefore
should not marked experimental any more.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-12-10 14:54:10 +01:00
Kubernetes Prow Robot
15e5f2a19a
Merge pull request #106291 from sbs2001/fix_invalid_comment
Remove invalid comment in legacyregistry
2021-12-09 19:03:10 -08:00
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Davanum Srinivas
a5c670102c
Cleanup owners files to make parsing automatable
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:03 -05:00
Kubernetes Prow Robot
b5a610064c
Merge pull request #106920 from neolit123/1.24-update-kubeadm-owners
kubeadm: update OWNERS for 1.24
2021-12-09 18:01:22 -08:00
Kubernetes Prow Robot
481459d12d
Merge pull request #106872 from calvin0327/fix-kubeadm-kubelet-constant
kubeadm: amend constant to kubelet.
2021-12-09 16:29:22 -08:00
Lubomir I. Ivanov
0290eb63b6 kubeadm: update OWNERS for 1.24 2021-12-09 21:07:56 +02:00
Kubernetes Prow Robot
8cc7d14588
Merge pull request #106859 from knight42/refactor/remove-apiserver-insecure-port
refactor(apiserver): remove the insecure flags
2021-12-09 09:48:30 -08:00
Kubernetes Prow Robot
cb0e11a296
Merge pull request #106860 from knight42/refactor/remove-ctrlmgr-insecure-port
refactor: remove the insecure flags in controller-manager
2021-12-09 08:06:16 -08:00
Kubernetes Prow Robot
f98f27bc2f
Merge pull request #106891 from neolit123/1.24-kubeadm-fix-external-etcd-ca-validation
kubeadm: validate local etcd certficates during expiration checks
2021-12-09 00:24:09 -08:00
haoyun
cd3bafc2ed cleanup: remove insecure flag
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-12-09 12:36:29 +08:00
Kubernetes Prow Robot
cdf3ad823a
Merge pull request #97252 from dims/drop-dockershim
Completely remove in-tree dockershim from kubelet
2021-12-08 12:51:46 -08:00
Lubomir I. Ivanov
c78afc695b kubeadm: print the CA of kubeconfig files in "check expiration"
Apply a small fix to ensure the kubeconfig files
that kubeadm manages have a CA when printed in the table
of the "check expiration" command. "CAName" is the field used for that.

In practice kubeconfig files can contain multiple credentials
from different CAs, but this is not supported by kubeadm and there
is a single cluster CA that signs the single client cert/key
in kubeadm managed kubeconfigs.
2021-12-08 20:50:23 +02:00
Lubomir I. Ivanov
6603cf6357 kubeadm: validate local etcd certficates during expiration checks
In case stacked etcd is used, the code that does expiration checks
does not validate if the etcd CA is "external" (missing key)
and if the etcd CA signed certificates are valid.

Add a new function UsingExternalEtcdCA() similar to existing functions
for the cluster CA and front-proxy CA, that performs the checks for
missing etcd CA key and certificate validity.

This function only runs for stacked etcd, since if etcd is external
kubeadm does not track any certs signed by that etcd CA.

This fixes a bug where the etcd CA will be reported as local even
if the etcd/ca.key is missing during "certs check-expiration".
2021-12-08 20:39:14 +02:00
Kubernetes Prow Robot
f356ae4ad9
Merge pull request #101719 from SergeyKanzhelev/removeReallyCrashForTesting
Remove ReallyCrashForTesting and cleaned up some references to Handle…
2021-12-07 23:39:45 -08:00
calvin
fdf33a27c4 amend constant to kubelet 2021-12-08 14:17:34 +08:00
Kubernetes Prow Robot
89f53538ff
Merge pull request #106854 from neolit123/1.24-fix-kubeadm-check-expiration-kubeconfig
kubeadm: avoid requiring a CA key during kubeconfig expiration checks
2021-12-07 20:57:44 -08:00
haoyun
d2d21facc1 cleanup: remove insecure flag
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-12-08 12:02:43 +08:00
Kubernetes Prow Robot
022d49dcbc
Merge pull request #106740 from wojtek-t/update_kubemark_clients
Update kubemark to use EndpointSlices and proper user-agents
2021-12-07 19:27:59 -08:00
Jian Zeng
9573b4a6b9
refactor(apiserver): remove the insecure flags
Signed-off-by: Jian Zeng <anonymousknight96@gmail.com>
2021-12-08 10:53:44 +08:00
Jian Zeng
c73d96ac87
refactor: remove the insecure flags in controller-manager
Signed-off-by: Jian Zeng <anonymousknight96@gmail.com>
2021-12-08 10:50:12 +08:00
Kubernetes Prow Robot
68b53cf940
Merge pull request #106581 from knabben/win-kernel-kproxy-metrics
Registering kube-proxy metrics on windows kernel mode
2021-12-07 18:26:09 -08:00
Kubernetes Prow Robot
39b45fb040
Merge pull request #106381 from dims/update-dims-as-approver
Update `dims` as approver for some top level dirs
2021-12-07 17:26:48 -08:00
Davanum Srinivas
bc78dff42e
update files to drop dockershim
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-07 15:15:13 -05:00
Lubomir I. Ivanov
847b2e1085 kubeadm: avoid requiring a CA key during kubeconfig expiration checks
When the "kubeadm certs check-expiration" command is used and
if the ca.key is not present, regular on disk certificate reads
pass fine, but fail for kubeconfig files. The reason for the
failure is that reading of kubeconfig files currently
requires reading both the CA key and cert from disk. Reading the CA
is done to ensure that the CA cert in the kubeconfig is not out of date
during renewal.

Instead of requiring both a CA key and cert to be read, only read
the CA cert from disk, as only the cert is needed for kubeconfig files.

This fixes printing the cert expiration table even if the ca.key
is missing on a host (i.e. the CA is considered external).
2021-12-07 20:48:45 +02:00
Wojciech Tyczyński
243f4faa6d Update kubemark to use EndpointSlices and proper user-agents 2021-11-30 11:38:08 +01:00
kerthcet
185e0a041c prefer %w to unwrap errors
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-11-30 10:56:13 +08:00
Sergey Kanzhelev
a11453efbc remove ReallyCrashForTesting and cleaned up some references to HandleCrash behavior 2021-11-29 20:00:10 +00:00
calvin
d591b62b4a remove the kubeadm feature gate. 2021-11-29 18:11:02 +08:00
Sergey Kanzhelev
54a279e0b0 updated deprecation messages from 1.23 to 1.24 2021-11-24 21:58:47 +00:00
Amim Knabben
8b37bfec8e Enabling kube-proxy metrics on windows kernel mode 2021-11-21 21:23:55 -03:00
Kubernetes Prow Robot
1304dfd73e
Merge pull request #106520 from pohly/log-print-flags
kubelet: print flags after initializing logging
2021-11-18 01:53:02 -08:00
Shivam Sandbhor
6652c54d83 Remove invalid comment in legacyregistry
Signed-off-by: Shivam Sandbhor <shivam.sandbhor@gmail.com>
2021-11-18 15:05:00 +05:30
Patrick Ohly
316ac13d00 kubelet: print flags after initializing logging
If done too soon, the klog.V() calls are ignored because the log verbosity
isn't set. In Kubernetes 1.22, the verbosity was set, but not the logging
format.
2021-11-18 07:53:16 +01:00
Hanna Lee
07a883d8e6 Remove //lint:ignore pragmas that aren't being used anymore 2021-11-17 08:56:54 +01:00
Hanna Lee
c862d7c0e9 Fix last remaining SA5011 error by removing unnecessary r != nil check 2021-11-17 08:56:01 +01:00
Hanna Lee
a7daeb37af Convert one more utilflag.IPVar to &utilflag.IPVar 2021-11-17 08:56:01 +01:00
Hanna Lee
30ea05ae7b Update IPVar and IPPortVar functions to have pointer receivers to fix 'ineffective assignment' 2021-11-17 08:56:00 +01:00
Hanna Lee
0f3836dcc5 Ignore deprecation warnings with //nolint:staticcheck 2021-11-17 08:55:57 +01:00
Kubernetes Prow Robot
9dd8aad535
Merge pull request #104750 from sanposhiho/fix/bug/proxy/defer-with-os-exit
Fix(kube-proxy): remove os.Exit from cobra.Command
2021-11-16 21:13:53 -08:00
Kubernetes Prow Robot
c0b5ed7556
Merge pull request #105611 from damemi/simplified-multipoint-extension
Scheduler simplified MultiPoint plugin config
2021-11-16 17:44:12 -08:00
Kubernetes Prow Robot
1f6d5caa9a
Merge pull request #105437 from cmssczy/update-kubelet-configuration
migrate --register-with-taints to KubeletConfiguration
2021-11-16 17:44:00 -08:00
Kubernetes Prow Robot
8d9e424f73
Merge pull request #103447 from trierra/csi-translation-portworx
Csi translation portworx
2021-11-16 17:43:53 -08:00
Kubernetes Prow Robot
e14bdbaa1c
Merge pull request #105057 from jiahuif-forks/feature/enum-types-feature-enablement
Add Support for OpenAPIEnum in OpenAPI v2
2021-11-16 16:35:55 -08:00
Oksana Naumov
3af11fc12d Add support for Portworx to csi-translation lib
Signed-off-by: Oksana Naumov <trierra.dev@gmail.com>
2021-11-16 13:26:09 -08:00
Mike Dame
420c5308bb Add MultiPoint scheduler plugin config field 2021-11-16 14:56:33 -05:00
Kubernetes Prow Robot
45f77ca4ba
Merge pull request #104844 from aojea/clientgo_close_idle
CloseIdleConnections of wrapped Transport RoundTrippers
2021-11-16 08:45:27 -08:00
Kubernetes Prow Robot
6d1d8c73ee
Merge pull request #106316 from josephburnett/controller-v2
Watch HPA v2 instead of v1.
2021-11-16 06:41:38 -08:00
Antonio Ojea
15ea255457 don't use a custom dialer for the kubelet
Don't use a custom dialer for the kubelet if is not rotating
certificates, so we can reuse TCP connections because we don't need
a customer dialer.

Kubelet needs to be able to recover from stale http connections.
HTTP2 has a mechanism to detect broken connections by sending periodical pings.
HTTP1 only can have one persistent connection, and it will close all Idle connections
once the Kubelet heartbet fails. However, since there are many edge cases that we can't
control, users can still opt-in to the previous behavior for closing the connections by
setting the environment variable DISABLE_HTTP2.
2021-11-16 15:39:30 +01:00
caozhiyuan
bad4faf1b9 migrate --register-with-taints to KubeletConfiguration 2021-11-16 19:10:36 +08:00
Joseph Burnett
711f96e05e Watch HPA v2 instead of v1. 2021-11-16 11:13:21 +01:00
kerthcet
9600e8d93b fix kubelet flushlogs not working together with os.Exit()
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-11-16 13:27:37 +08:00
Kubernetes Prow Robot
66c342ba63
Merge pull request #95361 from humblec/rbd-migration
RBD in-tree plugin migration to CSI driver using migration translation lib
2021-11-15 19:53:25 -08:00
Humble Chirammal
7c40eb9ae0 Add support for rbd plugin to csi-translation-lib
In support of csi-migration proposal here:
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md

Will help with migration of in-tree RBD plugin ( kubernetes.io/rbd)
to RBD CSI driver ( rbd.csi.ceph.com ).

Fixes https://github.com/kubernetes/enhancements/issues/2923

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2021-11-15 23:46:29 +05:30
Kubernetes Prow Robot
1c127d3682
Merge pull request #105706 from uthark/oatamanenko/upgrade-etcd-3.5.1
Upgrade etcd to 3.5.1
2021-11-15 10:04:59 -08:00
Mahendra Bishnoi
059849703b fix grammar 2021-11-13 23:23:04 +05:30
sanposhiho
c169d4d4d2 Fix: change not to print error log on RunE 2021-11-13 14:21:04 +09:00
sanposhiho
f80ddac1bc Fix: return error instead of os.Exit when something goes wrong 2021-11-13 14:20:56 +09:00
Kubernetes Prow Robot
dc10a566fd
Merge pull request #106370 from navist2020/kubeadm-certs-csr
kubeadm/certs/renew:remove deprecated flags csrOnly and csrPath
2021-11-12 13:38:41 -08:00
Kubernetes Prow Robot
763916aa2d
Merge pull request #106159 from soltysh/config_wrapper
Switch from arguments to an input structure for kubectl command
2021-11-12 10:24:28 -08:00
Neha Lohia
fa1b6765d5
move pkg/util/node to component-helpers/node/util (#105347)
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
2021-11-12 07:52:27 -08:00
Davanum Srinivas
b956055771
Update dims as approver for some top level dirs
- `staging`
- `plugin`
- `pkg`
- `cmd`

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-11-12 08:50:24 -05:00
navist2020
bc4bbd88b2 kubeadm/certs/renew:remove deprecated flags csrOnly and csrPath 2021-11-12 17:44:35 +08:00
Kubernetes Prow Robot
c98b388a84
Merge pull request #105450 from danwinship/ipvs-dead-code
Remove some dead code in the ipvs proxy
2021-11-11 20:50:27 -08:00
Kubernetes Prow Robot
35f9bcabf1
Merge pull request #105992 from hwdef/fix-kubeadm-2419
kubeadm: add mutation for Linux paths in KubeletConfiguration on Windows
2021-11-11 19:48:29 -08:00
hwdef
b985e094b0 kubeadm: fix absolute paths do not work properly in config files in windows 2021-11-12 10:42:46 +08:00
Kubernetes Prow Robot
2bd67845d4
Merge pull request #105550 from damemi/wire-contexts-rbac
Wire contexts to RBAC controllers
2021-11-11 15:15:25 -08:00
Kubernetes Prow Robot
7663bffd51
Merge pull request #106321 from neolit123/1.23-fix-e2e-test-failures-1
kubeadm: fix test failures in the e2e_kubeadm suite
2021-11-11 12:00:08 -08:00
Kubernetes Prow Robot
0fefe4e605
Merge pull request #106314 from shivanshu1333/fix/master/105841
Migrated remaining lines of `server.go` and `csi.go` to structured logging
2021-11-11 08:48:07 -08:00
Mike Dame
80c01707e0
Wire contexts to Batch controllers (#105491)
* Wire contexts to Batch controllers

* (hold) feedback + updates that overlap with Apps controllers

* fixup errors
2021-11-10 14:56:46 -08:00
Lubomir I. Ivanov
e1571bf665 kubeadm: fix typo in KubeProxyClusterRoleBindingName constant
kubeam:node-proxier -> kubeadm:node-proxier
This causes e2e test failures:
"[area-kubeadm] proxy addon kube-proxy ServiceAccount should
be bound to the system:node-proxier cluster role"

in:
- kubeadm-kinder-latest
- kubeadm-kinder-latest-on-...
- other tests
2021-11-10 21:19:30 +02:00
Shivanshu Raj Shrivastava
3142acbc8c
migrated remaining lines of server.go and csi.go to structured logging 2021-11-10 21:24:34 +05:30
Etienne Champetier
356d9e0626 kubeadm: fix inverted warning message
Before this commit when setting bindAddress to 1.2.3.4 the warning was:
The recommended value for "bindAddress" in "KubeProxyConfiguration" is: 1.2.3.4; the provided value is: 0.0.0.0

Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
2021-11-09 20:54:57 -05:00
Jiahui Feng
9c05de2f31 prune enum when OpenAPIEnums is disabled. 2021-11-09 13:00:00 -08:00
Kubernetes Prow Robot
e759c32129
Merge pull request #106243 from calvin0327/fix-kubeadm-init-constant
fix some kubeadm init phase constants
2021-11-09 11:28:24 -08:00
Kubernetes Prow Robot
398e028d61
Merge pull request #106228 from sanchayanghosh/104868-scheduler-logging-config-format-incorrectly
Changed the Info type so that the config file can be displayed withou…
2021-11-09 11:28:12 -08:00
Kubernetes Prow Robot
5848dbaa80
Merge pull request #105741 from neolit123/1.23-kubeadm-kubelet-config-map-change
kubeadm: introduce the UnversionedKubeletConfigMap feature gate
2021-11-09 11:27:48 -08:00
wangyysde
d2abddd909 rename v2beta2 to v2
Signed-off-by: wangyysde <net_use@bzhy.com>

Generation swagger.json.

Use v2 path for hpa_cpu_field.

run update-codegen.sh

Signed-off-by: wangyysde <net_use@bzhy.com>
2021-11-09 10:34:54 +08:00
calvin
c5c9429d0e fix some kubeadm init phase constants 2021-11-09 10:30:01 +08:00
Lubomir I. Ivanov
68118d7319 kubeadm: remove unused / legacy function DownloadConfig
The function has been marked as deprecated for a long time
and has been unused in the code base.

Remove it.
2021-11-08 17:31:29 +02:00
Lubomir I. Ivanov
a6587f4ffb kubeadm: add the UnversionedKubeletConfigMap feature gate
Add the UnversionedKubeletConfigMap feature gate that can
be used to control legacy vs new behavior for naming the
default configmap used to store the KubeletConfiguration.

Update related unit tests.
2021-11-08 17:31:29 +02:00
sanchayanghosh
2131fdb84c
Changed the Info type so that the config file can be displayed without escape characters showing 2021-11-08 20:48:31 +05:45
Arda Güçlü
a8d2b3a792 Rename ServeWithListenerStopped to Serve in secure_serving
This PR removes Serve function and uses all required places
ServeWithListenerStopped which takes place new Serve function.

This function returns ListenerStopped channel can be used to drain
requests before shutting down the server.
2021-11-08 17:20:31 +03:00
Kubernetes Prow Robot
73f4064fff
Merge pull request #105295 from neolit123/1.23-add-output-v1alpha2
kubeadm: add a new output/v1alpha2 API; deprecate output/v1alpha1
2021-11-08 06:01:11 -08:00
Kubernetes Prow Robot
4ce435cc95
Merge pull request #105251 from calvin0327/issue-upgrade-coredns
Update corefile-migration to v1.0.14 and update coredns to 1.8.6
2021-11-05 14:48:39 -07:00
Kubernetes Prow Robot
dc93951ad0
Merge pull request #106090 from pohly/log-v-flags
component-base: move v/vmodule/log-flush-frequency into LoggingConfiguration
2021-11-04 12:34:34 -07:00
Kubernetes Prow Robot
6d30c96d4a
Merge pull request #106042 from chendave/aggregate
kubeadm: aggregate all the errors when the shared certs are validated
2021-11-04 10:06:15 -07:00
Maciej Szulik
baab99d04c
Switch from arguments to an input structure for kubectl command 2021-11-04 17:29:40 +01:00
Dave Chen
c85fb0e6ac Aggregate all the errors when the shared certs are validated
Instead of the individual error and return, it's better to aggregate all
the errors so that we can fix them all at once.

Take the chance to fix some comments, since kubeadm are not checking that
the certs are equal across controlplane.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-11-04 10:12:00 +08:00
Kubernetes Prow Robot
f5dd4d237f
Merge pull request #106105 from Huang-Wei/add-test
Add unit tests to cover scheduler's setup
2021-11-03 11:48:51 -07:00
Lubomir I. Ivanov
d3e1f87fca kubeadm: remove TODO about moving SchemeBuilder to k8s.io/api
This TODO is no longer in scope, thus remove it from
all register.go files under /app/apis.
2021-11-03 19:11:43 +02:00
Lubomir I. Ivanov
f73894359d kubeadm: update converters after the output/v1alpha2 addition
The addition of output/v1alpha2 made the converter-gen require
an explicit converter for:
kubeadm/v1beta2.BootstrapToken -> bootstraptoken/v1.BootstrapToken.

Add this converter under kubeadm/v1beta.
Use the converter in output/v1alpha1.
2021-11-03 19:11:43 +02:00
Kubernetes Prow Robot
5446b89857
Merge pull request #104470 from pacoxu/patch-4
Remove GAed feature gate CronJobControllerV2
2021-11-03 06:40:58 -07:00
Patrick Ohly
25907036ea kubelet: avoid deprecation remark for traditional logging flags
Just because the options can now also be set via a configuration file does not
mean that the command line flags should not be used anymore.
2021-11-03 12:02:48 +01:00
Patrick Ohly
4df70dfd41 component-base: initialize logging as soon as possible
In various places log messages where emitted as part of validation or even
before it (for example, cli.PrintFlags). Those log messages did not use the
final logging configuration, for example text output instead of JSON or not the
final verbosity. The last point became more obvious after moving the setup of
verbosity into logs.Options.Apply because PrintFlags never printed anything
anymore.

In order to force applications to deal with logging as soon as possible, the
Options.Validate and Options.Apply methods are now private. Applications should
use the new Options.ValidateAndApply directly after parsing.
2021-11-03 11:55:54 +01:00
Patrick Ohly
3948cb8d1b component-base: move v/vmodule/log-flush-frequency into LoggingConfiguration
These three options are the ones from logs.AddFlags which are not deprecated.
Therefore it makes sense to make them available also via the configuration file
support in the one command which currently supports that (kubelet).

Long-term, all commands should use LoggingConfiguration, either with a
configuration file (as in kubelet) or via flags (kube-scheduler,
kube-apiserver, kube-controller-manager).

Short-term, both approaches have to be supported. As the majority of the
commands only use logs.AddFlags, that function by default continues to register
the flags and only leaves that to Options.AddFlags when explicitly requested.

A drive-by bug fix is done for log flushing: the periodic flushing called
klog.Flush and therefore missed explicit flushing of the newer logr
backend. This bug was never present in any release Kubernetes and therefore the
fix is not submitted in a separate PR.
2021-11-03 07:41:46 +01:00
Wei Huang
98b22db672
Add unit tests to cover scheduler's setup 2021-11-02 21:19:25 -07:00
Kubernetes Prow Robot
aa0ea62489
Merge pull request #104903 from ikeeip/storageobjectinuseprotection_feature_ga_cleanup
Remove StorageObjectInUseProtection feature gate logic
2021-11-02 20:22:57 -07:00
Wei Huang
e30f9648cc
sched: ensure feature gate is honored when instantiating scheduler (#105915)
* sched: ensure feature gate is honored when instantiating scheduler

* fixup: address comments
2021-11-02 14:28:06 -07:00
Kubernetes Prow Robot
3fdeb490e0
Merge pull request #105510 from damemi/wire-contexts-bootstrap
Wire contexts to Bootstrap controllers
2021-11-02 14:27:42 -07:00
Konstantin Misyutin
808c8f42d5 Remove StorageObjectInUseProtection feature gate logic
This feature has graduated to GA in v1.11 and will always be
enabled. So no longe need to check if enabled.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-11-03 00:13:50 +03:00
Mike Dame
4960d0976a Wire contexts to Core controllers 2021-11-01 10:29:00 -04:00
Tim Hockin
11a25bfeb6
De-share the Handler struct in core API (#105979)
* De-share the Handler struct in core API

An upcoming PR adds a handler that only applies on one of these paths.
Having fields that don't work seems bad.

This never should have been shared.  Lifecycle hooks are like a "write"
while probes are more like a "read". HTTPGet and TCPSocket don't really
make sense as lifecycle hooks (but I can't take that back). When we add
gRPC, it is EXPLICITLY a health check (defined by gRPC) not an arbitrary
RPC - so a probe makes sense but a hook does not.

In the future I can also see adding lifecycle hooks that don't make
sense as probes.  E.g. 'sleep' is a common lifecycle request. The only
option is `exec`, which requires having a sleep binary in your image.

* Run update scripts
2021-10-29 13:15:11 -07:00
Kubernetes Prow Robot
c9ddd248b6
Merge pull request #105888 from neolit123/1.23-remove-reset-update-clusterstatus
kubeadm: remove the reset/update-cluster-status phase
2021-10-29 09:13:03 -07:00
Kubernetes Prow Robot
c592bd40f2
Merge pull request #105609 from pohly/generic-ephemeral-volume-ga
generic ephemeral volume GA
2021-10-28 17:36:50 -07:00
Kubernetes Prow Robot
12c4095462
Merge pull request #104775 from kerthcet/bug/fix-kubemark-log-defer-conflict-with-exit
fix hollownode flushlogs not working together with exit
2021-10-27 08:51:25 -07:00
Kubernetes Prow Robot
8bdf6af714
Merge pull request #105924 from Huang-Wei/revert-105712
Revert "sched: ensure --leader-elect* CLI args are honored"
2021-10-27 07:45:38 -07:00
Wei Huang
7505701044
Revert "sched: ensure --leader-elect* CLI args are honored"
This reverts commit 3c230af59c.
2021-10-26 15:18:13 -07:00
Kubernetes Prow Robot
7c53095218
Merge pull request #104748 from p0lyn0mial/not-found-handler
return 503 for aggregated APIs when the APIServiceRegistrationController hasn't finished installing all known APIServices
2021-10-26 14:25:09 -07:00
Shivanshu Raj Shrivastava
3c87c43cef
Migrated scheduler files server.go, node_label.go, csi.go, non_csi.go to structured logging (#105855)
* migrated server.go

* fixed migration

* resolving review comments

* added storageClass

* review comments

* review comments
2021-10-26 13:21:22 -07:00
Lubomir I. Ivanov
b9171aee20 kubeadm: remove the reset/update-cluster-status phase
The phase has been deprecated and a NO-OP since 1.22.
Remove the phase related code.
2021-10-25 22:47:15 +03:00
Kubernetes Prow Robot
9251115fa1
Merge pull request #105807 from jonyhy96/fix-magic-number
kubeadm: make constant of the magic-number in bootstraptoken util
2021-10-22 04:46:37 -07:00
Kubernetes Prow Robot
cc25656b00
Merge pull request #105030 from liggitt/json-stdlib
switch from json-iterator to forked stdlib json decoder
2021-10-21 20:40:37 -07:00
haoyun
9b5f28053c feat: make a const of magic-number
Signed-off-by: haoyun <yun.hao@daocloud.io>
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-10-22 09:53:07 +08:00
Kubernetes Prow Robot
f403aec124
Merge pull request #105753 from jonyhy96/test-patch-node
kubeadm: add unit tests for PatchNode error handling
2021-10-20 14:12:04 -07:00
Jordan Liggitt
bba877d3a6 Switch from json-iterator to utiljson 2021-10-20 12:49:23 -04:00
Debabrata Panigrahi
89062fea47
Updated kubelet server references about 4h hardcoded timeout (#104735)
* Updated non idle logging time

* Update cmd/kubelet/app/options/options.go

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2021-10-20 09:23:57 -07:00
Shivanshu Raj Shrivastava
d3f81a1be6
Migrated server.go, ipvs/proxier.go(partial) to structured logging (#105769)
* fixed improperly migrated logs

* fixed improperly migrated logs

* fixed improperly migrated logs

* fixed improperly migrated logs

* Update cmd/kube-proxy/app/server.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
2021-10-20 02:54:11 -07:00
Wei Huang
3c230af59c
sched: ensure --leader-elect* CLI args are honored 2021-10-19 13:56:08 -07:00
Lukasz Szaszkiewicz
9e2bdfee02 rename to muxAndDiscoveryComplete 2021-10-19 13:26:59 +02:00
Lukasz Szaszkiewicz
53867975e7 apiserver: indroduces NotFoundHanlder
The new handler is meant to be executed at the end of the delegation chain.
It simply checks if the request have been made before the server has installed all known HTTP paths.
In that case it returns a 503 response otherwise it returns a 404.

We don't want to add additional checks to the readyz path as it might prevent fixing bricked clusters.
This specific handler is meant to "protect" requests that arrive before the paths and handlers are fully initialized.
2021-10-19 09:55:04 +02:00
Oleg Atamanenko
965f10f539 Upgrade etcd to 3.5.1 2021-10-18 23:09:27 -07:00
haoyun
a600e31c55 test: add test for PatchNode when error happend
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-10-19 11:01:01 +08:00
Lukasz Szaszkiewicz
7a342a0f8a kube-apiserver: wires the notFoundHandler 2021-10-18 12:41:42 +02:00
Kubernetes Prow Robot
9804a83d8f
Merge pull request #105343 from jonyhy96/fix-patch-node-once
kubeadm: fix some retry logic in PatchNodeOnce
2021-10-17 09:49:49 -07:00
yxxhero
feaa78380c Optimize Cobra parameters of Controller Manager
Signed-off-by: yxxhero <aiopsclub@163.com>
2021-10-17 18:57:23 +08:00
haoyun
bd8f26c2d7 fix: patchNode retry logic
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-10-17 12:36:36 +08:00
Kubernetes Prow Robot
3f85ed46db
Merge pull request #105649 from navist2020/kubeadm/kubeconfig/cfgPath
kubeadm/kubeconfig:validate flag --config to make sure it is not empty
2021-10-14 10:49:56 -07:00
Kubernetes Prow Robot
3aafe75698
Merge pull request #105461 from damemi/wire-contexts-autoscaling
Wire contexts to Autoscaling controllers
2021-10-14 06:59:33 -07:00
Kubernetes Prow Robot
f27e4714ba
Merge pull request #105377 from damemi/wire-contexts-apps
Wire contexts to Apps controllers
2021-10-14 06:59:19 -07:00
navist2020
cc2802d9bb validate flag cfgPath to make sure it is not empty 2021-10-14 11:05:06 +08:00
Mike Dame
41fcb95f2f Wire contexts to Apps controllers 2021-10-13 16:32:13 -04:00
Kubernetes Prow Robot
efce40b931
Merge pull request #105342 from jonyhy96/handle-cmd-error
kube-proxy: handle cmd error
2021-10-13 01:21:49 -07:00
Mike Dame
7780024916 Wire contexts to Autoscaling controllers 2021-10-12 14:34:05 -04:00
Kubernetes Prow Robot
4753fa5dee
Merge pull request #105608 from yxxhero/reduce_code
reduce code for NewSchedulerCommand func
2021-10-11 23:23:46 -07:00
calvin0327
941c78f411 Update corefile-migration to v1.0.14 and update coredns to 1.8.6 2021-10-12 11:03:52 +08:00
Patrick Ohly
a8c930ef46 generic ephemeral volume: graduation to GA
The feature gate gets locked to "true", with the goal to remove it in two
releases.

All code now can assume that the feature is enabled. Tests for "feature
disabled" are no longer needed and get removed.

Some code wasn't using the new helper functions yet. That gets changed while
touching those lines.
2021-10-11 20:54:20 +02:00
yxxhero
71a6bb3301 reduce code for NewSchedulerCommand func
Signed-off-by: yxxhero <aiopsclub@163.com>
2021-10-11 23:21:34 +08:00
jonyhy
1ff266b779 fix: ignore error
Signed-off-by: jonyhy <yun.hao@daocloud.io>
2021-10-09 09:26:27 +08:00