Skip to content

Commit

Permalink
Preparing docs and chart for v0.7.0 (#480)
Browse files Browse the repository at this point in the history
Signed-off-by: Siyu Wang <[email protected]>
  • Loading branch information
FillZpp authored Dec 16, 2020
1 parent d734546 commit 7e3550b
Show file tree
Hide file tree
Showing 17 changed files with 1,250 additions and 481 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/markdown-link-check.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"ignorePatterns": [
{
"pattern": "^https://codecov.io"
},
{
"pattern": "^https://openkruise.io"
}
]
}
72 changes: 69 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,71 @@
# Change Log

## v0.7.0

Since v0.7.0:

1. OpenKruise requires Kubernetes 1.13+ because of CRD conversion.
Note that for Kubernetes 1.13 and 1.14, users must enable `CustomResourceWebhookConversion` feature-gate in kube-apiserver before install or upgrade Kruise.
2. OpenKruise official image supports multi-arch, by default including linux/amd64, linux/arm64, and linux/arm platforms.

### A NEW workload controller - AdvancedCronJob
Thanks for @rishi-anand contributing!

An enhanced version of CronJob, it supports multiple kind in a template:

```yaml
apiVersion: apps.kruise.io/v1alpha1
kind: AdvancedCronJob
spec:
template:

# Option 1: use jobTemplate, which is equivalent to original CronJob
jobTemplate:
# ...

# Option 2: use broadcastJobTemplate, which will create a BroadcastJob object when cron schedule triggers
broadcastJobTemplate:
# ...

# Options 3(future): ...
```

### CloneSet

- **Partition support intOrStr format**
- Warning log for expectation timeout
- Remove ownerRef when pod's labels not matched CloneSet's selector
- Allow updating revisionHistoryLimit in validation
- Fix resourceVersionExpectation race condition
- Fix overwrite gracePeriod update
- Fix webhook checking podsToDelete

### StatefulSet

- **Promote Advanced StatefulSet to v1beta1**
- A conversion webhook will help users to transfer existing and new `v1alpha1` advanced statefulsets to `v1beta1` automatically
- Even all advanced statefulsets have been converted to `v1beta1`, users can still get them through `v1alpha1` client and api
- **Support reserveOrdinal for Advanced StatefulSet**

### DaemonSet

- Add validation webhook for DaemonSet
- Fix pending pods created by controller

### BroadcastJob

- Optimize the way to calculate parallelism
- Check ownerReference for filtered pods
- Add pod label validation
- Add ScaleExpectation for BroadcastJob

### Others

- Initializing capabilities if allowPrivileged is true
- Support secret cert for webhook with vip
- Add rate limiter config
- Fix in-place rollback when spec image no latest tag

## v0.6.1

### CloneSet
Expand Down Expand Up @@ -209,9 +275,9 @@ It provides full features for more efficient, deterministic and controlled deplo
### Documents

- Three blog posts are added in Kruise [website](http://openkruise.io/en-us/blog/index.html), titled:
1. Kruise Controller Classification Guidance.
2. Learning Concurrent Reconciling.
3. UnitedDeploymemt - Supporting Multi-domain Workload Management.
1. Kruise Controller Classification Guidance.
2. Learning Concurrent Reconciling.
3. UnitedDeploymemt - Supporting Multi-domain Workload Management.
- New documents are added for UnitedDeployment, including a [tutorial](./docs/tutorial/uniteddeployment.md).
- Revise main README.md.

Expand Down
13 changes: 7 additions & 6 deletions README-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@

|![notification](docs/img/bell-outline-badge.svg) 最新进展:|
|------------------|
|Dec 16th, 2020. Kruise v0.7.0 发布! 提供一个新的 AdvancedCronJob CRD、将 Advanced StatefulSet 升级 v1beta1 版本、以及其他控制器一些新增能力,详情参见 [CHANGELOG](CHANGELOG.md).|
|Oct 1st, 2020. Kruise v0.6.1 发布! 提供一系列增强 feature 和 bugfix 比如 CloneSet lifecycle hook 、UnitedDeployment 支持 CloneSet 等,详情参见 [CHANGELOG](CHANGELOG.md).|
|Aug 19th, 2020. Kruise v0.6.0 发布! 升级新的项目结构和依赖,并提供新的 Advanced DaemonSet 控制器,详情参见 [CHANGELOG](CHANGELOG.md).|
|May 19th, 2020. Kruise v0.5.0 发布! CloneSet 支持 `maxSurge` 策略、为 StatefulSet/SidecarSet 修复部分 bug,详情参见 [CHANGELOG](CHANGELOG.md).|
|Mar 20th, 2020. Kruise v0.4.1 发布! 为 Advanced StatefulSet 和 CloneSet 提供了 **优雅原地升级** 功能,详情参见 [CHANGELOG](CHANGELOG.md).|

## 介绍

Expand All @@ -36,6 +35,8 @@ OpenKruise (官网: [https://openkruise.io](https://openkruise.io)) 是托管在

- [Advanced DaemonSet](https://openkruise.io/zh-cn/docs/advanced_daemonset.html): 基于原生 DaemonSet 之上的增强版本,默认行为与原生一致,在此之外提供了灰度分批、按 Node label 选择、暂停、热升级等发布策略。

- [AdvancedCronJob](https://openkruise.io/zh-cn/docs/advancedcronjob.html): 一个扩展的 CronJob 控制器,目前 template 模板支持配置使用 Job 或 BroadcastJob。

项目的 **roadmap** 参考[这里](https://github.com/openkruise/kruise/projects)
[Video](https://www.youtube.com/watch?v=elB7reZ6eAQ) by [Lachlan Evenson](https://github.com/lachie83) 是一个对于新人很友好的 demo。

Expand All @@ -58,14 +59,14 @@ OpenKruise (官网: [https://openkruise.io](https://openkruise.io)) 是托管在
## 快速开始

想要快速使用 OpenKruise 非常简单!
对于版本高于 v1.12+ 的 Kubernetes 集群来说,只要使用 helm v3.1.0+ 执行安装即可:
对于版本高于 v1.13+ 的 Kubernetes 集群来说,只要使用 helm v3.1.0+ 执行安装即可:

```bash
# Kubernetes 版本低于 1.14
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.6.1/kruise-chart.tgz --disable-openapi-validation
# Kubernetes 版本 1.13 或 1.14
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.7.0/kruise-chart.tgz --disable-openapi-validation

# Kubernetes 版本大于等于 1.15
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.6.1/kruise-chart.tgz
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.7.0/kruise-chart.tgz
```

注意直接安装 chart 会使用默认的 template values,你也可以根据你的集群情况指定一些特殊配置,比如修改 resources 限制或者只启用某些特定的控制器能力。
Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@ English | [简体中文](./README-zh_CN.md)

|![notification](docs/img/bell-outline-badge.svg) What is NEW!|
|------------------|
|Dec 16th, 2020. Kruise v0.7.0 is **RELEASED**! It provides a new CRD named AdvancedCronJob, promotes AdvancedStatefulSet to v1beta1 and a few features in other controllers, please check the [CHANGELOG](CHANGELOG.md) for details.|
|Oct 1st, 2020. Kruise v0.6.1 is **RELEASED**! It provides various features and bugfix, such as CloneSet lifecycle hook and UnitedDeployment supported CloneSet, please check the [CHANGELOG](CHANGELOG.md) for details.|
|Aug 19th, 2020. Kruise v0.6.0 is **RELEASED**! It updates Kubernetes dependency and switches to new controller runtime framework. It also supports a new controller called Advanced DaemonSet, please check the [CHANGELOG](CHANGELOG.md) for details.|
|May 19th, 2020. Kruise v0.5.0 is **RELEASED**! It supports `maxSurge` for CloneSet and fixes bugs for StatefulSet/SidecarSet, please check the [CHANGELOG](CHANGELOG.md) for details.|
|Mar 20th, 2020. Kruise v0.4.1 is **RELEASED**! It provides **graceful in-place update** for Advanced StatefulSet and CloneSet, please check the [CHANGELOG](CHANGELOG.md) for details.|

## Introduction

Expand All @@ -36,6 +35,8 @@ As of now, Kruise offers these workload controllers:

- [Advanced DaemonSet](https://openkruise.io/en-us/docs/advanced_daemonset.html): An enhanced version of default [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) with extra upgrade strategies such as partition, node selector, pause and surging.

- [AdvancedCronJob](https://openkruise.io/en-us/docs/advancedcronjob.html): An extended CronJob controller, currently its template supports Job and BroadcastJob.

The project **roadmap** is actively updated in [here](https://github.com/openkruise/kruise/projects).
This [video](https://www.youtube.com/watch?v=elB7reZ6eAQ) demo by [Lachlan Evenson](https://github.com/lachie83) is a good introduction for new users.

Expand All @@ -55,14 +56,14 @@ This [video](https://www.youtube.com/watch?v=elB7reZ6eAQ) demo by [Lachlan Evens

## Quick Start

For a Kubernetes cluster with its version higher than v1.12, you can simply install Kruise with helm v3.1.0+:
For a Kubernetes cluster with its version higher than v1.13, you can simply install Kruise with helm v3.1.0+:

```bash
# Kubernetes 1.14 and older versions
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.6.1/kruise-chart.tgz --disable-openapi-validation
# Kubernetes 1.13 and 1.14
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.7.0/kruise-chart.tgz --disable-openapi-validation

# Kubernetes 1.15 and newer versions
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.6.1/kruise-chart.tgz
helm install kruise https://github.com/openkruise/kruise/releases/download/v0.7.0/kruise-chart.tgz
```

Note that installing this chart directly means it will use the default template values for the kruise-manager.
Expand Down
1 change: 0 additions & 1 deletion charts/kruise/v0.7.0/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apiVersion: v1
name: kruise
description: Helm chart for all kruise-manager components
version: 0.7.0
appVersion: 0.7.0
icon: http://openkruise.io/img/kruise_white.png
keywords:
- kubernetes
Expand Down
7 changes: 3 additions & 4 deletions charts/kruise/v0.7.0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@

Install with Helm 3:

Note that Kruise v0.7+ will only support Kubernetes 1.13+ and 1.13/1.14 must enable `CustomResourceWebhookConversion` feature-gate.

If your Kubernetes version is lower than 1.15, you'll need Helm v3.1.0+ that has the flag --disable-openapi-validation.
OpenKruise only supports Kubernetes version >= `1.13+` because of CRD conversion.
Note that for Kubernetes 1.13 and 1.14, users must enable `CustomResourceWebhookConversion` feature-gate in kube-apiserver before install or upgrade Kruise.

```bash
# Kubernetes 1.13 and 1.14
Expand Down Expand Up @@ -43,7 +42,7 @@ The following table lists the configurable parameters of the kruise chart and th
| `revisionHistoryLimit` | Limit of revision history | `3` |
| `manager.replicas` | Replicas of kruise-controller-manager deployment | `2` |
| `manager.image.repository` | Repository for kruise-manager image | `openkruise/kruise-manager` |
| `manager.image.tag` | Tag for kruise-manager image | `v0.6.1` |
| `manager.image.tag` | Tag for kruise-manager image | `v0.7.0` |
| `manager.resources.limits.cpu` | CPU resource limit of kruise-manager container | `100m` |
| `manager.resources.limits.memory` | Memory resource limit of kruise-manager container | `256Mi` |
| `manager.resources.requests.cpu` | CPU resource request of kruise-manager container | `100m` |
Expand Down
Loading

0 comments on commit 7e3550b

Please sign in to comment.