Clusterpedia Versions Save

The Encyclopedia of Kubernetes clusters

v0.7.0

10 months ago

Notable Changes since v0.6.0

APIServer

Bug Fix

ClusterSynchro Manager

Bug Fix

InternalStorage

# sqlite.yaml
type: sqlite
dsn: file:test.db

When using the sqlite storage layer, it is recommended to use the binding-apiserver cmd.

type: mysql
mysql:
  recoverableErrNumbers: [1053, 1205, 1290]

For recoverable errors, the synchro assumes that the storage layer is recoverable and will permanently retry handling the resources until it encounters other errors or succeeds.

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!

  • @calvin0327
  • @cleverhu
  • @Fish-pro
  • @Iceber
  • @luckymrwang
  • @OrangeBao
  • @panpan0000
  • @RuliXu
  • @windsonsea
  • @wzshiming

v0.7.0-beta.0

11 months ago

Notable Changes since v0.6.0

APIServer

Bug Fix

ClusterSynchro Manager

Bug Fix

InternalStorage

# sqlite.yaml
type: sqlite
dsn: file:test.db

When using the sqlite storage layer, it is recommended to use the binding-apiserver cmd.

type: mysql
mysql:
  recoverableErrNumbers: [1053, 1205, 1290]

For recoverable errors, the synchro assumes that the storage layer is recoverable and will permanently retry handling the resources until it encounters other errors or succeeds.

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!

  • @calvin0327
  • @cleverhu
  • @Fish-pro
  • @Iceber
  • @luckymrwang
  • @OrangeBao
  • @panpan0000
  • @RuliXu
  • @windsonsea
  • @wzshiming

v0.7.0-alpha.0

1 year ago

Notable Changes since v0.6.0

APIServer

Bug Fix

ClusterSynchro Manager

Bug Fix

InternalStorage

# sqlite.yaml
type: sqlite
dsn: file:test.db

When using the sqlite storage layer, it is recommended to use the binding-apiserver cmd.

type: mysql
mysql:
  recoverableErrNumbers: [1053, 1205, 1290]

For recoverable errors, the synchro assumes that the storage layer is recoverable and will permanently retry handling the resources until it encounters other errors or succeeds.

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!

  • @calvin0327
  • @cleverhu
  • @Fish-pro
  • @Iceber
  • @luckymrwang
  • @OrangeBao
  • @panpan0000
  • @RuliXu
  • @windsonsea
  • @wzshiming

v0.6.4

1 year ago

Changes since v0.6.3

Full Changelog: https://github.com/clusterpedia-io/clusterpedia/compare/v0.6.3...v0.6.4

v0.6.4-rc.0

1 year ago

Changes since v0.6.3

Full Changelog: https://github.com/clusterpedia-io/clusterpedia/compare/v0.6.3...v0.6.4

v0.6.3

1 year ago

Changes since v0.6.2

ClusterSynchro Manager

APIServer

InternalStorage

Contributor

Thanks everyone who contributed to this release!

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

  • @calvin0327
  • @cleverhu
  • @CoderTh
  • @Iceber
  • @lengrongfu
  • @OrangeBao

v0.6.2

1 year ago

Changes since v0.6.1

InternalStorage

  • Support for configuring database recoverable errors (#480, @cleverhu)
type: mysql
mysql:
  recoverableErrNumbers:
  - 1029

or

type: postgres
postgres:
  recoverableErrCodes:
  - "57P01"

v0.6.1

1 year ago

Changes since v0.6.0

ClusterSynchro Manager

  • fix shutdown cluster synchro and add some log (#477, @Iceber)

v0.6.0

1 year ago

Notable Changes since v0.5.0

APIServer

  • When processing a resource request, we first check if the cluster exists (#431, @lengrongfu)
$ CLUSTERPEDIA_URL="http://127.0.0.1:8080/apis/clusterpedia.io/v1beta1/resources"
$ FAKE_CLUSTER="unknown"
$ curl $CLUSTERPEDIA_URL/clusters/$FAKE_CLUSTER/apis/apps/v1/deployments
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "the server could not find the requested cluster",
  "reason": "BadRequest",
  "code": 400
}

ClusterSynchro Manager

  • Use standalone tcp for health checker (#459, @Iceber)

The request of the cluster health check using the same TCP connection as the resource synchronized informer, which may cause TCP blocking and increased health check latency if a large number of informers are started for the first time.

We add a feature gate - HealthCheckerWithStandaloneTCP to allow users to use a standalone tcp for health checks.

./clustersynchro-manager --feature-gates=HealthCheckerWithStandaloneTCP=true
  • Make synchromanager worker configurable (#465, @wlp1153468871)

Previously we set the number of workers used to reconcile PediaClusters to 1, but now we allow the number of workers to be specified by --worker-number flag, which defaults to 5

./clustersynchro-manager --worker-number=5
  • The dynamic discovery manager starts and stops based on cluster status (#456, @Iceber)

  • The interval between health checks does not include the execution time (#440, @cleverhu)

  • Resolve Cluster Healthy Condition Message isn't empty (#347, @qiuming520)

Storage

  • Support for using go plugin to register storage layer plugins (#436, @Iceber)
  • Set the verbs of the resource according to the verbs supported by the storage layer (#451, @Iceber)

MemoryStorage

  • Add memory storage layer and binding-apiserver command (#345, #382, @duanmengkk, @wuyingjun-lucky, @hanweisen, @xyz2277, @qiuming520) The memory storage layer supports watch on resources

InternalStorage

  • Support order by raw sql (#350, @cleverhu)
  • Support for returning all resources if groups=* is given (#407, @27149chen)
  • Add driver.ErrBadConn to recoverable errors (#463, @cleverhu)
  • Fix notin and != operators in JSONBuilder (#404, @Iceber)

Other

  • Sync clusterpedia-io/api by pipeline (#444, @rokkiter)
  • Add clusterimportpolicy example for kubevela (#421, @muma378)
  • Mark status.version of PediaCluster as optional field (#373, @kuangcheng66)

Dependencies

  • Change kubernetes deps from k3s-io/kubernetes to k8s.io/kubernetes (#351, @Iceber)
  • Bump kubernetes from v1.24 to v1.25.2 (#352, #403, @Iceber, @scydas)
  • Bump sigs.k8s.io/controller-tools from 0.9.0 to 0.10.0 (#363,#399, @scydas)
  • Bump sigs.k8s.io/controller-runtime from 0.12.1 to 0.13.1 (#390,#449, @scydas, @Icarus9913)
  • Bump gorm.io/gorm from 1.23.8 to 1.24.0 (#391,#420, @scydas)
  • Bump gorm.io/driver/mysql from 1.3.6 to 1.4.4 (#427,#457, @scydas)
  • Bump gorm.io/driver/postgres from 1.3.9 to 1.4.5 (#377,#438, @scydas)
  • Bump alpine image from 3.14 to 3.16.3 (#468, @Iceber)

v0.6.0-beta.1

1 year ago

Notable Changes since v0.5.0

APIServer

  • When processing a resource request, we first check if the cluster exists (#431, @lengrongfu)
$ CLUSTERPEDIA_URL="http://127.0.0.1:8080/apis/clusterpedia.io/v1beta1/resources"
$ FAKE_CLUSTER="unknown"
$ curl $CLUSTERPEDIA_URL/clusters/$FAKE_CLUSTER/apis/apps/v1/deployments
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "the server could not find the requested cluster",
  "reason": "BadRequest",
  "code": 400
}

ClusterSynchro Manager

  • Use standalone tcp for health checker (#459, @Iceber)

The request of the cluster health check using the same TCP connection as the resource synchronized informer, which may cause TCP blocking and increased health check latency if a large number of informers are started for the first time.

We add a feature gate - HealthCheckerWithStandaloneTCP to allow users to use a standalone tcp for health checks.

./clustersynchro-manager --feature-gates=HealthCheckerWithStandaloneTCP=true
  • Make synchromanager worker configurable (#465, @wlp1153468871)

Previously we set the number of workers used to reconcile PediaClusters to 1, but now we allow the number of workers to be specified by --worker-number flag, which defaults to 5

./clustersynchro-manager --worker-number=5
  • The dynamic discovery manager starts and stops based on cluster status (#456, @Iceber)

  • The interval between health checks does not include the execution time (#440, @cleverhu)

  • Resolve Cluster Healthy Condition Message isn't empty (#347, @qiuming520)

Storage

  • Support for using go plugin to register storage layer plugins (#436, @Iceber)
  • Set the verbs of the resource according to the verbs supported by the storage layer (#451, @Iceber)

MemoryStorage

  • Add memory storage layer and binding-apiserver command (#345, #382, @duanmengkk, @wuyingjun-lucky, @hanweisen, @xyz2277, @qiuming520)

InternalStorage

  • Support order by raw sql (#350, @cleverhu)
  • Support for returning all resources if groups=* is given (#407, @27149chen)
  • Add driver.ErrBadConn to recoverable errors (#463, @cleverhu)
  • Fix notin and != operators in JSONBuilder (#404, @Iceber)

Other

  • Sync clusterpedia-io/api by pipeline (#444, @rokkiter)
  • Add clusterimportpolicy example for kubevela (#421, @muma378)
  • Mark status.version of PediaCluster as optional field (#373, @kuangcheng66)

Dependencies

  • Change kubernetes deps from k3s-io/kubernetes to k8s.io/kubernetes (#351, @Iceber)
  • Bump kubernetes from v1.24 to v1.25.2 (#352, #403, @Iceber, @scydas)
  • Bump sigs.k8s.io/controller-tools from 0.9.0 to 0.10.0 (#363,#399, @scydas)
  • Bump sigs.k8s.io/controller-runtime from 0.12.1 to 0.13.1 (#390,#449, @scydas, @Icarus9913)
  • Bump gorm.io/gorm from 1.23.8 to 1.24.0 (#391,#420, @scydas)
  • Bump gorm.io/driver/mysql from 1.3.6 to 1.4.4 (#427,#457, @scydas)
  • Bump gorm.io/driver/postgres from 1.3.9 to 1.4.5 (#377,#438, @scydas)
  • Bump alpine image from 3.14 to 3.16.3 (#468, @Iceber)