成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

優(yōu)勢+工具+實踐=DevOps&Docker的企業(yè)級落地

stormjun / 1149人閱讀

摘要:的設計模式的設計模式以持續(xù)集成持續(xù)測試持續(xù)交付和持續(xù)部署為中心,自動化協(xié)作和持續(xù)監(jiān)控是中使用的一些其他設計模式。持續(xù)集成持續(xù)集成是不斷地將源代碼集成到一個新的構(gòu)建或發(fā)布的過程,源代碼可以在本地存儲中,也可以在或中。

識別二維碼報名活動

8月19日,來自微軟、數(shù)人云、京東、當當網(wǎng)的四位IT老兵,《一起吹響Container+集結(jié)號》,看Serverless、DevOps、微服務、CI/CD、分布式調(diào)度任務等技術,在各個場景中與Container發(fā)生的碰撞與交互。

數(shù)人云:DevOps&Docker已經(jīng)逐步完成布道階段,在越來越多的場景中應用并且獲得顯著的效果,本文將闡述了兩者結(jié)合在一起的優(yōu)勢以及相關實踐。

Docker通過模塊化、平臺獨立性、高效資源利用和快速安裝,顛覆了原有的應用部署交付等方法,幫助DevOps更好地落地,兩者結(jié)合的優(yōu)勢有:

快速交付

實時更新應用

版本可靠

提高質(zhì)量

敏捷環(huán)境

什么是DevOps

敏捷開發(fā)基于適應性應用開發(fā)、持續(xù)改進、持續(xù)交付,因此DevOps的目標是在應用交付的各個團隊之間建立協(xié)作,并使應用交付過程自動化,從而不斷地測試、部署和監(jiān)控新發(fā)布的版本。

DevOps將開發(fā)和運維協(xié)調(diào)在一起,尋求自動化過程以保證應用的質(zhì)量,通過DevOps模式,Docker可以構(gòu)建從GitHub代碼倉庫到應用部署的一個持續(xù)交付的通道,從GitHub代碼倉庫到應用部署。

DevOps如何結(jié)合Docker

Docker容器通過鏡像運行,可以在本地或者存儲庫(如Docker Hub)上使用,假設作為一個用例,MySQL數(shù)據(jù)庫或其他數(shù)據(jù)庫提供的新版本經(jīng)常使用小BUG或補丁進行修復,如何在沒有延遲的情況下為終端用戶提供新版本?

Docker鏡像與代碼存儲庫相關聯(lián)——一個GitHub代碼倉庫或其他一些存儲庫,如AWS coUNK mit,若開發(fā)人員從GitHub代碼倉庫構(gòu)建Docker鏡像,并使其在Docker Hub到最終用戶,如果最終用戶將Docker鏡像部署為容器,那么會有以下幾個多帶帶運行的階段:

1)將GitHub代碼倉庫構(gòu)建到Docker鏡像中(使用Docker構(gòu)建命令)

2)測試Docker鏡像(使用Docker run命令)

3)上傳Docker鏡像到Docker
Hub(使用Docker推送命令)

4)終端用戶下載Docker鏡像(使用Docker pull命令)

5)終端用戶運行一個Docker容器(使用Docker run命令)

6)終端用戶部署一個應用(如,使用AWS彈性Beanstalk)

7)終端用戶監(jiān)控應用

當新的MySQL數(shù)據(jù)庫在短時間內(nèi)(可能僅僅一天),出現(xiàn)新的BUG,需要將過程重復。

但DevOps模式可以用于Docker鏡像從GitHub到部署,且不需要用戶或管理員進行干預。

DevOps的設計模式

DevOps的設計模式以持續(xù)集成、持續(xù)測試、持續(xù)交付和持續(xù)部署為中心,自動化、協(xié)作和持續(xù)監(jiān)控是DevOps中使用的一些其他設計模式。

【持續(xù)集成】

持續(xù)集成是不斷地將源代碼集成到一個新的構(gòu)建或發(fā)布的過程,源代碼可以在本地存儲中,也可以在GitHub或AWS CodeCommit中。

【持續(xù)測試】

連續(xù)測試新的構(gòu)建或發(fā)布即持續(xù)測試,Jenkins之類的工具為持續(xù)測試提供了幾個特性:在Jenkins的每個階段都有用戶去輸入,它提供了一些插件,如Docker構(gòu)建步驟插件,分別測試每個Docker應用階段:運行容器、上傳鏡像、停止容器。

【持續(xù)交付】

持續(xù)交付為終端用戶提供新的構(gòu)建,以便在生產(chǎn)中部署,對于Docker應用,持續(xù)交付包括在Docker Hub或Amazon EC2容器等存儲庫中提供Docker鏡像的每個新版本/標記。

【持續(xù)部署】

持續(xù)部署是不斷地部署Docker鏡像的最新版本,每當一個Docker鏡像的新版本/標簽可用時,Docker鏡像就會被部署到生產(chǎn)環(huán)境中,Kubernetes 容器管理器已經(jīng)提供了一些功能,如滾動更新,無需中斷即可將Docker鏡像升級到最新的服務,Jenkins滾動更新是自動化的,當Docker鏡像的新版本/標簽可用時,就會不斷更新。

【持續(xù)監(jiān)控】

持續(xù)監(jiān)控可以監(jiān)控正在運行應用的過程,類似于Sematext可以監(jiān)控Docker應用,部署Sematext Docker代理來監(jiān)控Kubernetes的集群指標并收集日志。

【自動化】

對于Docker應用,可以自動安裝一些如Kubernetes這種非常復雜的工具,在其1.4版本中包含了名為Kubeadm的新工具,可以在Ubuntu和CentOS上自動安裝Kubernetes上,但CoreOS上不支持Kubeadm工具。

【協(xié)作】

協(xié)作涉及到跨團隊的工作和資源共享,如不同的開發(fā)團隊可以在GitHub庫中開發(fā)Docker鏡像的不同版本代碼,所有的Docker鏡像標簽都被構(gòu)建并不斷上傳至Docker Hub,Jenkins提供了許多分支渠道項目,用于從GitHub存儲庫等存儲庫的多個分支中構(gòu)建代碼。

DevOps的工具 Jenkins

Jenkins是一種常用的自動化和持續(xù)交付工具,可用于不斷地構(gòu)建、測試和交付Docker鏡像,Jenkins提供了幾個可以與Docker一起使用的插件,如Docker插件,Docker構(gòu)建步驟插件,Amazon EC2插件。

使用Amazon EC2插件,可以使用云配置為Jenkins的代理服務器動態(tài)提供實例。

Docker插件可以用來配置云,在Docker容器中運行Jenkins項目。

Docker構(gòu)建步驟插件用于測試Docker鏡像的各個階段:構(gòu)建鏡像、運行容器、將鏡像Push到 Docker Hub停止并刪除Docker。

CodeCommit & CodeBuild & Elastic Beanstalk

AWS提供了一些DevOps工具:

CodeCommit是一個類似于GitHub的版本控制服務,用來存儲和管理源代碼文件,AWS CodeBuild用于構(gòu)建和測試代碼的DevOps工具,需要構(gòu)建的代碼可以從GitHub或coUNK mit持續(xù)集成,從CodeBuild中輸出的Docker鏡像可以上傳到Docker Hub,也可以在構(gòu)建完成時上傳到Amazon EC2容器注冊中心。

CodeBuild提供持續(xù)且自動化的過程用于構(gòu)建、測試、交付階段。

Elastic Beanstalk用于在云端部署和擴展Docker應用,提供了自動容量供應、負載均衡、容縮和監(jiān)控,Beanstalk應用和環(huán)境可以從一個打包為ZIP文件的Dockerfile創(chuàng)建,該文件包含其他應用資源,或僅僅來自一個未打包的Dockerfile,或可以在Dockerrun.aws中制定Docker應用的配置,包括Docker鏡像和環(huán)境變量。Json文件是Dockerrun.aws的例子,列出了多個容器的配置,其中一個用于MySQL數(shù)據(jù)庫,另一個用戶Nginx服務器:

{
  "AWSEBDockerrunVersion": 2,
  "volumes": [
    {
      "name": "mysql-app",
      "host": {
        "sourcePath": "/var/app/current/mysql-app"
      }
    },
    {
      "name": "nginx-proxy-conf",
      "host": {
        "sourcePath": "/var/app/current/proxy/conf.d"
      }
    }
  ],
  "containerDefinitions": [
    {
      "name": "mysql-app",
      "image": "mysql",
      "environment": [
        {
            "name": "MYSQL_ROOT_PASSWORD",
            "value": "mysql"
        },
        {
            "name": "MYSQL_ALLOW_EMPTY_PASSWORD",
            "value": "yes"
        },
        {
            "name": "MYSQL_DATABASE",
            "value": "mysqldb"
        },
        {
            "name": "MYSQL_PASSWORD",
            "value": "mysql"
        }
    ],
      "essential": true,
      "memory": 128,
      "mountPoints": [
        {
          "sourceVolume": "mysql-app",
          "containerPath": "/var/mysql",
          "readOnly": true
        }
      ]
    },
    {
      "name": "nginx-proxy",
      "image": "nginx",
      "essential": true,
      "memory": 128,
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80
        }
      ],
      "links": [
        "mysql-app"
      ],
      "mountPoints": [
        {
          "sourceVolume": "mysql-app",
          "containerPath": "/var/mysql",
          "readOnly": true
        },
        {
          "sourceVolume": "nginx-proxy-conf",
          "containerPath": "/etc/nginx/conf.d",
          "readOnly": true
        }
      ]
    }
  ]
}

Beanstalk應用程序部署的監(jiān)控:

DevOps&Docker的實踐

Docker Datacenter提供讓企業(yè)更容易建立內(nèi)部CaaS環(huán)境,有助于企業(yè)應用交付。

Docker Datacenter(DDC)為企業(yè)提供了一種方法:可以讓開發(fā)者輕松地部署應用,而不必擔心從開發(fā)到生產(chǎn)的過程中產(chǎn)生的問題。

CaaS平臺提供容器和集群編排,通過為DDC構(gòu)建云端模板,開發(fā)者和IT操作人員可以將Dockerzed應用遷移到云端。

DDC包括Docker Universal Control Plane(UCP)、The Docker Trusted Registry (DTR) , 和The Commercially Supported (CS) Docker Engine 。

The Universal Control Plane

UCP是集群管理解決方案,可以安裝在本地或虛擬私有云上,UCP公開了標準的Docker API,可以繼續(xù)使用已知的工具管理集群,如仍然可以使用docker info 命令來查看集群的狀態(tài):

Containers: 15
Images: 10
ServerVersion: swarm/1.1.3
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 2
 ucp: :
   └ Status: Healthy
   └ Containers: 20
 ucp-replica: :
   └ Status: Healthy
   └ Containers: 10

使用Docker UCP,仍然可以管理基礎設施的節(jié)點:應用、容器、網(wǎng)絡、鏡像等,Docker UCP有內(nèi)置身份驗證機制,支持LDAP和Active Directory及基于角色的訪問控制(RBAC),確保只有授權用戶能夠訪問并對集群進行更改。

UCP是一個容器化的應用,允許管理一組同一Docker集群的節(jié)點,UCP的核心組件是名為UCP代理的全局調(diào)度服務,運行后將使用其他CUP組件部署容器。

The Docker Trusted Registry

安全性是開發(fā)者在企業(yè)采用Docker所面臨的最大挑戰(zhàn)之一,認識到這一挑戰(zhàn)以及企業(yè)需要繼續(xù)在整個網(wǎng)絡中簡化安全性,Docker引入了Docker Trusted Registry(DTR)。

DTR使用的身份驗證機制和Docker UCP相同將其內(nèi)置,還支持RBAC,允許在必要時實現(xiàn)個性化的訪問控制策略。

部署Docker Datacenter

運行DDC主要有兩種選擇:部署整個堆棧,包括UCP和DTR在AWS上生成模板,或在Linux服務器上手動操作,在本案例中,將使用Docker CaaS(容器作為服務)提供的第二個選擇。

CaaS選項基本上是一個托管的SaaS解決方案,Docker引擎、UCP和DTR由Docker操作,容器節(jié)在服務器上運行,本文將鏈接到AWS環(huán)境作為案例,但其實也可以在本地環(huán)境中運行。

在AWS上部署節(jié)點集群

登錄到您的DDC賬戶(可以注冊試用Docer Datacenter版本)并在左側(cè)菜單中尋找云設置選項,如下圖所示,包含可以鏈接的支持公有云應用列表,用于創(chuàng)建和托管節(jié)點,可用Docker Datacenter進行管理。

選擇AWS作為提供商,單擊Plug-and-Play圖表后,會出現(xiàn)對話框,需要進入Role Delegation ARN(請參閱:https://docs.docker.com/docke...)

節(jié)點集群設置

鏈接到AWS環(huán)境后,進行基礎設施設置,如下圖所示:

點擊創(chuàng)建后,將被重定向到配置頁面——會被要求輸入集群的配置參數(shù):

集群名稱沒有限制,也適用于標簽字段,允許提供關于想要創(chuàng)建集群的額外描述。

建議列表也隨后出現(xiàn),作為提供者,必須選擇與自身賬戶鏈接的那個,字段本身只需要一個選擇,而且不局限于創(chuàng)建托管在不同提供者的節(jié)點集群。

繼續(xù)選擇AWS區(qū)域和網(wǎng)絡(VPC),如果將VPC默認設置為“Auto”那么所有的集群節(jié)點都將部署在一個新的自動創(chuàng)建的VPC中。

Type/Size字段用于配置每個節(jié)點的CPU和RAM數(shù)量,IAM角色可以不受影響,并保存默認值“None”剩下要配置的最后兩個字段是磁盤大小和節(jié)點數(shù)量,本文中,設置了10G的磁盤空間并創(chuàng)建了3個節(jié)點。

點擊啟動節(jié)點集群后,將重定向到節(jié)點集群概覽界面,可以跟蹤集群的狀態(tài),成功部署節(jié)點集群,部署的狀態(tài)就會出現(xiàn)在節(jié)點集群的名稱下。

再次點擊啟動節(jié)點集群,能看到云提供商發(fā)生更改,因為已經(jīng)與Docker Datacenter相連,所有創(chuàng)建的節(jié)點都將在那里托管,可以在云平臺上用支持的方式進行監(jiān)控。(參見Logz.io Docker日志收集器用于集中監(jiān)控Docker環(huán)境的方法:https://logz.io/blog/logz-io-...)

跨節(jié)點集群部署服務

接下來會詳細介紹如何跨節(jié)點集群部署服務,本文中將使用Nginx:

點擊左側(cè)菜單欄中的“服務”,將顯示主視圖的服務面板,而后點擊右上角的“Create”按鈕,將被重定向到部署獲取權鏡像的方式。

除了Jumpstart部分和公共鏡像,還有一部分可以定義自己的存儲庫,從中提取鏡像,這里將使用公開可用的鏡像。

在搜索Docker Hub區(qū)域內(nèi)的文本框中輸入“Nginx”Enter后將看到與之匹配的可用鏡像列表,選擇第一項。

單擊列表項中的“Select”按鈕后,將重定向到Settings頁面,部署策略對以下事情非常重要:

跨節(jié)點之間的負載均衡

當容器崩潰時的選項:自動重啟和自動銷毀

終止容器時的策略(此操作實際在終止時會破壞所有數(shù)據(jù))

自動重新部署選項:當新鏡像被推送或構(gòu)建時自動重新部署服務

為其他面板與端口添加運行命令、內(nèi)存限制和CPU有關限制,本文實例中保留默認值即可。

而后是Ports部分,可以在這里選擇發(fā)布哪些端口,并對外部公開(以及哪些不公開),本案例中使用的是80和443。

接下來配置環(huán)境變量、和其他服務的鏈接,如把API作為多帶帶的服務部署,NGINX服務器將請求重定向到API服務時,這些鏈接是有用的。

完成后,可以點擊“創(chuàng)建和部署“按鈕,將會重定向到服務概覽頁面,可以看到部署狀態(tài),前面步驟中輸入的配置概述、容器、鏈接、環(huán)境變量,以及用于訪問NGINX服務器的DSN節(jié)點等等。

如果單擊節(jié)點中提供的鏈接,則會看到Nginx歡迎頁面。
如前所述,除了連接AWS賬戶外,還支持內(nèi)部節(jié)點,但都需要安裝支持的操作系統(tǒng),單擊“在節(jié)點集群中自帶節(jié)點”按鈕,并在服務器中鍵入命令(在模式窗口內(nèi)提供),并在數(shù)據(jù)中心內(nèi)執(zhí)行類似節(jié)點的操作。

原文作者:
Deepak Vohra、Daniel Berman

原文鏈接:
http://logz.io/blog/docker-da...
https://www.toadworld.com/pla...

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26983.html

相關文章

  • 快收藏!52篇25萬字,微服務、云原生、容器、K8S、Serverless精華文章集錦

    摘要:正在走遠,新年之初,小數(shù)精選過去一年閱讀量居高的技術干貨,從容器到微服務云原生,匯集成篇精華集錦,充分反映了這一年的技術熱點走向。此文值得收藏,方便隨時搜索和查看。,小數(shù)將繼續(xù)陪伴大家,為朋友們奉獻更有逼格的技術內(nèi)容。 2017正在走遠,新年之初,小數(shù)精選過去一年閱讀量居高的技術干貨,從容器、K8S 到微服務、云原生、Service Mesh,匯集成52篇精華集錦,充分反映了這一年的技...

    AaronYuan 評論0 收藏0
  • Docker和容器云落地一年后反思

    摘要:這里我想從我在谷歌內(nèi)部使用容器,并基于容器研發(fā)大規(guī)模生產(chǎn)平臺的經(jīng)驗中談談現(xiàn)有和谷歌容器環(huán)境的差別,并通過的實際案例落地經(jīng)驗總結(jié)下自身所帶來的一些謊言和誤區(qū)。 我與容器的緣分起源于我在 Google 內(nèi)部研發(fā)容器集群管理系: Cluster Management。谷歌內(nèi)部一切皆容器,搜索、視頻、大數(shù)據(jù)、內(nèi)部工具等核心業(yè)務都以容器的方式運行在容器編排系統(tǒng) Borg 上。2014年,隨著公司...

    _ang 評論0 收藏0
  • K8s、DevOps & 微服務三駕馬車,帶您走上云原生轉(zhuǎn)型之路

    摘要:針對這樣的客戶,靈雀云除了提供容器云,還會基于容器云提供工具鏈和咨詢服務。第三階段,是上云原生。靈雀云建議,先做邊緣應用系統(tǒng)的微服務化,或者單體直接應用上云。靈雀云會幫助客戶成立專家組,實踐敏捷活動和工具鏈一整套的解決方案。 今天很榮幸能在這里跟大家一起分享下靈雀云在金融行業(yè)的云原生解決方案。 CNCF的云原生核心理念是快速交付業(yè)務價值,而云原生時代,主要由三駕馬車驅(qū)動:容器、DevO...

    godiscoder 評論0 收藏0
  • 詳解云原生應用實踐與未來趨勢

    摘要:近日,愛分析在京舉辦了愛分析中國云計算高峰論壇,本次論壇以云化萬物,智動未來為主題,探討云計算行業(yè)的發(fā)展趨勢。演講實錄黃啟功大家好首先做一下自我介紹,我是時速云黃啟功,感謝愛分析的邀請,我今天分享的主題叫云原生應用實踐與未來趨勢。 近日,愛分析在京舉辦了 2018 愛分析·中國云計算高峰論壇,本次論壇以云化萬物,智動未來為主題,探討云計算行業(yè)的發(fā)展趨勢。愛分析邀請了云計算領域標桿公司時...

    wujl596 評論0 收藏0
  • 靈雀云CTO陳愷:從“鴻溝理論”看云原生,哪些技術能夠跨越鴻溝?

    摘要:早在年針對高科技行業(yè)和高科技企業(yè)生命周期的特點,提出了著名的鴻溝理論。今天我們嘗試以鴻溝理論為基礎來分析云原生領域顛覆性的創(chuàng)新技術?;剡^頭來看,靈雀云從早期全力投入技術棧,是最早進行產(chǎn)品化的廠商。 歷史進入2019年,放眼望去,今天的整個技術大環(huán)境和生態(tài)都發(fā)生了很大的變化。在己亥豬年春節(jié)剛剛過去的早春時節(jié),我們來梳理和展望一下整個云原生技術趨勢的發(fā)展,是一件很有意義的事情,這其中有些變...

    hss01248 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<