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-createsupport a
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
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-shellcommand 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
Application listing could temporarily fail after removing an application, this was fixed. #1176
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 migrateand it should not have side- effects on already up-to-date installations. #1137
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
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-runnow 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;
tsuru app-log -fconnections;
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:
向后兼容性方面的更新 (action needed)
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.
Tsuru 可以让你构建自己的 PaaS 服务。Tsuru 采用 go 语言写成，依赖 go 环境和 libxml。
在 Tsuru 的 PaaS 服务下，你可以选择自己的编程语言，选择使用 SQL 或者 NoSQL 数据库，memcache、redis、等等许多服务，甚至与你可以使用 Git 版本控制工具来上传你应用。