聶永的博客

          記錄工作/學(xué)習(xí)的點(diǎn)點(diǎn)滴滴。

          服務(wù)器操作系統(tǒng)CoreOS初體驗(yàn)

          CoreOS官網(wǎng)主頁使用一句話概括其理念:“A new way to think about servers”,以及緊接著的“CoreOS is Linux for massive server deployments”, 表示這是一個(gè)新思維方式思考未來服務(wù)器大規(guī)模部署的的Linux服務(wù)器操作系統(tǒng)。

          CoreOS宣稱最小化的定制版linux系統(tǒng),具有:

          • Linux內(nèi)核,Linux運(yùn)行所需
          • 存在兩個(gè)ROOT分區(qū),一個(gè)被用作啟動(dòng)分區(qū),一個(gè)被用作更新分區(qū)
            更新分區(qū)在更新完成后,自動(dòng)重新啟動(dòng)系統(tǒng),當(dāng)前機(jī)器不需要從負(fù)載集群中移除,為了保證其它應(yīng)用程序不被打斷,會(huì)通過Linux cgroup限制更新過程中的磁盤、網(wǎng)絡(luò)等IO使用。
          • systemd,作為默認(rèn)系統(tǒng)和服務(wù)管理器,其優(yōu)秀特性:

            支持并行化任務(wù);
            同時(shí)采用 socket 式與 D-Bus 總線式激活服務(wù);
            按需啟動(dòng)守護(hù)進(jìn)程(daemon);
            利用 Linux 的 cgroups 監(jiān)視進(jìn)程;
            支持快照和系統(tǒng)恢復(fù);
            維護(hù)掛載點(diǎn)和自動(dòng)掛載點(diǎn);
            各服務(wù)間基于依賴關(guān)系進(jìn)行精密控制。
            
          • root分區(qū)被設(shè)計(jì)成只讀,用以保證數(shù)據(jù)的一致性和更新可用

          • CPU、IO等資源隔離,自然要祭出容器(Container)來,CoreOS很明智使用Docker作為容器管理器用以構(gòu)建、發(fā)布應(yīng)用,從這個(gè)層面來看,一個(gè)應(yīng)用其實(shí)就是一個(gè)容器。
          • etcd組件負(fù)責(zé)服務(wù)發(fā)現(xiàn)和配置共享,采用Raft分布式一致性協(xié)議算法,承擔(dān)起,組件之間服務(wù)通信使用。很自然的,容器(Container)之間應(yīng)用、服務(wù)的伸縮,就顯得很簡單了。其基因?qū)用嬷С旨禾匦裕?dāng)然,你也可以解讀為云環(huán)境的支持。

          看起來,這個(gè)系統(tǒng)是為類似于擁有眾多平臺的IT公司準(zhǔn)備的。服務(wù)之間,粒度變得很細(xì)。

          剛剛發(fā)布第一個(gè)0.1.0版本,官方總結(jié)特性如下:

          1. 接口簡單,HTTP+JSON
          2. 安全,可選擇的SSL通信協(xié)議
          3. 快速,經(jīng)測試1000s單一實(shí)例寫入操作
          4. 可靠,分布式層面使用Raft協(xié)議
          5. 堅(jiān)固,集群的失敗可以從磁盤恢復(fù)

          要想體驗(yàn),目前看來,最簡單方式,需要在一個(gè)虛擬環(huán)境中嘗試一把,當(dāng)然也是這樣做的。本次體驗(yàn),基于Windows 7 64位系統(tǒng)。以下為簡單步驟:

          1. 先安裝VirtualBox 4.2.16,建議從官網(wǎng)下載。
          2. Vagrant,這次安裝最新的1.2.7版本,下載地址
          3. 安裝Git for Windows 1.8.3,可以讓命令下直接使用git命令
          4. 安裝CoreOS環(huán)境,打開windows命令行環(huán)境:

            git clone https://github.com/coreos/coreos-vagrant/
            cd coreos-vagrant
            vagrant up
            vagrant ssh
            

            執(zhí)行完畢 vagrant ssh, 會(huì)自動(dòng)生成一些ssh的一些信息:

            Host: 127.0.0.1
            Port: 2222
            Username: core
            Private key: C:/Users/nieyong/.vagrant.d/insecure_private_key
            

            使用熟悉的SSH終端工具登陸即可,這里推薦xshell,不在細(xì)述。SSH成功登入,可以看到歡迎信息:

            coreos-ssh

          5. 體驗(yàn)一把Docker作為容器管理器
            這里快速體驗(yàn)一把,敲入一下命令:

            docker run ubuntu /bin/echo hello world
            

            此時(shí),自動(dòng)下載Ubuntu系統(tǒng)容器鏡像文件:

            CoreOS-ubuntu

            更多Docker操作,請參閱其文檔

          6. 進(jìn)程管理systemd的一處使用這里想讓系統(tǒng)啟動(dòng)時(shí),執(zhí)行一些簡單任務(wù)。終端下輸入

            sudo -i
            

            切換到Ubuntu ROOT用戶角色下, 執(zhí)行vi /media/state/units/hello.service,敲入如下內(nèi)容:

            [Unit]
            Description=My Service
            After=docker.service
            
            [Service]
            Restart=always
            ExecStart=/usr/bin/docker run ubuntu /bin/sh -c "while true; do echo Hello World; sleep 1; done"
            
            [Install]
            WantedBy=local.target
            

            保存之后,我們需要做到模擬重啟:

            systemctl restart local-enable.service
            

            現(xiàn)在查看一下日志,可以看到其輸出:

            journalctl -u hello.service -f
            

            coreos-log

            更多systemd細(xì)節(jié),請參考http://www.freedesktop.org/wiki/Software/systemd/

          7. 本次淺嘗輒止,到此結(jié)束

          總體看,CoreOS最大特色,專門為大規(guī)模服務(wù)器部署定制的Linux精簡系統(tǒng),盡可能的精簡無關(guān)緊要的功能,將操作系統(tǒng)和應(yīng)用程序完全分離,從而降低操作系統(tǒng)和應(yīng)用程序的耦合度,同時(shí)解決了現(xiàn)有Linux服務(wù)器在容器資源、權(quán)限管理方面的欠缺。目前若說是顛覆性的操作系統(tǒng),十分牽強(qiáng),是不是未來,也不好說,但肯定是一種趨勢。

          因此,十分值得期待。


          進(jìn)階閱讀:

          Linux黑客車庫創(chuàng)業(yè):服務(wù)器操作系統(tǒng)CoreOS顛覆互聯(lián)網(wǎng)

           

          posted on 2013-08-26 17:27 nieyong 閱讀(54364) 評論(3)  編輯  收藏 所屬分類: 容器

          評論

          # re: 服務(wù)器操作系統(tǒng)CoreOS初體驗(yàn) 2014-02-16 17:48 hipin

          以前翻譯過CoreOS的一部分帖子,還是比較看好CoreOS的,不過最近在嘗試使用docker部署項(xiàng)目
          https://github.com/cloudcube/coreos-manual-chinese
          不過CoreOS還是有好多問題沒解決呢。  回復(fù)  更多評論   

          # re: 服務(wù)器操作系統(tǒng)CoreOS初體驗(yàn) 2015-03-20 16:41 適度清潔是祛痘的關(guān)鍵

          總體看,CoreOS最大特色,專門為大規(guī)模服務(wù)器部署定制的Linux精簡系統(tǒng),盡可能的精簡無關(guān)緊要的功能,將操作系統(tǒng)和應(yīng)用程序完全分離,從而降低操作系統(tǒng)和應(yīng)用程序的耦合度,同時(shí)解決了現(xiàn)有Linux服務(wù)器在容器資源、權(quán)限管理方面的欠缺。目前若說是顛覆性的操作系統(tǒng),十分牽強(qiáng),是不是未來,也不好說,但肯定是一種趨勢。對于樓主這說法,我還是比較贊同的  回復(fù)  更多評論   

          # re: 服務(wù)器操作系統(tǒng)CoreOS初體驗(yàn) 2016-03-11 11:04 linux

          關(guān)注這方面技術(shù)的同學(xué)
          可以
          加QQ群479189837討論   回復(fù)  更多評論   

          公告

          所有文章皆為原創(chuàng),若轉(zhuǎn)載請標(biāo)明出處,謝謝~

          新浪微博,歡迎關(guān)注:

          導(dǎo)航

          <2013年8月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統(tǒng)計(jì)

          常用鏈接

          留言簿(58)

          隨筆分類(130)

          隨筆檔案(151)

          個(gè)人收藏

          最新隨筆

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乌鲁木齐县| 高雄县| 珲春市| 孟津县| 新津县| 满洲里市| 津南区| 洪雅县| 紫云| 吉安县| 富裕县| 博爱县| 华宁县| 同心县| 壶关县| 江源县| 鲁山县| 绥滨县| 呼玛县| 桦甸市| 蓬莱市| 福建省| 绥中县| 沧源| 塔城市| 铜梁县| 彭山县| 绥芬河市| 伊春市| 合作市| 东平县| 天津市| 德保县| 乾安县| 蒲江县| 普洱| 定兴县| 色达县| 广安市| 尼勒克县| 日照市|