* 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
This change updates the CSR API to add a new, optional field called
expirationSeconds. This field is a request to the signer for the
maximum duration the client wishes the cert to have. The signer is
free to ignore this request based on its own internal policy. The
signers built-in to KCM will honor this field if it is not set to a
value greater than --cluster-signing-duration. The minimum allowed
value for this field is 600 seconds (ten minutes).
This change will help enforce safer durations for certificates in
the Kube ecosystem and will help related projects such as
cert-manager with their migration to the Kube CSR API.
Future enhancements may update the Kubelet to take advantage of this
field when it is configured in a way that can tolerate shorter
certificate lifespans with regular rotation.
Signed-off-by: Monis Khan <mok@vmware.com>
* 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>
ingress: use new serviceBackend split
ingress: remove all v1beta1 restrictions on creation
This change removes creation and update restrictions enforced by
k8s 1.18 for not allowing resource backends.
Paths are no longer
required to be valid regex and a PathType is now user-specified
and no longer defaulted.
Also remove all TODOs in staging/net/v1 types
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
Added test TestPrintEvent()
Added test TestPrintNamespace()
Added test TestPrintSecret()
Added test TestPrintServiceAccount()
Added test TestPrintPodCondition()
Added test TestPrintDaemonSetLists
Added test TestPrintJobList
Added test TestPrintPodDisruptionBudgetList
Adds test TestPrintConfigMap
Adds test TestPrintNetworkPolicy
Adds tests TestPrintRoleBinding and TestPrintClusterRoleBinding
Adds test TestPrintCertificateSigningRequest
Adds test TestPrintEndpoint
Adds test TestPrintReplicaSetList
Adds test TestPrintComponentStatus
Adds test TestPrintCronJobList
Adds test TestPrintPodTemplate
Adds test TestPrintPodTemplateList
Adds test TestPrintReplicationController
Adds test TestPrintServiceList
Adds test TestPrintStatefulSet
Updated test TestPrintNodeStatus() to not use NewTableGenerator or NewTablePrinter
Updated test TestPrintNodeRode() to not use NewTableGenerator or NewTablePrinter
Updated test TestPrintNodeOSImage() to remove NewTableGenerator and NewTablePrinter
Updated test TestPrintNodeKernelVersion() to remove NewTableGenerator and NewTablePrinter
Updated test TestPrintNodeContainerRuntimeVersion() to remove NewTableGenerator and NewTablePrinter
Updated test TestPrintNodeName() to remove NewTableGenerator and NewTablePrinter
Updated test TestPrintNodeExternalIP() to remove NewTableGenerator and NewTablePrinter
Updated test TestPrintNodeInternalIP() to remove NewTableGenerator and NewTablePrinter
Updated ingress printing test to TestPrintIngress()
Updated test TestPrintService() to remove NewTableGenerator and NewTablePrinter
Updated test to TestPrintServiceLoadBalancer, removing NewTableGenerator and NewTablePrinter
Updated test TestPrintNonTerminatedPod() to remove NewTableGenerator
Updates test TestPrintDeployment() removing NewTableGenerator and NewTablePrinter
Updated test TestPrintDaemonSet(), removing NewTableGenerator and NewTablePrinter
Updated test TestPrintJob, removing NewTableGenerator and NewTablePrinter
Updates test TestPrintHPA(), removing NewTableGenerator and NewTablePrinter
Updated test TestPrintPodDisruptionBudget(), removing NewTableGenerator and NewTablePrinter
Updated test TestPrintControllerRevision(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintLease, removing NewTableGenerator and NewTablePrinter
Updates test TestPrintPriorityClass(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintRuntimeClass(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintEndpointSlice(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintReplicaSet(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintPersistentVolume(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintPersistentVolumneClaim(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintCronJob(), removing NewTableGenerator and NewTablePrinter
Updates test TestPrintStorageClass(), removing NewTableGenerator and NewTablePrinter