基于容器的持續集成與部署方案_第1頁
基于容器的持續集成與部署方案_第2頁
基于容器的持續集成與部署方案_第3頁
基于容器的持續集成與部署方案_第4頁
基于容器的持續集成與部署方案_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于容器的持續集成與部署方案Agenda數據中心現狀數據中心 PaaS 功能點數據中心 PaaS 選型數據中心 PaaS 架構數據中心構建部署流程數據中心 PaaS 定制遇到的問題數據中心 PaaS 使用情況數據中心現狀一個應用對應一個域, 有 1000+ 個域,各個域間依賴復雜, 部署發布困難無統一持續集成和部署流程多套測試環境部署升級以及管理復雜目前支持 VIP 電商業務的有物理機 1w+, 物理機模式下,資源無法共享,導致物理機的利用率大部分都比較低,即使在7周年大促的高峰時段,6080% 的物理機利用率也都低于 10%構建 部署測試集空間管理鏡像管理數據中心 PaaS 功能點K8s 虛

2、 IP 的概念符合數據中心應用模型K8s 功能完善開發工作量相對少K8s 社區活躍團隊已有成員參與 k8s 社區提交代碼數據中心 PaaS 選型數據中心 PaaS 架構DashboardSecurityImageMangementResourceQuotaLog(fluentd+kafka+ELK)Cloud FrameworkK8s providerSwarm ProviderAny cloud providerMessage(GNATS)Monitor(Prometheus)Service Discorvery(skydns)API ServerService Gateway(nginx+

3、tomcat)數據中心構建部署測試流程Deploy and RunBuildPackageBake ImageK8s cluster(build)jenkins k8s pluginK8s clientUpload vip registry and ciderTest(VTP)jenkins k8s pluginK8s cluster(deploy)Label package and image 數據中心 PaaS 定制 Docker 網絡創建 veth pair從 IPAM controller 拿到 IP/Tag 設置到容器中在 stop 容器將容器 IP 保留至 config.json

4、以保證重啟容器 IP 不變數據中心 PaaS 定制 - KubernetesJenkins Kubernetes Plugin jenkins slave 容器調度策略 不同環境對外域名負載均衡 gorouter網絡替換 Flannel+VXLAN, 修改 kubelet 直接使用 Docker 網絡方案 OVS+VLAN數據中心 PaaS 定制 - Kubernetes使用 HAProxy+KeepAlived 替換 kube-proxy 數據中心 PaaS 定制 - KubernetesDocker Registry 改造認證以及授權Push Notification 自動觸發部署鏡像信息

5、存入數據庫進行 index 以及 search記錄用戶對于 Docker Registry 操作數據中心 PaaS 定制 Registry使用 node agent 方式監控單個 pod 實例Promethus 監控收集監控集群數據定制 Promethus 實現基于 Swarm 的服務發現數據中心 PaaS 定制 監控數據中心 PaaS 定制 Log & Alert日志收集處理Fluentd - Kafka - Logstash - ElasticSearch日志告警ElasticAlert(應用日志)Devicemapper loopback 性能問題Production 使用 direct

6、-lvmStarting container fails with System error: read parent: connection reset by peer在每個 pod 創建時添加指定環境變量解決Error response from daemon: Cannot start container (fork/exec /usr/sbin/iptables: cannot allocate memory)Docker log 實現機制有問題, 升級 docker 解決Docker registry pull 出現 image not found-disable-legacy-re

7、gistry (Docker 1.9+ 支持)碰到的問題Pod 實例處于 pending 狀態無法刪除只能通過 docker 命令手動刪除K8s 僵死容器太多,占用太多空間配置 KUBELET_ARGS=-maximum-dead-containers=0 -maximum-dead-containers-per-container=0K8s 1.1.4 ResourceQuota 更新慢代碼監控 delete 邏輯慢,更新至 K8s 1.2K8s batch job 正常退出會不斷重啟使用單個 pod 來跑 batch job 類型的任務cAdvisor 對于 K8s pod 網絡統計問題node agent 處理網絡數據解決碰到的問題數據中心 PaaS 使用情況歷史測試環境:VM 1000+,實際使用率50%total VM#Total Mem allocated(Gtotal mem used(GB)stagintaging24881068310沙箱167412228當前版本:K8s 1.1.4 + D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論