API Server
API Server
依赖
tsuru API依赖于MongoDB server、Redis server、Hipache router和Gandalf server。虽然安装MongoDB和Redis的指南不在本文档范围内,但是按照他们的文档来操作是很简单的。”Installing Gandalf“和`”installing Hipache“在其他章节里面描述。
增加仓库
为tsuru来增加仓库:
sudo apt-get update
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:tsuru/ppa -y
sudo apt-get update
安装
sudo apt-get install tsuru-server -qqy
我们需要定制在/etc/tsuru/tsuru.conf文件中的配置。可能的配置值的描述可以在”configuration reference“中找到。基本的可能配置在下面描述,请注意你应该替代your-mongodb-server
, your-redis-server
, your-gandalf-server
和 your-hipache-server
的值。
listen: "0.0.0.0:8080"
debug: true
host: http://<machine-public-addr>:8080 # This port must be the same as in the "listen" conf
auth:
user-registration: true
scheme: native
database:
url: <your-mongodb-server>:27017
name: tsurudb
pubsub:
redis-host: <your-redis-server>
redis-port: 6379
queue:
mongo-url: <your-mongodb-server>:27017
mongo-database: queuedb
git:
api-server: http://<your-gandalf-server>:8000
provisioner: docker
docker:
router: hipache
collection: docker_containers
repository-namespace: tsuru
deploy-cmd: /var/lib/tsuru/deploy
cluster:
storage: mongodb
mongo-url: <your-mongodb-server>:27017
mongo-database: cluster
run-cmd:
bin: /var/lib/tsuru/start
port: "8888"
ssh:
add-key-cmd: /var/lib/tsuru/add-key
user: ubuntu
routers:
hipache:
type: hipache
domain: <your-hipache-server-ip>.xip.io
redis-server: <your-redis-server-with-port>
特别地,注意你必须把auth:user-registration设置为true:
auth:
user-registration: true
scheme: native
否则,tsuru在下面的章节中创建admin user时会失败。
现在,你只需要启动tsuru API 服务器:
sudo sed -i -e 's/=no/=yes/' /etc/default/tsuru-server
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”。
比如描述:
$ tsurud [--config <path to tsuru.conf>] root-user-create myemail@somewhere.com
# type a password and confirmation (only if using native auth scheme)
$ sudo apt-get install tsuru-client
$ tsuru target-add default http://<your-tsuru-api-addr>:8080
$ tsuru target-set default
$ tsuru login myemail@somewhere.com
# type the chosen password
这样,你在tsuru API服务器已经注册了一个user,它已经准备好来执行任何命令。
为Gandalf认证生成一个token
假设你已经配置好在“previous installation step”中的Gandalf服务器,现在你需要导出两个额外的环境变量到git user,会执行我们的hook、URL到我们的API服务器和一个生成的token。
第一步是在安装了API server的机器上生成一个token:
$ tsurud token
fed1000d6c05019f6550b20dbc3c572996e2c044
现在你应该回到你的安装了Gandalf的机器上,然后执行:
$ cat | sudo tee -a /home/git/.bash_profile <<EOF
export TSURU_HOST=http://<your-tsuru-api-addr>:8080
export TSURU_TOKEN=fed1000d6c05019f6550b20dbc3c572996e2c044
EOF