Tsuru 0.11.0 发布,开源 PaaS 平台
Tsuru 可以让你构建自己的 PaaS 服务。Tsuru 采用 go 语言写成,依赖 go 环境和 libxml。
在 Tsuru 的 PaaS 服务下,你可以选择自己的编程语言,选择使用 SQL 或者 NoSQL 数据库,memcache、redis、等等许多服务,甚至与你可以使用 Git 版本控制工具来上传你应用。
Tsuru 0.11.0 发布,增加了一些新功能(池管理检修,节点自动缩放),修复了大量 Bug,向后兼容性方面也做了更改。新增功能
-
Pool management overhaul(池管理检修). Now pools are a concept independent on the docker provisioner. You can have multiple pools associated with each team. If that’s the case, when creating a new application, users will be able to choose which pool they want to use to deploy it.
To support these features some client commands have changed, mainly
tsuru app-create
support a--pool <poolname>
parameter.Some action is needed to migrate old pool configuration to this new format. Seebackward incompatible changes section for more details. #1110
-
Node auto scaling(节点自动缩放). It’s now possible to enable automatic scaling of docker nodes, this will add or remove nodes according to rules specified in your tsuru.conf file. See node auto scalingtopic and config reference for more details.#1110
Bug 修复
-
Better handling erroneous tsuru.yaml files with tabs instead of spaces. #1165
-
Restart after hooks now correctly run with environment variables associated to applications. #1159
-
tsuru app-shell
command now works with tsuru api under TLS. #1148 -
Removing machines from IaaS succeed if referenced machine was already manually removed from IaaS. #1103
-
Deploy details API call (/deploy/<id>) no longer fail with deploys originated by running
tsuru app-deploy
. #1098 -
Cleaner syslog output without lots of apparmor entries. #997
-
Running
tsuru app-deploy
on Windows now correctly handle directories and home path. #1168 #1169 -
Application listing could temporarily fail after removing an application, this was fixed. #1176
-
Running
tsuru app-shell
now correctly sets terminal size and TERM environment value, also container id is no longer ignored. #1112 #1114 -
Fix bug in the flow of binding and unbinding applications to service instances. With this old bug, units could end-up being bound twice with a service instance.
其他改善
-
Limited number of goroutines started when initiating new units, avoiding starving docker with too many simultaneous connections. #1149
-
There is now a tsr command to run necessary migrations when updating from older versions. You can run it with
tsr migrate
and it should not have side- effects on already up-to-date installations. #1137 -
Added command
tsr gandalf-sync
, it should be called if Gandalf is activated on an existing tsuru api instance. It’s responsible for copying existing users and teams credentials to Gandalf. Users added after Gandalf activation in tsuru.conf will already be created on Gandalf and this command doesn’t needed to be called further. #1138 -
It’s now possible to remove all units from an application (thanks Lucas Weiblen). #1111.
-
Removing units now uses the scheduler to correctly maintain units balanced across nodes when removing a number of units. #1109
-
tsuru will keep trying to send image to registry during deploy for some time if the registry fails on the first request. #1099
-
It’s possible to use a docker registry with authentication support. Seeconfig reference for more details. #1182
-
Partial support for docker distribution (registry 2.0). Image removal is not yet supported. #1175
-
Improved logging support, allowing cloud admins to configure any of the three tsuru logging options: syslog, stderr or log file. At any time, it’s possible to enable any of the three options.
-
Running commands with
tsuru app-run
now log command’s output to tsuru logs.#986 -
Graceful shutdown of API when SIGTERM or SIGINT is received. The shutdown process now is:
-
Stop listening for new connections;
-
Wait for all ongoing connections to end;
-
Forcibly close
tsuru app-log -f
connections; -
Wait for ongoing healing processes to end;
-
Wait for queue tasks to finish running;
-
Wait for ongoing auto scaling processes to end.
-
Included lock information in API call returning application information. #1171
-
Unit names now are prefixed with application’s name (thanks Lucas Weiblen). #1160.
-
Admin users can now specify which user they want removed. #1014
-
It’s now possible to change metadata associated with a node. #1016
-
Users can now define a private environment variable withtsuru env-set(thanks Diogo Munaro).
-
Better error messages on server startup when MongoDB isn’t available (thanks Lucas Weiblen). #1125.
-
Add timing information to the healthcheck endpoint, so tsuru admins can detect components that are slow, besides detecting which are down.
-
Nowtsuru app-removedoes not guess app name (thanks Lucas Weiblen). #1106.
-
General improvements in the documentation:
</ul> -
There are two migrations that must run before deploying applications with tsr 0.11.0, they concern pools and can be run with
tsr migrate
. The way pools are handled has changed. Now it’s possible for a team to have access to more than one pool, if that’s the case the pool name will have to be specified during application creation. #1110 -
Queue configuration is necessary for creating and removing machines using a IaaS provider. This can be simply done by indicating a MongoDB database configuration that will be used by tsuru for managing the queue. No external process is necessary. See configuration reference for more details. #1147
-
Previously it was possible for more than one machine have the same address this could cause a number of inconsistencies when trying to remove said machine using
tsuru docker-node-remove --destroy
. To solve this problem tsuru will now raise an error if the IaaS provider return the same address of an already registered machine.If you already have multiple machines with the same address registered in tsuru, trying to add new machines will raise an error until the machines with duplicated address are removed.
向后兼容性方面的更新 (action needed)
此版本现已提供下载:Source code (zip) Source code (tar.gz)
更多内容请查看发行页面。
来自:http://www.oschina.net/news/62224/tsuru-0-11-0