自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

【博文推薦】故事才剛剛開始——當(dāng)Azure遇上Docker

云計(jì)算
容器技術(shù)現(xiàn)在發(fā)展的如火如荼,包括微軟也會(huì)在下一代操作系統(tǒng)中提供原生支持,博主認(rèn)為微軟的優(yōu)勢在于其擁有成熟的集群工作環(huán)境(Nano Server)以及成熟的管理平臺(tái)(System Center),除此之外還有一系列圍繞容器的生態(tài)鏈。
  本博文出自51CTO博主技術(shù)不宅 的博客,有任何問題請(qǐng)進(jìn)入博主頁面互動(dòng)討論!

博文地址:http://maomaostyle.blog.51cto.com/2220531/1654994

容器技術(shù)現(xiàn)在發(fā)展的如火如荼,包括微軟也會(huì)在下一代操作系統(tǒng)中提供原生支持,個(gè)人認(rèn)為微軟的優(yōu)勢在于其擁有成熟的集群工作環(huán)境(Nano Server)以及成熟的管理平臺(tái)(System Center),除此之外還有一系列圍繞容器的生態(tài)鏈,比如自動(dòng)化(PowerShell DSC),比如監(jiān)控,比如生命周期管理等等。當(dāng)然目前如果想在Win平臺(tái)上體驗(yàn)容器的話,除了Docker提供的boot2docker,最“土”的辦法 就是在Hyper-V里創(chuàng)建一臺(tái)Linux虛擬機(jī),然后去部署并使用Docker環(huán)境。那么還有沒有一些方便快捷的方法呢?或者對(duì)于開源平臺(tái)的運(yùn)維人員來 說,可否在公有云中可以快速的交付出一個(gè)Docker環(huán)境來,其實(shí)這正是Azure目前所支持的。說到這里就不得不提一下Docker的架構(gòu):

Docker 是C/S架構(gòu)的,主要由client、daemon、registry構(gòu)成,其中registry用于管理鏡像(image),而container則是 生于鏡像之上,更多有關(guān)docker的基礎(chǔ)概念我就不在這里耍大刀了,畢竟也是才接觸容器沒多久:) 這里主要關(guān)注一下client(客戶端)與daemon(服務(wù)端也叫守護(hù)進(jìn)程),daemon用來接收從client發(fā)來的指令然后進(jìn)行處理,所以說通常 都是在本地調(diào)用(通過unix socket),當(dāng)然docker是支持遠(yuǎn)程調(diào)用的(通過TLS),也就是我本地只要有docker client(可以簡單理解client就是docker.exe,或者是你直觀看到的那個(gè)CLI console)就能夠向遠(yuǎn)程的daemon端(可以簡單理解daemon就是docker的后臺(tái)服務(wù)進(jìn)程)發(fā)起指令,比如pull或build一個(gè)鏡 像,構(gòu)建自己的dockerfile等等所有操作。

wKiom1ViyKKjBbZdAAEQY9hEJeg207.jpg

想 在Azure上體驗(yàn)docker daemon模式就需要用到azure vm擴(kuò)展,之前博文提到過幾類實(shí)用的擴(kuò)展程序,比如BGinfo,比如DSC等等,這次就會(huì)提到Docker extension,目前在azure global版本的新門戶中(預(yù)覽版)可以看到,當(dāng)然要想在azure上快速的獲取一個(gè)docker daemon交付還是需要一些準(zhǔn)備工作的,首先要有一臺(tái)支持docker相應(yīng)版本的虛擬機(jī),這里以目前流行的也是推薦的ubuntu 14.04 LTS為例,我在創(chuàng)建虛擬機(jī)時(shí)使用了SSH公鑰認(rèn)證方式(出于安全性和便捷性考慮建議大家選擇這種方式),如下圖:

wKioL1Vix2Kj0p9TAAPVSpQYvKI496.jpg

新門戶還是比較炫的,但是內(nèi)容太多難免讓人需要花時(shí)間去適應(yīng),可以看到當(dāng)前ubuntu虛擬機(jī)正在創(chuàng)建中,如下圖:

wKiom1VixdXiEQeFAANYdNCD_Jk950.jpg

這臺(tái)叫做dockertemp的ubuntu虛擬機(jī)創(chuàng)建好之后,可以快速的瀏覽相關(guān)信息,比如dns名稱,IP地址信息等等,如下圖:

wKioL1Vix2KRG-V-AAJ_5vgAjY8702.jpg

通過本地的xshell登陸之后確認(rèn)版本為14.04.2 LTS,接下來就該在這臺(tái)機(jī)器上準(zhǔn)備docker daemon環(huán)境了

wKiom1VixdWzh5OoAAMXnb0WwlE234.jpg

#p#

一般來講,可以在這臺(tái)機(jī)器上完全手動(dòng)的去安裝docker,然后修改docker的啟動(dòng)方式是daemon模式,并指定tls所需的證書,不過為了省事或者 是面向新手,Azure的docker擴(kuò)展程序就是來幫助你完成這些工作,不過前面提到因?yàn)檫h(yuǎn)程調(diào)用不再使用unix socket而是基于tls加密所以還需要證書,下圖中是我另外一臺(tái)vm已經(jīng)配置好的截圖,在~/.docker目錄下有六個(gè).pem文件是我們接下來要 創(chuàng)建的,說白了是“三對(duì)密鑰”,它們分別是ca密鑰對(duì)(ca-key.pem/ca.pem),服務(wù)器密鑰對(duì)(server-key.pem /server-cert.pem)以及客戶端密鑰對(duì)(key.pem/cert.pem);所有的證書準(zhǔn)備工作可以完全參考docker官方說明文檔來 操作,鏈接:http://docs.docker.com/articles/https/

wKioL1Vix2OQFzIxAANi6VO3FNc591.jpg

回到剛才創(chuàng)建好的dockertemp這臺(tái)虛擬機(jī),一步一步來創(chuàng)建所需要的證書和密鑰文件,使用openssl生成ca證書,并且注意FQDN要與dockertemp這臺(tái)虛擬機(jī)所在的云服務(wù)名稱一致,如下圖:

wKiom1VixdbQuvXNAAOIAdHA9kQ800.jpg

接下來準(zhǔn)備服務(wù)器證書,期間需要生成一個(gè)請(qǐng)求文件,創(chuàng)建如下圖:

wKioL1Vix2PSG7CuAAJjFctycd8000.jpg

最后是客戶端證書,如下圖:

wKiom1VixdaDrJrMAAQhXQybEqo713.jpg

由于目前Azure只認(rèn)base64編碼,因此要把服務(wù)端的三個(gè)證書格式轉(zhuǎn)換一下,它們分別是ca.pem/server-cert.pem/server-key.pem,剩下三個(gè)key用來本地docker client使用,如下圖:

wKioL1Vix2SyHnojAAHi3WKWHsY195.jpg

把需要上傳到Azure的三個(gè)證書下載到本地,也可以全部下載,如下圖:

wKiom1VixdbgUGZuAAWlybs_uP8579.jpg

上文中對(duì)TLS加密認(rèn)證所需要的文件進(jìn)行了準(zhǔn)備,接下來就是傻瓜的下一步下一步了~首先對(duì)dockertemp這臺(tái)虛擬機(jī)安裝docker擴(kuò)展,如下圖:

wKioL1Vix2TDPlBOAAOQxC8YXV4013.jpg

 

可以看到幾個(gè)可用擴(kuò)展,新門戶中很多操作都可以通過圖形化界面來進(jìn)行方便了許多,這里可以看到docker擴(kuò)展的作用,它會(huì)安裝docker daemon服務(wù)并接受來自遠(yuǎn)程client的請(qǐng)求,如下圖:

wKiom1VixdfxtiyWAAP1dhHITbc692.jpg

#p#

此時(shí)需要提供相應(yīng)的證書,這里把剛才下載的證書ca64.pem/server-cert64.pem/server-key64.pem上傳,然后 Azure提供了默認(rèn)的daemon模式端口4243,如果有需要可以在這里修改,確認(rèn)無誤后就能夠進(jìn)行擴(kuò)展程序的安裝了,如下圖:

wKioL1Vix2ayMC9OAAN013GlBWM965.jpg

等待一會(huì)時(shí)間會(huì)獲得成功提示,新門戶的通知中心還是比較美觀的,如下圖:

wKiom1VixdjzvNbHAAJCJ7AiqUs503.jpg

接下來還需要手動(dòng)為dockertemp這臺(tái)虛擬機(jī)開發(fā)一個(gè)4243的端點(diǎn)(端口映射),如下圖:

wKioL1Vix2fC7xQGAAMABBEUoFU334.jpg

此時(shí)回到虛擬機(jī)詳情,查看擴(kuò)展程序狀態(tài),當(dāng)前的docker extension status顯示success,如下圖:

wKiom1VixdyyyOZ7AALB82yV6Rk460.jpg

到此為止Azure上的docker daemon模式就啟用了,只要你本地有docker client并配合一致的密鑰對(duì)就可以使用TLS加密認(rèn)證與云端的docker daemon進(jìn)行交互了,我在本地先把client需要的證書下載(不需要轉(zhuǎn)換成base64),如下圖:

wKioL1Vix2uyJmsLAAUw95P8EA8736.jpg

我的客戶端就用boot2docker來演示,從桌面或者開始菜單啟動(dòng)boot2docker start,此時(shí)它就是client,如下圖顯示默認(rèn)的證書存放路徑是紅框部分,那么我就把上文中下載的三個(gè)證書拷貝到這里

wKiom1Vixd7x5UvKAAPNuRLnpqE156.jpg

#p#

此時(shí)還需要注意DOCKER_TLS_VERIFY是否為“1”,若不是的話用export修改一下即可,另外還要使用export指定HOST路徑,這里就是我Azure上dockertemp的云服務(wù)名稱加端口,如下圖:

wKioL1Vix22QeKFYAAO0zadEmSw514.jpg

配置好之后直接運(yùn)行docker info,顯示的是Azure上dockertemp(基本A1規(guī)格)的信息,1顆vCPU,1.7GB內(nèi)存,且名稱確認(rèn)無誤,證明當(dāng)前成功的連接上了遠(yuǎn)端docker daemon,如下圖:

wKiom1VixeHi3NnbAAHu0PHfSNU487.jpg

接下來就直接給daemon發(fā)號(hào)施令吧,例如可以search一下鏡像名稱,如下圖:

wKioL1Vix3CT8FfwAAJTllmtGQU413.jpg

或者干脆pull一個(gè)ubunut鏡像到本地,如下圖:

wKioL1Vix3DQHc1iAAHK41RLIPo389.jpg

#p#

這里我做一個(gè)非常非常簡單的demo,從本地通過TLS連接Azure上的daemon并創(chuàng)建一個(gè)分布式的容器應(yīng)用(這里以大家耳熟能詳?shù)膚ordpress為例);首先下載兩個(gè)鏡像,分別是wordpress與mysql,如下圖:

wKioL1Vix3GhtWk_AAE1-zBCmlQ349.jpg

基于mysql創(chuàng)建一個(gè)容器,名為mysql_wordpress,指定mysql的root密碼,并使用-d作為后臺(tái)常駐運(yùn)行;另外再基于 wordpress鏡像創(chuàng)建一個(gè)容器名為wordpress_demo,使用--link參數(shù)鏈接到已存在的mysql_wordpress容器,并將容 器內(nèi)部80端口映射到外部,同樣使用-d做后臺(tái)運(yùn)行,完成之后通過docker ps顯示兩個(gè)容器正常運(yùn)行,如下圖:

wKiom1VixeSxvjUcAAJTgnDvLkA426.jpg

接下來將dockertemp虛擬機(jī)創(chuàng)建一個(gè)新端點(diǎn),就是把80端口發(fā)布出來以便可以從外部訪問這個(gè)wordpress站點(diǎn),如下圖:

wKiom1VixeXwTmwbAANgcNmQcBY750.jpg

然后~~~~打開瀏覽器訪問云服務(wù)名稱(DNS)dockertemp.cloudapp.net,可以正常顯示wordpress初始化配置頁面了,這樣就完成了一個(gè)容器應(yīng)用的部署,真的是so easy :)

wKioL1Vix3PTYd0-AAJK92k4cM0376.jpg

綜上所述,要想在Azure上使用docker服務(wù),其實(shí)就是微軟幫我們自動(dòng)化實(shí)現(xiàn)了docker daemon模式的部署和啟用,但是在過程中我們需要手動(dòng)的準(zhǔn)備證書文件和端口映射,熟悉一遍之后感覺還是比較簡單的,當(dāng)然了~Azure遇上 Docker,故事才剛剛開始。

責(zé)任編輯:Ophira 來源: 51CTO博客
相關(guān)推薦

2020-03-03 19:15:30

多云云計(jì)算云廠商

2020-05-06 23:00:46

5G運(yùn)營商疫情

2023-03-27 11:37:25

物聯(lián)網(wǎng)

2021-10-08 10:50:44

加密貨幣比特幣貨幣

2015-03-12 09:33:23

云分析自助分析云數(shù)據(jù)倉庫

2013-05-20 11:14:03

桌面虛擬化

2018-12-20 10:59:38

BAT騰訊阿里

2020-04-20 12:01:37

網(wǎng)絡(luò)安全綜合科技信息技術(shù)

2023-05-08 06:28:26

2011-06-23 10:07:31

2013-09-22 09:55:17

2010-12-06 15:56:33

Linux

2023-09-07 15:11:44

2012-05-18 15:44:08

服務(wù)器虛擬化

2020-09-02 09:08:28

5G運(yùn)營商5G基站

2020-10-21 10:06:20

谷歌Android開發(fā)者

2013-09-22 09:51:26

智能

2020-12-27 09:10:44

比特幣區(qū)塊鏈加密貨幣

2017-09-21 11:57:00

2012-04-19 21:16:26

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)