-
Notifications
You must be signed in to change notification settings - Fork 8
20160925_container summit 2016 it container.html
CI edited this page Jun 5, 2018
·
1 revision
title: "Container Summit 2016 - 邁向下個 IT 架構的 Container" date: 2016-09-25 type: blog author: 凍仁翔 link: http://note.drx.tw/2016/09/container-summit-2016-it-container.html layout: post comments: true
Container Summit 可說是聚集各界容器 (container) 專家,討論 container 次世代 IT 架構的研討會,會中有不少的話題圍繞在近來火紅的 Docker 技術上。想當初凍仁會開始接觸 Docker 也是聽到不少前輩在談論它的好,光是可以對 Linux 系統環境進行版本控制、省下各種安裝 Linux 發行版本時間這兩點就足夠吸引凍仁投資技能點數!
以下為凍仁這次參與的議題,大致可分為容器叢集 (container cluster) 1 大亂鬥、資訊安全 (Security)、容器監控 (Monitoring) 和企業導入經驗分享等主題。
▲ Container Summit 2016 官網看板圖。(圖片來源:iThome) |
Day1:
- Kubernetes API 與客製化控制 (The Kubernetes API & Custom Controllers)
- 容器技術對分佈式系統的最佳實踐:配置管理、服務發現、數據存儲、監控和跟蹤
- DC/OS, A New Operating System for your Data Center
- 洞悉 Docker 安全史
- Agile Development with Container and Kubernetes
- Docker 從入門到入迷
- 如何利用 Docker 強化網站安全
- Docker 集群編排方案
- 大規模公有雲環境下的容器微服務實
- 基於 Container 的大規模私有雲實踐
- Docker 在騰訊遊戲的實踐 (Docker in Tencent Games)
- Kubernetes 導入 Prometheus
- Docker 導入:障礙與對策
- 為了迎接 container 技術帶來的衝擊,目前台灣業界較多導入 Kubernetes,並成為 Production 環境一部份,更可以與 Google Cloud 無縫整合。
- swarm 在 v1.12 後推出了 swarmkit 2 整體功能完整了不少,也更友善些。
- DC/OS 在國外已有知名的企業在使用,有漂亮的圖形化介面和豐富的 marketplace。
- Rancher 有著簡單易上手的介面、流程和 marketplace。
至於要怎麼抉擇?專家建議我們可以先了解各家 container cluster 的觀念和想解決的問題,之後再依自己的屬性選擇最適合的解決方案 (solution)。
Rancher 因敝公司已有在使用在此就不多談,倒是會想找時間玩玩看 Kubernetes 和 swarm。而 DC/OS 似乎較偏愛 CentOS?這對較偏愛 Debian 和 Ubuntu 的凍仁較不友善,暫且不太會關注它。
容器監控可說是凍仁目前最關注的議題,雖曾使用過 Nagios 和 Zabbix,卻一直對 Prometheus 不得其門而入,但還是得到了不少寶貴的心得分享,期許自己能早日掌握這項新技術。
- Prometheus 目前已有非常多的 Exporter 可使用 (除官方提供外還有不少第三方的可使用),如 MySQL 就有 400 多個 metrics。
- Prometheus 可以對 Nginx, MySQL 的服務進行監控。
- 可以藉由在 metrics 裡加上 Label 來群組化 metrics。
- 使用 Prometheus 時,一開始會不知道應該對什麼進行監控,這時會先把 Exporter 都先載進來,之後再慢慢觀察有什麼需要監控;與使用 Zabbix 時一開始就知道要監控什麼的觀念相反。
- 若已有 Zabbix server,可將收到 error,後送到 Pushgateway 丟給 Prometheus 處理。
Zabbix | Prometheus | |
---|---|---|
模板 | Template | Exporter |
資料蒐集 | Items | Metrics |
警報 | Trigger + Action | Alert Manager |
▲ 不負責的 Zabbix 與 Prometheus 名詞對照表。
Docker 安全嗎?Docker 官方的回應是 Security by default。在預設環境下他人是有機會從 container 裡黑到 host 的,很多問題牽扯到 Linux, cGroup, Namespace, Capability 等較底層的實作,雖然 Docker 不是為了 security 而生,但還是可以透過些手法來增強安全性。
- 限制 container 的 CPU, memory, ... 等使用資源。
- TLS 加密很重要,否則世界會被 cracker 搶走!
- 啟用 SELinux 和 AppArmor 強化權限限制。
- 不要在 Docker container 裡使用 root 執行 service。
- 檔案最小權限設置,不該被寫入的、被執行的權限就該拔。
- 移除不必要的檔案或程式,例如 make, gcc ...。
- 量身打造 docker image。
在 Capabilities 的 demo 中,講者 孫宏亮更透出可以在 container 裡控制 docker-engine (Docker Server) 的手法!
# 在 container 裡控制 docker-engine (nonwithout TLS),之後就可以控制全世界![ root@docker-container ~ ]
$ docker -H tcp://$IP:2375 run -it --pid host --ipc host --privileged -v /:/new_data ubuntu:14.04 bash
講者 徐千洋 (Tim) 則透過遠端命令執行 (Remote Code Execute) 的手法讓人了解可以藉由把 Docker 把服務打包成更安全的環境,以簡化營運成本。
把 Docker container 跑起來了,然後呢?
這是剛入門 Docker 時大家都會遇到的問題。凍仁一開始用它來 debug Vim Taiwan 社群伙伴的 vimrc,之後幫前公司架了私有的 Docker Registry,也成功的在 Linux server 上跑了 PHP 7.0 給新專案使用 (同台機器上的舊專案還在 PHP 5.4 的環境)。
自己用的很開心,但想全面導入卻困難重重。在高雄時身邊沒幾位朋友可以討論,雖有少數同事有興趣,但也因時程壓力下遲遲無法推動。在聽完 William Yeh 前輩的 Docker 導入:障礙與對策的演講後,凍仁簡單列了幾個問題:
- 原有架構把 session、PDF 等資料存放在 server 本機上,不利 scale。
- 未導入自動化測試,無法保證更改架構後照成的影響。
- 尚未掌握在 Production 環境跑 Docker 技術,例如:Kubernetes (K8s), DC/OS (Mesos), Rancher, swarm。
- 尚未掌握對 Docker container 進行監控的技術,例如:Prometheus, cAdvisor。
- 業務量還不到需 scale 和使用負載平衡 (Load Balance) 的地步。
▲ 感謝強者同事 Sammy Lin,讓小弟能以講者助理的身份出席 Container Summit 2016。 |
Docker 這個技術雖然很新,但很多架構面的問題其實是一開始設計時就該考慮的,為了迎接下個 IT 世代,Cloud native 的架構是必不可需的!Docker 是個很棒的技術,但適不適合導入自家企業?要導到哪個階段?就看自己的本事了。
短短的兩天著實聽了不少的經驗分享,小弟在此感謝各位先進講者和 iThome 主辦單位的辛勞,我們 Container Summit 2017 見了!
1 容器叢集 (container cluster) 裡又包含了容器指揮調度 (scheduling) 和容器編排 (orchestration) 等功能。
2 swarmkit 也可用 docker-engine swarm mode 的字眼。
感謝 Sammy Lin 於 Facebook 上的指正,已修正容器叢集 (container cluster) 、容器指揮調度 (scheduling) 和容器編排 (orchestration) 等專有名詞。
相關連結:
★ 會後心得分享連結 | Container Summit 2016 | hackfoldr
★ 艦長,你有事嗎?: iThome Container Summit 2016 Day 1 簡易筆記心得
★ 艦長,你有事嗎?: iThome Container Summit 2016 Day 2 簡易筆記心得
★ iThome Container Summit 2016 心得 – Miles' Blog – A Web Developer Note
資料來源:
★ Container Summit 航向容器新世界
★ Container Summit 2016 相關訊息 | Container Summit 2016 | hackfoldr