Refactor kubernetes feature checker tests
What does this MR do?
Refactor kubernetes feature checker tests to not hook into the client's http layer.
Why was this MR needed?
Hooking into the http layer makes upgrades of the kubernetes modules harder than it has to be.
FakeClient and additional helpers have been implemented, wich wrap around a standard kubernetes clients, and allow to fake out certain parts of those. We use that to fake out parts of the DiscoveryClient and the CoreV1 client. This all can be expanded to other things we need for testing, which the fake.ClientSet does not support.
We use that to fake the feature checker's IsHostAliasSupported method. With that, the feature checker is soley tested with either a fake.ClientSet or the previously discussed FakeClient.
What's the best way to test this MR?
Run the tests and see that they succeed.
What are the relevant issue numbers?
related: Chore: Refactor kubernetes tests to use canonic... (#38784)