Commit Graph

10935 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
c7eb5a49ba
Merge pull request #109407 from yxxhero/remove_unused_code_in_kubelet
Clean up unused code in kubelet
2022-06-27 19:16:08 -07:00
John Howard
c6b0652b89
kubelet: silence flag output on errors (#110728)
* kubelet: silence flag output on errors

Currently, the `--help` text is output on kubelet errors. Currently on
my machine this is 280 lines. Typically kubelet is run by systemd or
similar, starting it a loop. This means when an issue is encountered, we
are spammed by 100s of logs per second, masking the real error.

With this PR, the list of all flags is silenced. Users can still access
them by `kubelet --help` as normal. This same `SilenceUsage` is already
set in the api-server command.

* Update cmd/kubelet/app/server.go

Co-authored-by: Paco Xu <paco.xu@daocloud.io>

Co-authored-by: Paco Xu <paco.xu@daocloud.io>
2022-06-27 11:34:59 -07:00
Kubernetes Prow Robot
34b4125351
Merge pull request #110656 from pacoxu/kubeadm-dup-unix
kubeadm: handle dup unix:// prefix in node annotation
2022-06-24 00:21:21 -07:00
Paco Xu
8555f401a0 kubeadm: handle dup unix:// prefix in node annotaiton 2022-06-24 11:16:34 +08:00
Kubernetes Prow Robot
07dfdf0859
Merge pull request #110709 from chendave/fix_renew
kubeadm: Honor `cert-dir` for cert operations
2022-06-23 19:51:19 -07:00
Kubernetes Prow Robot
035f22d781
Merge pull request #110712 from chendave/ignore_args
kubeadm: certs renew doesn't support positional args
2022-06-23 09:09:43 -07:00
Dave Chen
e8e804deaa kubeadm: certs renew doesn't support positional args
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-06-23 19:52:22 +08:00
Kubernetes Prow Robot
df0af6f7b8
Merge pull request #110736 from Octopusjust/k8s-pr3
Incomplete coverage of test scenarios
2022-06-23 04:33:44 -07:00
Dave Chen
57646c941f kubeadm: Honor cert-dir for cert operations
- `cert-dir` could be specified to a value other than the default value
- we have tests that should be executed successfully on the working cluster

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-06-23 19:32:20 +08:00
ZhangYu
9f4562c7b6 Incomplete coverage of test scenarios 2022-06-23 11:41:23 +08:00
Kubernetes Prow Robot
e9702cfc1b
Merge pull request #110593 from SataQiu/kubeadm-coredns-20220615
kubeadm: add the preferred pod anti-affinity for CoreDNS Deployment
2022-06-22 09:29:56 -07:00
Kubernetes Prow Robot
fd20191212
Merge pull request #110684 from chymy/fix-typo-for-kubeadm
fix several typo
2022-06-22 08:23:45 -07:00
Kubernetes Prow Robot
4720f0725c
Merge pull request #110531 from Iceber/fix-run-controller-manager
fix the running of the kube-controller-manager
2022-06-21 13:15:55 -07:00
chymy
c8aa25e472 fix several typo
Signed-off-by: chymy <chang.min1@zte.com.cn>
2022-06-21 09:11:41 +00:00
Kubernetes Prow Robot
609db7ed0b
Merge pull request #110635 from chendave/kubeadm_fix
kubeadm: fail faster when the version is not provided
2022-06-19 10:06:03 -07:00
ialidzhikov
0a83f72214 kubelet: Update deprecation messages from 1.24 to 1.25
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-06-18 19:45:50 +03:00
yxxhero
7a5af811e7 remove unused code in kubelet
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-06-18 15:03:27 +08:00
Iceber Gu
cac919bca4 fix the running of the kube-controller-manager
Signed-off-by: Iceber Gu <wei.cai-nat@daocloud.io>
2022-06-18 09:24:04 +08:00
Patrick Ohly
4c6338ac0f logs: replace config methods with functions
API types are only supposed to have methods related to serialization.
2022-06-17 20:22:13 +02:00
Patrick Ohly
ea3f25f49b logs: add alpha+beta feature gates
It is useful to have the ability to control whether alpha or beta features are
enabled. We can group features under LoggingAlphaOptions and LoggingBetaOptions
because the configuration is designed so that each feature individually must be
enabled via its own option.

Currently, the JSON format itself is beta (graduated in 1.23) but additional
options for it were only added in 1.23 and thus are still alpha:

  $ go run ./staging/src/k8s.io/component-base/logs/example/cmd/logger.go --logging-format=json --log-json-split-stream --log-json-info-buffer-size 1M --feature-gates LoggingBetaOptions=false
  [format: Forbidden: Log format json is BETA and disabled, see LoggingBetaOptions feature, options.json.splitStream: Forbidden: Feature LoggingAlphaOptions is disabled, options.json.infoBufferSize: Forbidden: Feature LoggingAlphaOptions is disabled]

  $ go run ./staging/src/k8s.io/component-base/logs/example/cmd/logger.go --logging-format=json --log-json-split-stream --log-json-info-buffer-size 1M
  [options.json.splitStream: Forbidden: Feature LoggingAlphaOptions is disabled, options.json.infoBufferSize: Forbidden: Feature LoggingAlphaOptions is disabled]

This is the same approach that was taken for CPUManagerPolicyAlphaOptions and
CPUManagerPolicyBetaOptions.

In order to test this without modifying the global feature gate in a test file,
ValidateKubeletConfiguration must take a feature gate as argument.
2022-06-17 20:22:13 +02:00
Patrick Ohly
1aceac797d logs: make LoggingConfiguration an unversioned API
Making the LoggingConfiguration part of the versioned component-base/config API
had the theoretic advantage that components could have offered different
configuration APIs with experimental features limited to alpha versions (for
example, sanitization offered only in a v1alpha1.KubeletConfiguration). Some
components could have decided to only use stable logging options.

In practice, this wasn't done. Furthermore, we don't want different components
to make different choices regarding which logging features they offer to
users. It should always be the same everywhere, for the sake of consistency.

This can be achieved with a saner Go API by dropping the distinction between
internal and external LoggingConfiguration types. Different stability levels of
indidividual fields have to be covered by documentation (done) and potentially
feature gates (not currently done).

Advantages:

- everything related to logging is under component-base/logs;
  previously this was scattered across different packages and
  different files under "logs" (why some code was in logs/config.go
  vs. logs/options.go vs. logs/logs.go always confused me again
  and again when coming back to the code):

  - long-term config and command line API are clearly separated
    into the "api" package underneath that

  - logs/logs.go itself only deals with legacy global flags and
    logging configuration

- removal of separate Go APIs like logs.BindLoggingFlags and
  logs.Options

- LogRegistry becomes an implementation detail, with less code
  and less exported functionality (only registration needs to
  be exported, querying is internal)
2022-06-17 20:22:13 +02:00
Patrick Ohly
4033e64bf1 kubelet: initialize logging even sooner, return error
After the removal of the dynamic kubelet configuration feature it became
possible to initialize logging directly after configuration parsing. The
advantage is that logs emitted by
kubeletconfigvalidation.ValidateKubeletConfiguration and
`klog.InfoS("unsupported configuration ...` already use the intended log
output.

After the code was originally added, Run was replaced by RunE. Taking advantage
of that and returning an error is cleaner.
2022-06-17 20:06:14 +02:00
Dave Chen
aa5dfd8b28 kubeadm: fail faster when the version is not provided
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-06-17 16:42:56 +08:00
Kubernetes Prow Robot
4e17f88b7e
Merge pull request #110506 from yangjunmyfm192085/removedockershim-des
Remove the description of the docker shim from the kubelet
2022-06-16 08:54:48 -07:00
JUN YANG
8567f2bd53
Update cmd/kubelet/app/server.go
Co-authored-by: Danielle <dani@builds.terrible.systems>
2022-06-16 08:29:14 +08:00
JunYang
8bfea65f69 Remove the description of the docker shim from the kubelet 2022-06-16 00:01:34 +08:00
Lubomir I. Ivanov
81b3540206 kubeadm: ensure kubelet patch results are in YAML
Once we patch a kubelet configuration file, the patched output
is in JSON. Make sure it's converted back to YAML, given
the kubelet config in the cluster and on disk is always in YAML.

Add unit test for the new function applyKubeletConfigPatches()
2022-06-15 13:38:04 +03:00
SataQiu
299e745127 kubeadm: add the preferred pod anti-affinity for CoreDNS Deployment 2022-06-15 14:38:12 +08:00
tallaxes
4a542609aa
Support more auth strategies in kubeadm join with discovery file (#110553)
* Add support for client-go credential plugins

* Add support for authprovider authentication

* Add support for TokenFile authentication
2022-06-14 08:03:45 -07:00
Kubernetes Prow Robot
4407a02aef
Merge pull request #110560 from lunhuijie/fixTestpki
Incomplete coverage of test scenarios and optimize bad code
2022-06-14 04:53:32 -07:00
10284789刁浩
696d537239 Incomplete coverage of test scenarios and bad code 2022-06-14 07:48:43 +00:00
Kubernetes Prow Robot
f15b0d1bd7
Merge pull request #110489 from pacoxu/kubeadm-coredns-v1.9.3
kubeadm: upgrade coredns to v1.9.3
2022-06-13 12:16:12 -07:00
Kubernetes Prow Robot
48efb361f3
Merge pull request #110323 from Thearas/docs-ephemeral-storage
docs: add `ephemeral-storage` to `SystemReserved`/`KubeReserved` comment
2022-06-10 13:19:44 -07:00
Paco Xu
178dc11b75 kubeadm: upgrade coredns to v1.9.3 2022-06-09 18:45:26 +08:00
Paco Xu
31922c7794 kubeadm: use staticpod known tags for upgrade/init phases 2022-06-09 14:21:48 +08:00
Kubernetes Prow Robot
cfda5bc1d8
Merge pull request #110457 from aojea/class_e_range
unit tests for Class E IP addresses
2022-06-08 10:10:22 -07:00
Kubernetes Prow Robot
0985c476e3
Merge pull request #109995 from wangyysde/fix_issue_2681
add print-manifest flag to print addon manifests to STDOUT
2022-06-08 09:00:22 -07:00
Antonio Ojea
2124f17c72 unit tests for Class E IP addresses 2022-06-08 15:29:48 +02:00
Paco Xu
29aca9692c overwrite known targets in patch manager cache in case it changes 2022-06-08 16:10:41 +08:00
wangyysde
e863ebb6b5 add print-manifest flag to print addon manifests to STDOUT
Signed-off-by: wangyysde <net_use@bzhy.com>
2022-06-08 13:45:37 +08:00
Kubernetes Prow Robot
cd4b8ed070
Merge pull request #110405 from neolit123/1.25-kubelet-config-patches
kubeadm: add support for patching a "kubeletconfiguration" target
2022-06-07 07:05:07 -07:00
Kubernetes Prow Robot
9fad5c981a
Merge pull request #110327 from neolit123/1.25-ga-unversioned-kubelet-config
kubeadm: graduate the UnversionedKubeletConfigMap FG to GA
2022-06-07 07:04:56 -07:00
Lubomir I. Ivanov
2134026e3b kubeadm: allow passing the --patches flag to init/join/node phases
Allow passing the --patches flag to init/join/node phases
relevant to the kubelet writing the config file on disk.
2022-06-06 20:37:27 +03:00
Lubomir I. Ivanov
428c3fe954 kubeadm: document "kubeletconfiguration" as a patch target
Document the "kubeletconfiguration" as a patch target in the
v1beta3 API Init/JoinConfiguration.Patches struct
and also for the --patches flag.
2022-06-06 20:37:26 +03:00
Lubomir I. Ivanov
c3c9fb8608 kubeadm: add unit tests for patching a "kubeletconfiguration" target 2022-06-06 20:37:26 +03:00
Lubomir I. Ivanov
85fb6b01f8 kubeadm: apply patches to the kubelet config before writing it to disk
In phases/kubelet/WriteConfigToDisk() create a patch
manager for the root patches directory and apply
the user patches with a target "kubeletconfiguration".
2022-06-06 20:37:26 +03:00
Lubomir I. Ivanov
665f66d2bc kubeadm: pass io.Writer and "patches dir" to WriteConfigToDisk()
With phases/kubelet/WriteConfigToDisk() about to support patches
it is required that the function accepts an io.Writer
where the PatchManager can output to and also a patch directory.

Modify all call sites of the function WriteConfigToDisk()
to properly prepare an pass an io.Writer and patches dir to it.
This results in command phases for init/join/upgrade to pass
the root io.Writer (usually stdout) and the patchesDir populated
either via the config file or --patches flag.
2022-06-06 20:37:26 +03:00
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