【編者的話】作者以自己的mac筆記本為例,介紹了如何在coreos上安裝wordpress應用,沒有過多的理論解釋,全部是實戰類教程,推薦想快速了解coreos的同學閱讀。
screen-shot-2014-03-25-at-2.13_.49-pm_.png
<a target="_blank"></a>
fleetctl 和 etcdctl 是原生的控制coreos叢集的工具,安裝步驟如下:
$ brew install go etcdctl
$ git clone https://github.com/coreos/fleet.git
$ cd fleet
$ ./build
$ mv bin/fleetctl /usr/local/bin/
$ git clone https://github.com/centurylinklabs/coreos-vagrant
$ cd coreos-vagrant/cluster
$ vagrant up --provision
現在你的筆記本上有一個由最小的3個coreos系統組成的叢集。簡單極了,現在讓我們使用fleetctl來檢查下。
$ fleetctl list-machines machine ip metadata
09fd0a88... 10.0.2.15 -
77763947... 10.0.2.15 -
f31c383c... 10.0.2.15 -
太棒了,跑起來了。
現在你有一個coreos叢集了。接下來fleetctl指令可以讓你在coreos叢集節點上部署應用,但要用fleet寫服務檔案。當然,不需要你自己來寫。你可以用簡單的yaml格式來生成服務(service)檔案。
-
web:
image: ctlc/wordpress
ports:
- 80:80
environment:
db_user: root
db_password: qa1n76pwari9
links:
- db
db:
image: ctlc/mysql
- 3306:3306
mysql_database: wordpress
mysql_root_password: qa1n76pwari9
$ fig2coreos myapp fig.yml coreos-files
$ cd coreos-files
$ ls
db-discovery.1.service
db.1.service
web-discovery.1.service
web.1.service
fleetctl用戶端工具使用etcd的鍵值存儲來确定它要通路的伺服器以及通路叢集中有etcd服務端運作的伺服器。下面是如何在coreos叢集中部署你的應用。
現在你的程式運作起來了,但是服務還沒有注冊到etcd。幸運的是,fig2coreos已經為我們自動生成服務檔案。
找出哪個機器監聽着你的80端口:
screen-shot-2014-03-25-at-1.58_.16-pm_.png
原文釋出時間:2014-12-24
本文來自雲栖合作夥伴“linux中國”