API Server

API Server

依赖

tsuru API依赖于MongoDB server、Redis server、Hipache router和Gandalf server。虽然安装MongoDB和Redis的指南不在本文档范围内,但是按照他们的文档来操作是很简单的。”Installing Gandalf“和`”installing Hipache“在其他章节里面描述。

增加仓库

为tsuru来增加仓库:

  1. sudo apt-get update
  2. sudo apt-get install python-software-properties
  3. sudo apt-add-repository ppa:tsuru/ppa -y
  4. sudo apt-get update

安装

  1. sudo apt-get install tsuru-server -qqy

我们需要定制在/etc/tsuru/tsuru.conf文件中的配置。可能的配置值的描述可以在”configuration reference“中找到。基本的可能配置在下面描述,请注意你应该替代your-mongodb-server, your-redis-server, your-gandalf-serveryour-hipache-server的值。

  1. listen: "0.0.0.0:8080"
  2. debug: true
  3. host: http://<machine-public-addr>:8080 # This port must be the same as in the "listen" conf
  4. auth:
  5. user-registration: true
  6. scheme: native
  7. database:
  8. url: <your-mongodb-server>:27017
  9. name: tsurudb
  10. pubsub:
  11. redis-host: <your-redis-server>
  12. redis-port: 6379
  13. queue:
  14. mongo-url: <your-mongodb-server>:27017
  15. mongo-database: queuedb
  16. git:
  17. api-server: http://<your-gandalf-server>:8000
  18. provisioner: docker
  19. docker:
  20. router: hipache
  21. collection: docker_containers
  22. repository-namespace: tsuru
  23. deploy-cmd: /var/lib/tsuru/deploy
  24. cluster:
  25. storage: mongodb
  26. mongo-url: <your-mongodb-server>:27017
  27. mongo-database: cluster
  28. run-cmd:
  29. bin: /var/lib/tsuru/start
  30. port: "8888"
  31. ssh:
  32. add-key-cmd: /var/lib/tsuru/add-key
  33. user: ubuntu
  34. routers:
  35. hipache:
  36. type: hipache
  37. domain: <your-hipache-server-ip>.xip.io
  38. redis-server: <your-redis-server-with-port>

特别地,注意你必须把auth:user-registration设置为true:

  1. auth:
  2. user-registration: true
  3. scheme: native

否则,tsuru在下面的章节中创建admin user时会失败。

现在,你只需要启动tsuru API 服务器:

  1. sudo sed -i -e 's/=no/=yes/' /etc/default/tsuru-server
  2. sudo start tsuru-server-api

创建admin user

在与tsuru API交互之前,创建admin user是有必要的。这可以通过如下的root-user-create命令来完成。这个命令会带有全局的权限创建一个认证角色,这个权限允许这个user来允许在tsuru上执行任何动作。更多的fine-grained角色可以在之后创建,请参考”managing users and permissions”来获取更多细节。

我们也会描述如何安装tsuru客户端应用。为了下面的每个命令的描述,请参考“client documentation”。

比如描述:

  1. $ tsurud [--config <path to tsuru.conf>] root-user-create myemail@somewhere.com
  2. # type a password and confirmation (only if using native auth scheme)
  3. $ sudo apt-get install tsuru-client
  4. $ tsuru target-add default http://<your-tsuru-api-addr>:8080
  5. $ tsuru target-set default
  6. $ tsuru login myemail@somewhere.com
  7. # type the chosen password

这样,你在tsuru API服务器已经注册了一个user,它已经准备好来执行任何命令。

为Gandalf认证生成一个token

假设你已经配置好在“previous installation step”中的Gandalf服务器,现在你需要导出两个额外的环境变量到git user,会执行我们的hook、URL到我们的API服务器和一个生成的token。

第一步是在安装了API server的机器上生成一个token:

  1. $ tsurud token
  2. fed1000d6c05019f6550b20dbc3c572996e2c044

现在你应该回到你的安装了Gandalf的机器上,然后执行:

  1. $ cat | sudo tee -a /home/git/.bash_profile <<EOF
  2. export TSURU_HOST=http://<your-tsuru-api-addr>:8080
  3. export TSURU_TOKEN=fed1000d6c05019f6550b20dbc3c572996e2c044
  4. EOF

原文: http://doc.oschina.net/tsuru-paas?t=52793