➤ Kubernetes 會成為 AWS 對抗 Google 的武器嗎?
亞馬遜 Web 服務 (AWS) 也許會建立一個基於 Kubernetes 的雲容器管理工具。根據與 AWS 商務合作伙伴的資訊報告: 因為 Kubernetes 的盛行,AWS 倍感威脅。
Kubernetes 是 Google 開發的開源軟體, Redhat、IBM、VMWare 等大型企業均在使用它來管理其客戶基礎架構上的容器叢集。同時,Kubernetes 也被廣泛用來管理跨多臺機器的人工智慧 (AI) 測試。
雖然 AWS 仍是市場上主要的公有云, 但它面臨著來自競爭對手微軟 Azure 和谷歌公有云 (GPC) 的巨大挑戰。谷歌一直特別關注機器學習和 AI 服務, 他們的執行長 Sundar Pichai 表示, 谷歌計劃讓 GPC 成為 “機器學習的最佳雲”。
因此,AWS 意識到 Kubernetes-based 雲服務可以幫助他們吸引更多的 AI 業務。AWS 已經支援 Kubernetes 的容器管理和編排工具, 自身也擁有類似服務, 稱為 EC2 容器服務 (ECS)。
有統計顯示, 在 GPC 上使用 Kubernetes 更容易, 這意味著使用者開始使用 AWS 軟體時, 通常會切換到 Google。同時,ECS 的使用率非常低且客戶不喜歡它。
與此同時, Kubernetes 在一個蓬勃發展的市場中仍然是領先的容器編排工具, 預計在 2020 年的營收將從去年的 7 億 6200 萬美元增長至近 27 億美元。根據最近一份關於容器和雲的編排的 SDxCentral 報告的調查, 64% 的受訪者說他們使用的是 Kubernetes。相比之下, 36% 的人說他們在使用 Swarm, 18% 的人說他們在使用 Mesos。
據傳, AWS 還將與 VMware 就開發企業資料中心軟體進行談判。如果這一情況屬實, 這將會將 AWS 移動到私有云中, 並允許它與微軟 Azure 棧直接競爭, 這使得企業可以在自己的資料中心中構建 Azure 公有云的私有云版本。
➤ Docker 貼士:全面自動化配備&使用埠
Tips 1:全面自動化配備
不需要解決任何的可擴充套件問題,你就可以順利地過渡到使用 Docker。你可以開始使用Docker,而不用嘗試像 CI / CD,叢集,負載均衡服務以及你可以想到的所有其類似部署功能。
Docker 只是幫助您構建和分發應用程式。所有的部署功能都需要了解基礎。這意味著剛剛開始部署時,只需讓開發中的 Docker 執行應用程式,然後嘗試從單盒中將其複製到生產之中。
Tips 2:使用埠
你知道 Docker 是作為 Dockerized 服務的防火牆嗎?你也可以通過埠監聽來啟用或禁用服務。
例如,如果你正在執行 Flask,Node 或 Rails 應用程式的伺服器,則可能會在 8000 埠上進行監聽,然後在埠 80(http)和/或 443(https)上設定 nginx 代理該應用程式。
如果您希望 Web 應用程式伺服器不被公開到外部世界,但是仍然可以訪問同一網路上的其他容器(例如本例中的 nginx ),那麼您只需執行您的容器即可 -p 8000 完成。
如果您確實希望將 Web 應用伺服器公開到外部,也非常的簡單:-p 8000:8000。其格式是 HOST:CONTAINER,並會將容器的埠釋出到主機,這又使外部可以訪問該埠。
➤ 5 分鐘內用 Docker 體驗 Ghost 1.0
Ghost 1.0 在今天釋出了,其中包括一個新的編輯器和一個新的安裝方法。
Docker 可以輕鬆使用 Ghost,只需按照以下步驟操作,不到 5 分鐘即可完成一個部落格。
建立 Docker 映象
我將 Ghost 1.0 的 DockerFile 放在了一起。由於該專案新增了 Ghost CLI,它比以前的版本簡單得多。
我已經將我的影像推送到 Docker Hub:alexellis2/ghost:1.0
,所以你可以跳過下一步,除非你想自己重新構建影像。
自己構建映象(可選)
輸入:
$ git clone https://github.com/alexellis/ghost-on-docker/
$ cd ghost-on-docker/1.0/x86_64
$ docker build -t alexellis2/ghost:1.0 .複製程式碼
執行部落格
建立完成之後就可以進行執行。
$ docker run -p 2368:2368 --name ghost -ti alexellis2/ghost:1.0複製程式碼
你可以在新視窗中登入進部落格:http://localhost:2368
用全新設計的儀表盤列出你的帖子。
編輯:
完成!
➤ 如何在 Mac/Windows 平臺上監控 Docker
現在,Mac/Windows 平臺上的 Docker 已經新增了監控功能,很酷對吧?從此以後,我們再也不需要猜測我們的開發機器和測試環境的執行效能了!
首先,對於初學者來說,我們本來就需要隨時隨地關注這些內容。其次,為了真正瞭解環境,我們需要了解環境中例項的執行內容以及執行方式。最後,瞭解環境和它對工作負載的影響是很有必要的。
瞭解 Mac/Windows 平臺上 Docker 的程式 我們首先開始配置安裝。以下螢幕截圖來自Mac,但步驟也適用於 Windows。我們現在將在我們的 Docker 上啟用 Daemon 指標,格式為 Prometheus。
-
開啟 Docker 的偏好設定選單
-
找到
Daemon
選單,並點選Advanced
。
-
在程式碼框內,我們將新增一條語句來啟用指標。在
debug
下面新增以下程式碼行:"metrics-addr":"0.0.0.0:9323"
。 -
點選
Apply & Restart
然後等待Docker重啟。 -
測試。開啟任意瀏覽器訪問:
http://127.0.0.1:9323/metrics
。
使用 Prometheus 來監控
我們 Mac/Windows 的 Docker 現在正在建立 Prometheus 格式的指標。
接下來,讓我們啟動一個 Prometheus 堆疊,並使用這些新建立的指標。
-
將 Prometheus 棧克隆到本地:
git clone https://github.com/vegasbrianc/prometheus.git .
-
編輯
prometheus/prometheus.yml
檔案。在檔案的末尾找到static_configs
。 -
使用執行Docker的機器的主機名或IP輸入:
targets: [`hostname-here:9323`]
。 -
儲存並退出
-
開啟Prometheus棧:
docker-compose up -d
配置 Grafana
-
在瀏覽器中開啟Grafana:
http://0.0.0.0:3000
。 -
登入:使用者名稱
admin
,密碼foobar
。 -
登入後,系統將用綠色按鈕提示新增資料來源。點選
Add Data Source
。 -
在資料來源中輸入: Name:
Prometheus
Tpye:Prometheus
URL:http://prometheus:9090
Access:Leave default
HTTP Auth:Basic Auth
user:admin
password:foobar
-
點選
Save & Test
。
-
點選右上角的 Grafana 圖示,將滑鼠懸停在儀表板上,然後選擇匯入。
Load
。 -
除了資料來源的最後一個欄位,其他內容都填充完畢了。
總結
我們設定了 Docker Daemon 記錄指標,配置並啟動了 Prometheus 堆疊以使用這些指標,最後匯入了 Grafana 儀表板作為起點。您現在應該能夠建立一些有趣的圖形和報告了。
這一期的『航海日誌』就到這裡,下期再浪~
參考連結
-
https://www.sdxcentral.com/articles/news/aws-plan-battle-google-using-kubernetes/2017/07/
-
https://nickjanetakis.com/blog/
-
https://blog.alexellis.io/try-ghost-1-0-in-docker/
-
https://www.brianchristner.io/how-to-monitor-docker-for-mac-windows/
作者介紹
楊雪穎 Misha:DaoCloud 技術顧問,能文能擼碼の通用型選手,兼 Labs 吉祥物。
上期回顧: