天天看點

手把手教你在 CoreOS 上建構你的第一個應用手把手教你在 CoreOS 上建構你的第一個應用

【編者的話】作者以自己的mac筆記本為例,介紹了如何在coreos上安裝wordpress應用,沒有過多的理論解釋,全部是實戰類教程,推薦想快速了解coreos的同學閱讀。

手把手教你在 CoreOS 上建構你的第一個應用手把手教你在 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端口:

手把手教你在 CoreOS 上建構你的第一個應用手把手教你在 CoreOS 上建構你的第一個應用

screen-shot-2014-03-25-at-1.58_.16-pm_.png

原文釋出時間:2014-12-24

本文來自雲栖合作夥伴“linux中國”

繼續閱讀