DRYCC 发布 v1.4.0,从 PAAS 到 K8S 工具箱

2020年10月16日

关于Drycc

DRYCC工作流是一个开源的平台即服务(PaaS),它为任何kubernetes集群添加了一个开发人员友好的层,使应用程序的部署和管理变得容易。

DRYCC工作流包括通过git push从源代码构建和部署的功能、简单的应用程序配置、创建和回滚发布、管理域名和SSL证书、提供无缝边缘路由、聚合日志以及与团队共享应用程序。所有这些都是通过一个简单的RESTAPI和命令行接口公开的。

发布内容

Drycc从19年9月份到现在,过去了一年多点时间,我们对Drycc整体的进行了重构,现在drycc比任何时候更稳定、更健壮。

这一次我们重新定义了Drycc,它不仅仅是符合12-Factor App的PAAS云,还是一个优雅的、对开发和运维更友好的K8S工具箱;本次发布是在过去几年中使用k8s的一次经验总结;所有更改都是针对我们在生产环境中遇到的实际问题的最佳实践,本次主要更新如下:

* 删除了v1.16之前版本的支持,并支持最新的k8s v1.19。
* 引入了volumes命令,并支持多个实例中POD共享存储;需要k8s StorageClass支持ReadWriteMany。
* 引入openservicebroker支持,详见resources命令;需要k8s安装svc-cat。

关于文档

昨天我跟团队里的建小国讨论,是不是做个中文版的文档?都是中国人,没有中文文档会不会太儿戏了;最近我们一定会补上一份中文文档,请各位亲门先忍忍^_^

文档地址:https://www.drycc.cc/

Changelog

Releases

  • builder v1.1.0 -> v1.2.0
  • slugbuilder v1.1.1 -> v1.2.0
  • dockerbuilder v1.1.1 -> v1.1.2
  • controller v1.2.1 -> v1.3.0
  • slugrunner v1.1.1 -> v1.1.2
  • database v1.0.1 -> v1.0.2
  • fluentd v1.0.1 -> v1.1.0
  • redis v1.0.0 -> v1.1.0
  • logger v1.0.0 -> v1.1.0
  • minio v1.0.1 -> v1.1.0
  • monitor v1.0.1 -> v1.1.0
  • nsqd v1.0.0 -> v1.1.0
  • registry v1.0.2 -> v1.0.3
  • registry-proxy v1.0.0 -> v1.0.1

Features

  • fc7d93f (builder) - builder: use go-dev
  • 0c2159e (builder) - builder: fmt code and add create_bucket script
  • 1b88340 (controller) - controller: remove deprecated api
  • a92fdeb (controller) - routable: ingress support routable
  • 1e3eab3 (controller) - maintenance: add maintenance support for ingress
  • 56b9dd0 (controller) - crt: support containerd-ctr
  • 5fc3b46 (controller) - controller: add ephemeral-storage restriction
  • d677e52 (controller) - controller: add a volume command
  • 5f1323a (controller) - controller:drycc run cmd add --mount para
  • 74c36a5 (controller) - tasks: add distributed async task
  • 139c3ca (controller) - tasks: change nsq reader to async
  • f237d74 (controller) - controller:add drycc resource cmd
  • 41b46d0 (controller) - controller:add drycc resource cmd improvement
  • c26f7d8 (controller) - controller: add LimitRanges support
  • 45b5d1b (controller) - users: add users status api
  • 4e16f9b (controller) - ps:add ps:stop/start command
  • c659fa9 (controller) - k8s: add k8s cluster domain
  • 31a625d (controller) - ps:add ps:stop/start command
  • 00a779a (fluentd) - fluentd: support containerd log format
  • f3f1bd4 (fluentd) - nsqd: add stateless nsqd cluster support
  • db7147c (fluentd) - mirrors: delete aliyun mirrors
  • 689c12e (logger) - nsqd: add stateless nsqd cluster support
  • 78ccc5d (logger) - redis: add redis client cluster support
  • 9843f2c (logger) - k8s: add k8s cluster domain
  • 6ba122e (minio) - minio: add pvc support
  • 6973550 (monitor) - monitor: add ingress for monitor
  • cd73305 (monitor) - charts: add volumeName support
  • 4769fe9 (monitor) - nsqd: add stateless nsqd cluster support
  • 87806df (monitor) - k8s: add k8s cluster domain
  • 4db40c4 (nsqd) - nsqd: add stateless nsqd cluster support
  • b6f3d4f (nsqd) - nsqd: add stateless nsqd cluster support
  • 74b85bb (redis) - redis: change redis to statefulset
  • ff98b50 (slugbuilder) - slugbuilder: delete build hook
  • b201c2f (slugbuilder) - buildpacks: use drycc buildpacks

Fixes

  • 0ec042d (builder) - test: fix test case error
  • 4fb113b (builder) - build: base image replace by alpine
  • 443df48 (builder) - minio: fix not bucket error
  • 3dab5b0 (builder) - minio: create bucket error
  • 734fca6 (controller) - autoscale: Fix for autoscale on k8s-1.9+ without breaking manual scaling
  • a7dcd10 (controller) - controller: test pass
  • 93f0f2e (controller) - controller: fix migrations error
  • 4724375 (controller) - controller: fix test error
  • 7bacf29 (controller) - charts: fix clusterrole
  • 90957f7 (controller) - pod: sort events error
  • 440b13e (controller) - controller: review table structure
  • 0a470a6 (controller) - controller: bump tornado 5.1.1
  • e39218b (controller) - pynsq: no current event loop in thread
  • 1d8630e (controller) - tests: fix test_task.py run error
  • 1ff1202 (controller) - controller: fix test case
  • d8c0da3 (controller) - settings: fix env name
  • 6d8fd36 (database) - 003_restore_from_backup.sh: ignore script exit 1
  • e0394a9 (database) - minio: fix not bucket error
  • f35f252 (database) - mc: fix create_bucket error
  • 74d6886 (database) - postgres: recovery mode not run
  • e50d0c1 (dockerbuilder) - caddy: fix caddy not start
  • f3bec7a (fluentd) - influxdb: fix influxdb host and port
  • bc19f27 (fluentd) - charts: skipped value for daemon_environment: Not a table
  • 338d623 (logger) - logger: logger not run in alpine
  • 7788302 (minio) - minio: bump minio version
  • 619eed0 (minio) - fix: use go mod replace dep
  • 3b42122 (monitor) - monitor: fix host error
  • 67998ef (monitor) - influxdb: replace drycc-monitor-influxapi to drycc-monitor-influx-api
  • 2cc361c (registry) - registry: fix test case
  • 548297a (registry) - minio: fix not bucket error
  • 5412ddb (registry) - minio: create bucket error
  • d0d629e (slugbuilder) - slugbuilder:fix normalize_storage path
  • d76ecbe (slugbuilder) - slugbuilder: use v3 api
  • c505e18 (slugbuilder) - shellcheck: SC2039

Style

  • c893a17 (builder) - builder: fmt code
  • bba5795 (controller) - controller: format code
  • d36082b (controller) - controller: fix pep8
  • 66026f2 (controller) - resource: standardize the naming of resource
  • 03d7e2c (controller) - servicecatalog: change servicecatalog to svcat
  • 49dbb6d (controller) - controller: flake8 upgrade
  • cbfc108 (monitor) - monitor: format charts and dashboard
  • ee85954 (slugbuilder) - slugbuilder: use shellcheck
  • 3afed2e (slugbuilder) - docker: simplify dockerfile
  • 36b7f68 (slugrunner) - docker: simplify dockerfile

Maintenance

  • 61bb0ef (builder) - aws: upgrade aws sdk version
  • 0f2e074 (builder) - chore: use go mode replace dep
  • e9a2219 (builder) - builder: delete glide up
  • bb8c518 (builder) - registry: del quay.io
  • fa6d02f (builder) - builder: upgrade go.sum
  • 9d61e8d (builder) - build: upgrade go.mod
  • d763a98 (builder) - charts: upgrade k8s newer API versions
  • d1bc1aa (builder) - pkg: upgrade to new drycc/pkg
  • 02b1e98 (builder) - builder: update go mod
  • 8e17d65 (builder) - builder: change alpine repositories
  • f32b723 (builder) - mirrors: delete aliyun mirrors
  • e33dc61 (builder) - minio: use bin mc replace docker images
  • 3ab4f1c (builder) - builder: update controller-sdk-go
  • b2adfac (builder) - heroku: remove heroku-16 support
  • f429ac8 (builder) - builder: set GIT_LOCK_TIMEOUT to 30 minutes
  • 7197c83 (builder) - go.mod:upgrade require pkg controller-sdk-go
  • 5f3e22d (controller) - deps: bump django from 1.11.21 to 1.11.22 in /rootfs
  • 1db645a (controller) - deps: bump django from 1.11.22 to 1.11.23 in /rootfs
  • fbe8067 (controller) - deps: bump django from 1.11.23 to 1.11.29 in /rootfs
  • 537d667 (controller) - registry: del quay.io
  • a23c65b (controller) - deps: update all deps to the latest version
  • 546337e (controller) - charts: upgrade k8s newer API versions
  • 06023f8 (controller) - workflow-manager: del workflow-manager
  • bba5736 (controller) - controller: change cluster-issuer location
  • 6c43661 (controller) - Certificatechange cluster-issuer location
  • 39a4728 (controller) - controller:change cluster-issuer location del controller-cluster-issuer.yaml
  • 9e96d3f (controller) - Certificate:upgrade version cert-manager.io/v1alpha2
  • 8e68049 (controller) - docker: use INDEX_URL replace index.docker.io
  • 8fda205 (controller) - cert_manager: change cert_manager_enabled to global
  • 6fefb6d (controller) - charts: change platform_domain to global
  • 064b2ad (controller) - maintenance: remove maintenance support
  • b8797c9 (controller) - workflow: remove namespace
  • 1b20d76 (controller) - quota: add kube quota config
  • d780075 (controller) - pod: add pod default resources support
  • 3d72c08 (controller) - rename: rename ingress name
  • 0aa6ab9 (controller) - mirrors: delete aliyun mirrors
  • 7533a65 (controller) - heroku: remove heroku-16 support
  • e5a885d (controller) - controller:check mount volume path
  • 9014e74 (controller) - test: optimization Dockerfile.test
  • 0b6ebb2 (controller) - tasks: change apply_async parameters
  • 835f009 (controller) - wsgi: add tornado 6 support
  • 67a4ad7 (controller) - utils: use threads replace asyncio
  • a28949b (controller) - ldap: add AUTH_LDAP_USER_FLAGS_BY_GROUP
  • a903209 (controller) - charts: add custom controller environment variables support
  • e0e783e (controller) - ldap: change filter style
  • d760825 (controller) - scheduler: remove debug log
  • a25928e (controller) - wsgi: remove a wsgi.py file
  • 7b2696e (controller) - log: disable nsq.client info log
  • 8d5c07b (controller) - charts: add default environment
  • 025f4a2 (controller) - controller: change quota name
  • ebda60e (controller) - controller: review pvc code
  • 8832ba9 (controller) - controller: change status\binding model type and mount path check container_types
  • 7148d04 (controller) - controller: add overcommit cpu and ram support
  • 4d2087c (controller) - limits: modify limits unit verification
  • af36970 (controller) - api: check cpu/memory range for api
  • 329355b (controller) - volumes: modify the volume size
  • 9dfee09 (controller) - LimitRanges: modify the default limits
  • 5205bca (controller) - controller: improve the details of certificate
  • 7ebecdf (database) - mc: upgrade mc to RELEASE.2019-05-23T01-33-27Z
  • 6415e2c (database) - postgres: upgrade to pg13
  • 12e6806 (database) - charts: upgrade k8s newer API versions
  • d294509 (database) - minio: use canary minio test
  • 1bad02e (database) - mirrors: delete aliyun mirrors
  • d51420b (database) - minio: use bin mc replace docker images
  • 4133d05 (dockerbuilder) - dockerbuilder: update caddy and kaniko
  • 6b4dd18 (dockerbuilder) - minio: use bin mc replace docker images
  • 6df9b7c (fluentd) - deps-dev: update rake requirement from ~> 10.0 to ~> 12.3
  • c2490f8 (fluentd) - fluentd: upgrade fluentd
  • be4a56a (fluentd) - fluentd: add Gemfile.lock
  • 2237f75 (fluentd) - charts: upgrade k8s newer API versions
  • c574065 (fluentd) - charts: upgrade k8s newer API versions
  • 52b8084 (fluentd) - router: delete obsolete router code
  • 3b3cceb (fluentd) - fluentd: remove manifests dir
  • 25c6702 (fluentd) - nsqd: change var name
  • bd571be (fluentd) - nsqd: change DRYCC_NSQD_ADDRESSES to DRYCC_NSQD_ADDRS
  • 72aa4e6 (fluentd) - influxdb: change influxdb service name
  • bd61903 (logger) - logger: use go mod replace dep
  • 69c63a1 (logger) - logger: update go.mod
  • 3aa9cd7 (logger) - registry: del quay.io
  • f058496 (logger) - nsqd: change var name
  • 6d9787c (logger) - nsqd: change DRYCC_NSQD_ADDRESSES to DRYCC_NSQD_ADDRS
  • 85ed307 (logger) - logger: standard naming
  • d88e7b6 (minio) - minio: update minio api to v7
  • 43715d2 (minio) - minio: upgrade minio
  • 0e1239b (minio) - minio: use docker.io replace quay.io
  • f7f047b (minio) - registry: del quay.io
  • afa7128 (minio) - build: upgrade go.mod
  • aff2db5 (minio) - charts: upgrade k8s newer API versions
  • 4547f14 (minio) - pkg: upgrade to new drycc/pkg
  • 2769b85 (minio) - minio: use bin mc replace docker images
  • 35dde8d (monitor) - monitor: update grafana influxdb telegraf
  • 9e3a949 (monitor) - charts: upgrade k8s newer API versions
  • 6af0432 (monitor) - workflow-manager: remove workflow-manager
  • 0611c07 (monitor) - router: delete obsolete router code
  • be04824 (monitor) - cert_manager: change cert_manager_enabled to global
  • 3780165 (monitor) - charts: change platform_domain to global
  • 50b04e1 (monitor) - influxdb: remove influxdb admin ui
  • 6ab4d68 (monitor) - influxdb: remove unuse port
  • f1510bd (monitor) - monitor: update grafana dashboard,telegraf inputs.kubernetes
  • f36de2c (monitor) - pvc: upgrade to new format
  • fc78a0a (monitor) - workflow: remove namespace
  • e85890f (monitor) - monitor: monitoring nsqd and redis separately
  • 694f6b1 (monitor) - mirrors: delete aliyun mirrors
  • 4aea36a (monitor) - grafana: add ldap support for grafana
  • 68fc30f (nsqd) - nsq: update nsq
  • 16f32aa (nsqd) - charts: upgrade k8s newer API versions
  • 04db389 (redis) - reids: update to redis 6
  • 3f01bab (redis) - charts: upgrade k8s newer API versions
  • 647e4be (registry) - registry: del quay.io
  • 0bbce99 (registry) - charts: upgrade k8s newer API versions
  • a982b50 (registry) - minio: use bin mc replace docker images
  • e088da3 (registry-proxy) - ingress: renmae use_native_ingress to use_ingress
  • 7e88337 (registry-proxy) - nginx: upgrade nginx to mainline
  • 7204d72 (registry-proxy) - registry: optimizing variable naming
  • 2eafc59 (registry-proxy) - registry-proxy: update nginx
  • 071bd86 (registry-proxy) - charts: upgrade k8s newer API versions
  • c72db96 (registry-proxy) - registry-proxy: change travis icon url
  • ca9f962 (slugbuilder) - slugbuilder: del BUILDPACK_URL support
  • 1b74dd5 (slugbuilder) - slugbuilder: add heroku-20 support
  • 54d4ad2 (slugbuilder) - slugbuilder: del quay.io
  • a78f37e (slugbuilder) - slugbuilder: add heroku-20 stack
  • 94ac94a (slugbuilder) - minio: use bin mc replace docker images
  • 53b4b8b (slugbuilder) - slugbuilder: modify stack priority
  • 58e2bd2 (slugbuilder) - dockerfile: add WORKDIR /tmp
  • b29cd04 (slugbuilder) - slugbuilder: add pre_build.sh
  • 9d319f6 (slugbuilder) - slugbuilder: silent mc command output
  • d1ec3c9 (slugbuilder) - heroku: remove heroku-16 support
  • 5048534 (slugbuilder) - slugbuilder: use drycc stack-images
  • a116537 (slugrunner) - slugrunner: add heroku-20 support
  • a1196bf (slugrunner) - slugrunner: del quay.io
  • 64c96d7 (slugrunner) - slugrunner: add heroku-20 stack
  • cc3e226 (slugrunner) - minio: use bin mc replace docker images
  • 9130bde (slugrunner) - shellcheck: shellcheck installer
  • 4ea33e1 (slugrunner) - slugrunner: modify stack priority
  • 5514e8b (slugrunner) - heroku: remove heroku-16 support
  • be829fb (slugrunner) - slugrunner: use drycc stack-images
  • e1e06be (slugrunner) - slugrunner: remove Dockerfile.heroku-16
展开阅读全文
4 收藏
分享
加载中
更多评论
0 评论
4 收藏
分享
返回顶部
顶部