Skip to content

v0.3.0

Compare
Choose a tag to compare
@Iceber Iceber released this 01 Jun 09:55
· 657 commits to main since this release
1377c02

What's New

APIServer

  • Added a new feature gate of RemainingItemCount to set whether the number of remained resources will be included in the response by default (#197, #166, @cleverhu, @feeltimeQ)

The feature gate of RemainingItemCount defaults to false, and the number of remained resources can be included by default with --feature-gates RemainingItemCount=true.

Collection Resources

  • Added kuberesources to support for search and paging of all kube's build-in types of resources through a single api (#186, @cleverhu)

  • Added support for getting only the metadata of resources (#193, @cleverhu)

$ kubectl get collectionresources
NAME            RESOURCES
workloads       deployments.apps,daemonsets.apps,statefulsets.apps
kuberesources   *,*.admission.k8s.io,*.admissionregistration.k8s.io,*.apiextensions.k8s.io,*.apps,*.authentication.k8s.io,*.authorization.k8s.io,*.autoscaling,*.batch,*.certificates.k8s.io,*.coordination.k8s.io,*.discovery.k8s.io,*.events.k8s.io,*.extensions,*.flowcontrol.apiserver.k8s.io,*.imagepolicy.k8s.io,*.internal.apiserver.k8s.io,*.networking.k8s.io,*.node.k8s.io,*.policy,*.rbac.authorization.k8s.io,*.scheduling.k8s.io,*.storage.k8s.io

# path is /apis/clusterpedia.io/v1beta1/collectionresources/kuberesources
$ kubectl get collectionresources kuberesources

ClusterSynchro Manager

  • Added support for using wildcards to set syncResources, and you can sync all resources in a cluster (#188, @Iceber)
# PediaCluster
spec:
  syncResources:
  - group: "*"
    resources:
    - "*"

or

# PediaCluster
spec:
  syncResources:
  - group: "apps"
    resources:
    - "*"
  • Optimized support for custom resources and aggregated resources, with the capability of updating resource-sync versions in real time based on changes to CRDs and API (#180, #136, @Iceber)

  • Optimized the sync status of resources, and added exception messages due to permission or other problems (#161, @ycsk02)

  • Added the ClusterSynchroInitialized condition to PediaCluster (#142, @ycsk02)

  • Added support for using the singular and plural of resources when setting up sync resources, and the capability of using any upper- or lower-case format (#152, @Iceber)

# PediaCluster
spec:
  syncResources:
  - group: "apps"
    resources:
    - "deployment"
    - "DaemonSet"
  • Added support for syncing all custom resources (#112, @Iceber)
# need to set feature gate AllowSyncAllCustomResources to true, eg. `./apiserver --feature-gates=AllowSyncAllCustomResources=true`
# PediaCluster
spec:
  syncAllCustomResources: true
  • Removed the flowcontrol controller to avoid dependencies on the kube version (#198, @cleverhu)

Default Storage Layer

  • Added support for configuring the database connection pool (#190, @cleverhu)
# storage-config.yaml
connPool:
  maxIdleConns: 10
  maxOpenConns: 100
  connMaxLifetim: 1h
  • Added support for rollover of storage logs to avoid a large buildup (#182, @RuliXu)
# storage-config.yaml
log:
  logger:
    filename: "/var/log/clusterpedia/apiserver.log"
    maxSize: 100
    maxBackups: 1

For details see Lubmerjack configuration.

  • Added support for some advanced search, allowing users to customize SQL statements for more complex searches (#160, @cleverhu)
# need to set feature gate AllowRawSQLQuery to true, eg. `./apiserver --feature-gates=AllowRawSQLQuery=true`
URL="/apis/clusterpedia.io/v1beta1/resources/apis/apps/v1/deployments"
kubectl get --raw="$URL?whereSQL=(namespace='default') or (name like '%25b%25')"

Bug Fix

Others

Contributors

Thanks everyone who contributed to this release!

The following users (sort alphabetically) are those who committed much in this release. Thank you!

And thanks to @windsonsea for proofreading the release notes.