Commit Graph

170 Commits

Author SHA1 Message Date
wojtekt
8b98305858 Remove variadic argument from storage interface 2020-11-02 16:08:23 +01:00
Khaled Henidak (Kal)
6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
Masashi Honma
81ed48a471 test: Fix using deprecated default cluster IPs
The unit test for controlplane produces a warning caused by using deprecated default cluster IPs.

make test WHAT=./pkg/controlplane GOFLAGS=-v
W1015 07:42:59.203836  111754 services.go:37] No CIDR for service cluster IPs specified. Default value which was 10.0.0.0/24 is deprecated and will be removed in future releases. Please specify it using --service-cluster-ip-range on kube-apiserver.

This warning appears in six tests, TestValidOpenAPISpec, TestLegacyRestStorageStrategies, TestCertificatesRestStorageStrategies, TestVersion, TestAPIVersionOfDiscoveryEndpoints, TestStorageVersionHashes and TestStorageVersionHashEqualities.

This patch fixes the warning by passing ServiceIPRange.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2020-10-17 07:38:10 +09:00
Kubernetes Prow Robot
0f39af90ed
Merge pull request #94364 from wojtek-t/efficient_watch_resumption
Efficient watch resumption
2020-09-25 15:42:48 -07:00
Aaron Crickenberger
2853143ce7 address instance_test nits 2020-09-24 16:30:08 -04:00
Daniel Smith
13b6a929bc It's an 'Instance' of apiserver 2020-09-24 16:14:29 -04:00
Kubernetes Prow Robot
f404443d9b
Merge pull request #94984 from deads2k/fix-endpoint-check
check readyz before adding endpoint for kube-apiserver
2020-09-22 21:26:08 -07:00
David Eads
3e93197b84 check readyz before adding endpoint for kube-apiserver 2020-09-22 17:23:45 -04:00
wojtekt
fbd65a265a Pipe newFunc to etcd3 storage layer 2020-09-15 08:19:12 +02:00
David Eads
c0c033b12f generated 2020-09-14 09:24:41 -04:00
David Eads
c7911a384c remove pod presets 2020-09-14 09:24:40 -04:00
Daniel Smith
5a4ba227af rename some files 2020-09-10 16:34:05 -07:00
Haowei Cai
07506ab384 generated 2020-09-08 19:14:36 -07:00
Chao Xu
86dd4ce3b5 Let kube-apiserver host the storage version API
Co-authored-by: Haowei Cai <haoweic@google.com>
2020-09-08 19:14:36 -07:00
Haowei Cai
769f057004 generated 2020-09-08 14:34:55 -07:00
Haowei Cai
b71252a0ab add internal.apiserver.k8s.io/v1alpha1 to known gvs 2020-09-08 14:34:55 -07:00
Daniel Smith
a86afc12df update scripts 2020-09-02 10:49:40 -07:00
Daniel Smith
7bf2adade8 fix doc file 2020-09-02 10:48:26 -07:00
Daniel Smith
15e0e3e90e rename 2020-09-02 10:48:26 -07:00
Daniel Smith
1f0305fe1b partial 2020-09-02 10:48:26 -07:00