- #865
github repo is renamed to kubefed. Following changes are done:
- API group changed from federation.k8s.io to kubefed.k8s.io
- FederatedCluster API is renamed to KubefedCluster
- FederationConfig API is renamed to KubefedConfig
- golang imports changed to use vanity url sigs.k8s.io/kubefed
- docker image is renamed to quay.io/kubernetes-multicluster/kubefed
- helm chart is renamed to kubefed
- All role, rolebindings, service-account begining with federation- prefix renamed to kubefed-
- #875 Insecure member clusters are no longer supported due to KubefedCluster.SecretRef being made a required field.
- #869 The api endpoint of a member cluster is now stored in KubefedCluster instead of a cluster registry Cluster.
- #688 Cluster references in placement are now objects instead of strings to ensure extensibility.
- #832
kubefedctl federate
can take input from a file via--filename
option and stdin via--filename -
option. - #868
The default kubefed system namespace has been changed from
federation-system
tokube-federation-system
. Thekube-
prefix is reserved for system namespaces and including it avoids having the kubefed namespace conflict with a user namespace. - #740 Propagation status is now recorded for all federated resources.
- #844
kubefedctl federate
namespace with its content gets an option to skip API Resources via--skip-api-resources
.
- #722 - Removal of the FederatedTypeConfig for namespaces now disables all namespaced sync controllers. Additionally, the namespace FederatedTypeConfig must always exist prior to starting any namespaced sync controller.
- #612 - Label managed resources in member clusters and only watch resources so labeled to minimize the memory usage of the federated control plane.
- #721 - kubefed2 disable now deletes the FederatedTypeConfig rather than set propagationEnabled, waits for the sync controller to shut down, and optionally removes the federated type CRD.
- #825 - kubefed2 tool is renamed to kubefedctl.
- #741 -
Added conversion of a namespace and its contents to federated
equivalents via
kubefedctl federate ns <namespace> --contents
.
- #776 -
Switch to use
scope
instead oflimitedScope
to specify if it isNamespaced
orCluster
scoped federation deployment. - #797 - Cross-cluster service discovery now works for multi-zone clusters. There is an update to KubefedClusters and ServiceDNSRecord API types wherein the zone field is changed to zones.
- #720 -
kubefed2 enable
now succeeds if federation of the type is already enabled. - #738 -
Cleanup
kubefed2 enable
required arguments and remove unnecessary--registry-namespace
option fromkubefed2 <enable|disable>
. - #737 - Switch to use KubefedConfig resource rather than command line options for kubefed controller configuration management
- #549 - As a result of watching only labled resources, unlabled resources in unselected clusters will no longer be deleted.
- #663
kubefed2 federate
now supports the--enable-type
flag to optionally enable the giventype
for propagation.
- #652 - Switch to sourcing the template for a FederatedNamespace from a field rather than the containing namespace. This ensures uniformity in template handling across all federated types.
- #716 -
Upgrade kubebuilder version to v1.0.8
- Removed generated typed clients for federation apis from tree. Use generic client to operate on federation apis as shown here
- Helm based deployment method will be the only supported deployment method to install kubefed control plane.
- #622 -
Switched the sync controller to using a new finalizer
(
kubefed.k8s.io/sync-controller
instead offederation.kubernetes.io/delete-from-underlying-clusters
) and replaced the use of the kubeorphan
finalizer in favor of an annotation to avoid conflicting with the garbage collector. This change in finalizer usage represents a breaking change since resources reconciled by previous versions of the sync controller will have the old finalizer. The old finalizer would need to be manually removed from a resource for that resource to be garbage collected after deletion. - #698 -
Fix the generated CRD schema of scalable resources to define the
retainReplicas
of typeboolean
rather than the invalid typebool
. - #662 Federating a resource could now function without a federation API.
- #661 Accept group qualified type name for type in federate resource.
- #660
kubefed2 federate
has been updated to support output to yaml via-o yaml
. YAML output would still require a Kubernetes API endpoint to function.