• API Server
    • API Server
      • 依赖
      • 增加仓库
      • 安装
      • 创建admin user
      • 为Gandalf认证生成一个token

    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