Commit Graph

48244 Commits

Author SHA1 Message Date
Antonio Ojea
3ee2f27e5b kubelet: cloud-provider external addresses
Kubelet, if using cloud provider external, initializes temporary
the node addresses using the non-cloud provider logic, until the
cloud provider overrides it.

This behavior has undesired consequences if the cloud-provider addresses
are different than the original ones, specially for hostNetwork pods,
that inherit these addresses from the Node.

Since some cloud-providers depend on this behavior, in order to keep
backward compatibility, assume that the specifying addresses via
the node-ip flags means that the intent is to keep the existing
behavior to temporary initialize the addresses.

If the node-ips are the unspecified addresses or are not set, then
wait for the external cloud provider to set the node addresses.

Change-Id: I3a3895f9b830769f9658e6a03f058c914c438a09
Signed-off-by: Antonio Ojea <aojea@google.com>
2023-10-06 14:01:28 +00:00
matte21
a213edae2a Add package-level godoc to pkg/kubelet/cm
Add file doc.go with some rudimentary information to package
kubelet/cm. This will make it easier for people approaching the
kubelet codebase for the first time to quickly understand what's
in the package, since its name is abbreviated and hostile to
newcomers.
2023-10-05 14:20:51 -04:00
Kubernetes Prow Robot
e314ec2c98 Merge pull request #120998 from kannon92/job-ptr-update
convert pointer to ptr for job controller
2023-10-05 19:42:13 +02:00
Kevin Hannon
b96a074bcd convert pointer to ptr for job controller 2023-10-05 09:30:01 -04:00
Nabarun Pal
3de0d9afbb pkg/kubeapiserver: pass authorizer in top level while building from legacy options
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2023-10-04 14:17:16 +05:30
Abhishek Srivastav
5f8fc30b2c Added locks on request tracker before accessing fields (#120599)
* Added locks on request tracker before accessing fields

Unit test StatefulSetAutoDeletePVCEnabled has been
flaking with DATARACE. Added lock on request tracker
before accessing err field.

* Addressed review comments for PR : Added locks on request tracker before accessing fields
2023-10-03 16:38:08 +02:00
Kubernetes Prow Robot
6a84edb2ce Merge pull request #120222 from tkashem/apf-queue-wait-ctx
apf: manage request queue wait with context in APF Filter
2023-10-03 11:16:18 +02:00
Kubernetes Prow Robot
a321897e77 Merge pull request #120262 from harche/list_timeout
Add timeout to listContainerStats context
2023-10-02 07:46:46 -07:00
Kubernetes Prow Robot
e8abe1af8d Merge pull request #120843 from aojea/repair_metrics
Add metrics to the allocators repair loops
2023-10-01 15:58:44 -07:00
Kubernetes Prow Robot
ed72ee264e Merge pull request #120829 from danwinship/proxy-rule-testing-cleanup
iptables proxy test cleanups, moving away from assertIPTablesRulesEqual
2023-10-01 09:50:56 -07:00
Antonio Ojea
566fad5eda add metrics to the ipallocator repair loop
The repair loop are great for saving us of leaks, but the side effect
is that bugs can go unnoticed for a long time, so we need some
signal to be able to identify those errors proactivily.

Add two new metrics to identify:
- errors on the reconcile loop
- errors per clusterip
2023-09-30 15:46:06 +00:00
Antonio Ojea
4eff70dcf9 add metrics to the nodeport allocator repair loop
The repair loop are great for saving us of leaks, but the side effect
is that bugs can go unnoticed for a long time, so we need some
signal to be able to identify those errors proactivily.

Add two new metrics to identify:
- errors on the reconcile loop
- errors per nodeport
2023-09-30 15:46:06 +00:00
Kubernetes Prow Robot
622509830c Merge pull request #120716 from xrstf/fix-typos
Fix typos
2023-09-30 00:25:56 -07:00
Kubernetes Prow Robot
ef838ca27c Merge pull request #120912 from sttts/sttts-cluster-authn-filter
controller/clusterauthenticationtrust: complete event filter
2023-09-28 14:21:39 -07:00
Kubernetes Prow Robot
26c3f66887 Merge pull request #120903 from dims/deprecate-cloud-provider-and-config-cli-params
Deprecate cloud-provider/cloud-config in apiserver CLI
2023-09-27 18:17:33 -07:00
Kubernetes Prow Robot
9c5698f514 Merge pull request #116803 from mengjiao-liu/contextual-logging-scheduler-plugin-volumebinding
Migrated `pkg/scheduler/framework/plugins/volumebinding` to contextual logging
2023-09-27 15:04:38 -07:00
Kubernetes Prow Robot
1020678366 Merge pull request #120908 from sttts/sttts-optional-authz
controlplane/apiserver: don't crash if authz or other options are explicitly disabled in options
2023-09-27 07:36:25 -07:00
Dr. Stefan Schimanski
59ad81a615 controller/clusterauthenticationtrust: complete event filter
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com>
2023-09-27 15:39:58 +02:00
Kubernetes Prow Robot
05f4099c5f Merge pull request #120784 from elezar/fix-startup-failure-on-non-swap
only configure swap if swap is enabled
2023-09-27 06:26:21 -07:00
Dr. Stefan Schimanski
6395049176 controlplane: make option structs uniformly optional
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com>
2023-09-27 11:22:37 +02:00
Davanum Srinivas
4d2d9947bf Deprecate cloud-provider/cloud-config in apiserver CLI
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-09-26 16:05:01 -04:00
Evan Lezar
394bcaf182 Only configure swap if available on node
This change bypasses all logic to set swap in the linux container
resources if a swap controller is not available on node. Failing
to do so may cause errors in runc when starting a container with
a swap configuration -- even if this is set to 0.

Signed-off-by: Evan Lezar <elezar@nvidia.com>
2023-09-26 21:32:58 +02:00
Dan Winship
2b973806bc Remove remaining unnecessary assertIPTablesRulesEqual checks
TestLoadBalancer and TestHealthCheckNodePort still had iptables rules
checks, but they also have sufficient runPacketFlowTests checks to
cover everything we care about.

(This leaves only TestOverallIPTablesRules and
TestSyncProxyRulesRepeated using assertIPTablesRulesEqual.)
2023-09-26 13:01:25 -04:00
Dan Winship
de077f448e Rename TestNonLocalExternalIPs to TestExternalTrafficPolicyCluster
For consistency with TestExternalTrafficPolicyLocal, test all of the
Cluster external traffic policy cases together here (ensuring that
masquerading happens where needed). Drop the assertIPTablesRulesEqual
test in favor of runPacketFlowTests.
2023-09-26 13:01:25 -04:00
Dan Winship
19f19e2f4f Merge the ExternalTrafficPolicy: Local tests together
Merge TestOnlyLocalExternalIPs, TestOnlyLocalLoadBalancing, and
TestOnlyLocalNodePorts together into TestExternalTrafficPolicyLocal.
Drop the assertIPTablesRulesEqual tests in favor of
runPacketFlowTests.

Remove TestOnlyLocalNodePortsNoClusterCIDR; the relevant bits of the
"no local detector" case are already fully covered by
TestInternalExternalMasquerade.
2023-09-26 13:01:23 -04:00
Dan Winship
ff5f5bc161 Merge several NodePort tests into TestNodePorts
Previously we had TestNodePort, which tested basic NodePort behavior,
plus Test{Enable,Disable}LocalhostNodePorts{IPv4,IPv6} to test the
behavior of --localhost-nodeports under IPv4 and IPv6, plus
TestDisableLocalhostNodePortsIPv4WithNodeAddress to test
--nodeport-addresses.

Merge all of these together into TestNodePorts, and use
runPacketFlowTests to check the results rather than
assertIPTablesRulesEqual.

The packet tracer is not full-featured enough to be able to check the
"anti martian packet spoofing" rule, so we check the iptables dump for
that manually.

(This also fixes the --localhost-nodeport tests to use the same IP
ranges as most of the other tests now.)
2023-09-26 12:01:28 -04:00
Dan Winship
f38231d568 Merge all the "reject when no endpoints" tests together
Merge TestClusterIPReject, TestExternalIPsReject, TestNodePortReject,
and TestLoadBalancerReject into a single test.

Also remove the assertIPTablesRulesEqual tests because the packet flow
tests cover all of the details we care about here.
2023-09-26 12:00:19 -04:00
Dan Winship
2435da11d5 Rewrite TestClusterIPEndpointsMore as TestClusterIPGeneral
Create some ClusterIP services and use runPacketFlowTests to test
general functionality:

  - normal connection
  - hairpin connection
  - multiple endpoints
  - port != targetPort
  - multiple protocols on same port

Remove the assertIPTablesRulesEqual test because the packet flow tests
cover all of the details we care about here.
2023-09-26 12:00:19 -04:00
Dan Winship
ce7ffa8175 Extend iptables packet tracer to support multiple node IPs 2023-09-26 12:00:17 -04:00
Abu Kashem
11ef9514da apf: remove RequestWaitLimit from queueset config 2023-09-26 08:55:23 -04:00
Kubernetes Prow Robot
c6bb90aeea Merge pull request #120852 from bzsuni/cleanup/sets/scheduler
use generic Set in scheduler
2023-09-25 01:52:57 -07:00
bzsuni
b71d7f9305 use generic Set in scheduler
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2023-09-24 22:46:55 +08:00
dhruvmehtaaa
7c5219438d Remove an old compatibility check/warning 2023-09-24 20:08:40 +05:30
Dan Winship
0910fe4b98 Extend iptables packet tracer to check the protocol 2023-09-22 11:41:21 -04:00
Dan Winship
a25fb03c00 Add assertIPTablesChainEquals, to streamline a few tests
Rather than checking the entire iptables dump, only check a single
chain.
2023-09-22 11:41:21 -04:00
Dan Winship
0ab0e404b8 Drop the now-unused assertIPTablesRulesNotEqual
Previously this was used to assert "something changed since the last
sync", but we already have packet flow tests in all of those cases now
to assert that the *specific* something we care about changed.
2023-09-22 11:41:21 -04:00
Dan Winship
4438f5e436 Remove assertIPTablesRulesEqual checks from terminating endpoints tests
The flow tests sufficiently check the results.

Also remove some irrelevant bits of the Service definition that don't
affect these tests.
2023-09-22 11:41:17 -04:00
Kubernetes Prow Robot
3ac83f528d Merge pull request #119290 from carlory/add-logger
the scheduling queue logs the error and treats it as QueueAfterBackoff
2023-09-22 08:10:49 -07:00
Dan Winship
d57a51d0a9 Remove assertIPTablesRulesEqual from InternalTrafficPolicy test
Just use the flow tests. Also, add a new test for a missing case.
2023-09-22 11:07:53 -04:00
Dan Winship
43db55e93d Rename and extend TestOverallIPTablesRulesWithMultipleServices
Rename TestOverallIPTablesRulesWithMultipleServices to just
TestOverallIPTablesRules, and add one rule type we weren't previously
testing (session affinity).
2023-09-22 11:06:45 -04:00
Kubernetes Prow Robot
4eb6b3907a Merge pull request #120361 from tnqn/improve-test-log
Improve service unit test failure report
2023-09-21 21:17:52 -07:00
Dan Winship
b489beb365 Remove an old compatibility check/warning
It was IPv4-specific but nobody ever noticed this or reported the lack
of IPv6 check as a problem, suggesting that it is no longer needed.
2023-09-21 16:49:23 -04:00
Evan Lezar
d3d1827c05 Use local isCgroup2UnifiedMode consistently
This change switches to using isCgroup2UnifiedMode locally to ensure
that any mocked function is also used when checking the swap controller
availability.

Signed-off-by: Evan Lezar <elezar@nvidia.com>
2023-09-21 16:09:04 +02:00
Kubernetes Prow Robot
f170340524 Merge pull request #120723 from princepereira/ppereira-kubeproxy-mock-test-fix
Fix for Kubeproxy Mock framework where hcn object is holding always new object and not the pointer reference
2023-09-21 01:06:19 -07:00
Kubernetes Prow Robot
bf421d52f2 Merge pull request #120777 from atiratree/reintroduce-resource-quota-monitor
reintroduce resourcequota.NewMonitor
2023-09-20 21:22:25 -07:00
Mengjiao Liu
3eb6c4d368 Migrated pkg/scheduler/framework/plugins/volumebinding to contextual logging 2023-09-21 11:28:12 +08:00
carlory
0105a002bc when the hint fn returns error, the scheduling queue logs the error and treats it as QueueAfterBackoff.
Co-authored-by: Kensei Nakada <handbomusic@gmail.com>

Co-authored-by: Kante Yin <kerthcet@gmail.com>

Co-authored-by: XsWack <xushiwei5@huawei.com>
2023-09-21 09:40:44 +08:00
Kubernetes Prow Robot
89b4153d4d Merge pull request #116884 from mengjiao-liu/contextual-logging-scheduler-plugin-nodevolumelimits
Change the scheduler plugins FactoryAdapter function to use context parameter to pass logger
2023-09-20 11:26:00 -07:00
Filip Křepinský
c816601d83 reintroduce resourcequota.NewMonitor
- this function is used by other packages and  was mistakenly removed
  in 397cc73dc9
- let resource quota controller use this constructor instead of an
  object instantiation
2023-09-20 17:18:55 +02:00
Kubernetes Prow Robot
fd5f36e6a0 Merge pull request #120175 from kannon92/move-pod-failure-policy-constant
move reasons to api package for job controller
2023-09-20 03:06:00 -07:00