Skip to content
Pre-release

@font font released this Aug 17, 2019 · 19 commits to master since this release

Changelog

  • #1099
    Updates to propagation status are now only made in response to
    propagation to member clusters or errors in propagation. Previously
    propagation status was updated every time a federated resource was
    reconciled which could result in unnecessary resource consumption.
  • #1098
    Propagated version is now only updated when changed.
  • #1087
    The ReplicaScheduling controller now correctly updates existing
    overrides of /spec/replicas. Previously the controller was able
    to create and remove overrides for the replicas field but would
    fail to update them.
  • #1076
    All kubefedctl commands now default --host-cluster-context to the
    current context in log messages.
  • #1086
    kubefedctl federate now removes all metadata fields except labels
    from the template of federated resources created from a
    non-federated resource. Previously metadata.annotations and
    metadata.finalizers were not removed which could result in
    propagation errors.
  • #1079 The
    spec field is now required in generated federated types. For types
    generated previously, a check has been added so that a missing spec
    field does not cause a nil pointer exception.

Artifacts

kubefedctl, command line tool to join clusters, enable type federation, and convert resources to their federated equivalents

See asset links below for kubefedctl-x.x.x-<os>-<arch>.tgz

Helm chart, to deploy federation as per user guide instructions

See asset link below for kubefed-x.x.x.tgz

Controller-manager image

quay.io/kubernetes-multicluster/kubefed:v0.1.0-rc6

User Guide

User Guide

Assets 8
Pre-release

@marun marun released this Aug 1, 2019 · 84 commits to master since this release

Changelog

  • KubeFed API groups have been renamed from *.kubefed.k8s.io to *.kubefed.io.
  • KubeFedConfig spec.scope is now immutable.
  • Support has been added for varying the apiVersion of target resources. This is intended to allow a federated type to manage more than one version of the target type across member clusters. apiVersion can be set either in the template of a federated resource or via override.
  • Propagation status for a namespaced federated resource whose containing namespace is not federated now indicates an unhealthy state.
  • When the health check of a member cluster does not succeed, detail about the failure is now added as an event to the relevant KubeFedCluster resource.
  • When a FederatedTypeConfig is modified, the sync controller it configures will now be restarted.
  • When the name of a FederatedNamespace does not match the name of its containing namespace, an error event will be added to the FederatedNamespace.
  • kubefedctl join now defaults --host-cluster-context to the name of the current context.

Artifacts

kubefedctl, command line tool to join clusters, enable type federation, and convert resources to their federated equivalents

See asset links below for kubefedctl-x.x.x-<os>-<arch>.tgz

Helm chart, to deploy federation as per user guide instructions

See asset link below for kubefed-x.x.x.tgz

Controller-manager image

quay.io/kubernetes-multicluster/kubefed:v0.1.0-rc5

User Guide

User Guide

Assets 8
Pre-release

@font font released this Jul 20, 2019 · 140 commits to master since this release

Changelog

  • Adds admission webhook validations for KubeFedCluster API.
  • metadata.finalizers and metadata.annotations can no longer be set from the template of a federated resource and values for these fields are always retained. JSON patch overrides ensures it is still possible to add or remove entries from these collections.
  • Add support for defaulting KubeFedConfigs using mutating admission webhook.
  • Removed template validation schema from Federated API's to facilitate upgrade scenarios.
  • Add kubefedctl orphaning-deletion command to enable, disable, and check the status of orphaning deletion mode for managed resources upon deletion of federated resource.
  • If a target namespace of federate and all orphaning-deletion commands is not specified, use the namespace from the client kubeconfig context.

Artifacts

kubefedctl, command line tool to join clusters, enable type federation, and convert resources to their federated equivalents

See asset links below for kubefedctl-x.x.x-<os>-<arch>.tgz

Helm chart, to deploy federation as per user guide instructions

See asset link below for kubefed-x.x.x.tgz

Controller-manager image

quay.io/kubernetes-multicluster/kubefed:v0.1.0-rc4

User Guide

User Guide

Assets 8
Pre-release

@font font released this Jun 25, 2019 · 200 commits to master since this release

Changelog

  • Adds support for jsonpatch overrides.
  • Adds admission webhook support for namespace-scoped deployments.
  • Adds admission webhook validations for KubeFedConfig API.
  • Adds admission webhook validations for FederatedTypeConfig API.
  • The KubeFed image is now compatible with and defaults to running as a non-privileged user.

Artifacts

kubefedctl, command line tool to join clusters, enable type federation, and convert resources to their federated equivalents

See asset links below for kubefedctl-x.x.x-<os>-<arch>.tgz

Helm chart, to deploy federation as per user guide instructions

See asset link below for kubefed-x.x.x.tgz

Controller-manager image

quay.io/kubernetes-multicluster/kubefed:v0.1.0-rc3

User Guide

User Guide

Assets 8
Pre-release

@marun marun released this May 27, 2019 · 340 commits to master since this release

  • The v0.1.0-rc2 image has been tested to work correctly.
  • Please see the v0.1.0-rc1 release for details as to what changed between this release and v0.0.10.

Artifacts

kubefedctl, command line tool to join clusters, enable type federation, and convert resources to their federated equivalents

See asset links below for kubefedctl-x.x.x-<os>-<arch>.tgz

Helm chart, to deploy federation as per user guide instructions

See asset link below for kubefed-x.x.x.tgz

Controller-manager image

quay.io/kubernetes-multicluster/kubefed:v0.1.0-rc2

User Guide

User Guide

Assets 8
Pre-release

@marun marun released this May 27, 2019 · 352 commits to master since this release

NOTE: This release is for informational purposes only. Please use releases v0.1.0-rc2 or above.

Changelog

Note This is the first beta1 (v0.1.0) release candidate. Subsequent release candidates are unlikely to include as many drastic changes.

  • Project name changed from Federation v2 to Kubernetes Cluster Federation (KubeFed for short)
    • Helm chart renamed to kubefed
    • docker image renamed to quay.io/kubernetes-multicluster/kubefed
    • The managed label has been renamed from federation.k8s.io/managed to kubefed.k8s.io/managed
    • The finalizer applied to federated resources has been changed from federation.k8s.io/sync-controller to kubefed.k8s.io/sync-controller
    • API group changed from federation.k8s.io to kubefed.k8s.io
    • FederatedCluster renamed to KubeFedCluster
    • FederationConfig renamed to KubeFedConfig
    • kubefedctl commands updated to reflect the rename
    • All role, rolebindings, and service accounts are now prefixed with kubefed- instead of federation-
  • Core and federated api versions changed from v1alpha1 to v1beta1
  • Propagation status is now recorded for all federated resources.
  • KubeFedCluster
    • Stores the API endpoint of a member cluster in field apiEndpoint instead of a cluster registry Cluster
    • Stores the ca bundle in field caBundle instead of in a secret
    • No longer supports insecure member clusters
  • Cluster references in placement are now objects instead of strings to ensure extensibility
  • The default KubeFed system namespace has been changed from federation-system to kube-federation-system. The kube- prefix is reserved for system namespaces and including it avoids having the KubeFed namespace conflict with a user namespace.
  • kubefedctl federate
    • Supports conversion of yaml sourced from a file via --filename
    • Supports conversion of yaml sourced from stdin via --filename -
    • Supports skipping API resources when federating namespace contents via --skip-api-resources
  • API Resources have been updated to conform to Kubernetes API conventions
  • This release includes a pre-built kubefedctl binary for MacOS (darwin)

Artifacts

kubefedctl, command line tool to join clusters, enable type federation, and convert resources to their federated equivalents

See asset links below for kubefedctl-x.x.x-<os>-<arch>.tgz

Helm chart, to deploy federation as per user guide instructions

See asset link below for kubefed-x.x.x.tgz

Controller-manager image

quay.io/kubernetes-multicluster/kubefed:v0.1.0-rc1

User Guide

User Guide

Assets 8
Pre-release

@marun marun released this May 22, 2019 · 526 commits to master since this release

Changelog

  • Renamed the kubefed2 cli tool to kubefedctl.
  • Added conversion of a namespace and its contents to federated equivalents via kubefedctl federate ns <namespace> --contents.
  • kubefedctl disable now deletes a FederatedTypeConfig rather than setting propagationEnabled. It also waits for the sync controller to shut down, and optionally removes the federated type CRD.
  • Removal of the FederatedTypeConfig for namespaces now disables all namespaced sync controllers. Additionally, the FederatedTypeConfig for namespaces must exist prior to starting a namespaced sync controller.
  • The fedv2 controllers now watch only resources in member clusters that are managed by fedv2. This minimizes the resource utilization of the fedv2 control plane.
  • A new option - skipAdoptingResources - has been added to the controller manager. If set to true, resources existing prior to attempted propagation will be ignored by the sync controller.
  • The controller manager now exposes a health check endpoint to improve the reliability of detecting faults in the control plane.
  • The helm chart now defaults to 2 replicas of the controller manager to ensure that leader election handoff is enabled by default.
  • The helm chart in the host cluster now grants the fedv2 control plane minimal privileges.

Artifacts

kubefedctl, command line tool to join clusters, enable type federation, and convert resources to their federated equivalents

kubefedctl (tgz)
kubefedctl sha256 checksum

Helm chart, to deploy federation as per user guide instructions

helm chart (tgz)
helm chart sha256 checksum

Controller-manager image

quay.io/kubernetes-multicluster/federation-v2:v0.0.10

User Guide

User Guide

Assets 6
Pre-release

@marun marun released this Apr 30, 2019 · 629 commits to master since this release

Changelog

  • The controller manager is now configured with an api type - FederationConfig - rather than command-line options.
  • kubefed2 now discovers the scope and registry namespace of the control plane it is targeting via FederationConfig, and these options no longer have to be provided on the command line.
  • FederationConfig configures the scope of a control plane with the scope field instead of limitedScope. Valid values are Namespaced and Cluster.
  • Cross-cluster service discovery now works for multi-zone clusters. There is an update to FederatedClusters and ServiceDNSRecord API types wherein the zone field is changed to zones.
  • The cluster health check is now more robust, and will not switch a cluster to unhealthy until multiple checks have failed.
  • kubefed2 federate now supports the --enable-type flag
  • kubefed2 enable now succeeds if federation of the type is already enabled.
  • The controller manager now runs under its own SA rather than the default one for the namespace it runs in.
  • As a result of watching only labeled resources, unlabeled resources in unselected clusters will no longer be deleted.

Artifacts

Kubefed2, command line tool to join clusters

kubefed2 (tgz)
kubefed2 sha256 checksum

Helm chart, to deploy federation as per user guide instructions

helm chart (tgz)
helm chart sha256 checksum

Controller-manager image

quay.io/kubernetes-multicluster/federation-v2:v0.0.9

User Guide

User Guide

Assets 6
Pre-release

@marun marun released this Apr 11, 2019 · 724 commits to master since this release

Changelog

  • Helm is now the only supported method of deploying federation, and a chart archive will be provided with each release starting with this one.
  • The helm chart now correctly configures the controller manager with the minimal set of rbac permissions required to function.
  • The sync controller now applies a new finalizer (federation.k8s.io/sync-controller instead of federation.kubernetes.io/delete-from-underlying-clusters). This change in finalizer usage represents a breaking change with previous releases of federation since resources reconciled by previous releases 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.
  • The template for a FederatedNamespace is now sourced from the template field (like all other federated types) rather than the containing namespace.
  • kubefed2 federate has been updated to support output to yaml via -o yaml. YAML output requires a Kubernetes API endpoint to function, but can function even if federation is not deployed to the cluster.
  • kubectl get federatedcluster now lists the cluster status
  • The generated CRD schema of scalable resources (e.g. deployments, replicasets) now uses the correct type of boolean for the retainReplicas field (instead of bool).

Artifacts

Kubefed2, command line tool to join clusters

kubefed2 (tgz)
kubefed2 sha256 checksum

Helm chart, to deploy federation as per user guide instructions

helm chart (tgz)
helm chart sha256 checksum

Controller-manager image

quay.io/kubernetes-multicluster/federation-v2:v0.0.8

User Guide

User Guide

Assets 6
Pre-release

@marun marun released this Mar 22, 2019 · 832 commits to master since this release

Kubefed2, command line tool to join clusters

kubefed2 (tar.gz)
kubefed2 sha256 checksum

Controller-manager image

quay.io/kubernetes-multicluster/federation-v2:v0.0.7

User Guide

User Guide

Assets 4
You can’t perform that action at this time.