容器管理與容器監控

前言

本篇文章介紹4個關於容器管理和容器監控的工具,Rancher、influxDB、cAdvisor、Grafana。
Rancher:一個管理容器的工具,可以發佈微服務(相當於 docker 的 run 命令,只不過 Rancher 是通過可視化界面來操作),還可對容器進行擴容和縮容操作。
influxDB:一款數據庫,只不過當中存儲的是各微服務的運行狀況,比如內存等信息。
cAdvisor:influxDB 只負責存儲並不負責採集這些數據,而 cAdvisor 就是負責採取服務的運行信息並保存到 influxDB 中。
Grafana:用來將 influxDB 中的數據進行可視化,以圖表的形式呈現給用戶,還可以設置預警,從而自動對服務進行擴縮容。

容器管理工具Rancher

什麼是 Rancher

Rancher是一個開源的企業級全棧化容器部署及管理平臺。Rancher爲容器提供一攬子基礎架構服務:CNI兼容的網絡服務、存儲服務、主機管理、負載均衡、防護牆……Rancher讓上述服務跨越公有云、私有云、虛擬機、物理機環境運行,真正實現一鍵式應用部署和管理。

Rancher 安裝

(1)下載Rancher 鏡像

docker pull rancher/server

(2)創建Rancher容器

docker run -d --name=rancher --restart=always -p 9090:8080 rancher/server

restart 爲重啓策略:

  • no,默認策略,在容器退出時不重啓容器
  • on-failure,在容器非正常退出時(退出狀態非0),纔會重啓容器
  • on-failure:3,在容器非正常退出時重啓容器,最多重啓3次
  • always,在容器退出時總是重啓容器
  • unless-stopped,在容器退出時總是重啓容器,但是不考慮在Docker守護進程啓動時就已經停止了的容器

(3)在瀏覽器輸入地址: http://192.168.184.136:9090 即可看到高端大氣的歡迎頁,點擊Got It 進入主界面
(4)切換至中文界面,點擊右下角的 English 在彈出菜單中選擇中文

Rancher 初始化

添加環境

① 選擇“Default -->環境管理” 菜單
在這裏插入圖片描述
② 填寫名稱,點擊“創建”按鈕
在這裏插入圖片描述

添加鏡像庫

在這裏插入圖片描述

添加主機

① 選擇基礎架構–>主機 菜單,點擊添加主機–>拷貝腳本
在這裏插入圖片描述
② 在服務器(虛擬機)上運行腳本,這一步需要聯網,它需要拉取鏡像
在這裏插入圖片描述
③ 點擊關閉按鈕後,會看到界面中顯示此主機。我們可以很方便地管理主機的每個容器的開啓和關閉
在這裏插入圖片描述

添加應用

① 點擊應用–>全部(或用戶) ,點擊“添加應用”按鈕,填寫名稱和描述
在這裏插入圖片描述
② 點擊“創建”按鈕,列表中增加了新增的應用

應用部署

以 MySQL 爲例
① 選擇“應用”–>“添加服務”
在這裏插入圖片描述
在這裏插入圖片描述
如果需要添加環境變量的話,還需要填寫環境變量
在這裏插入圖片描述
點擊創建,則創建成功,並是激活狀態
在這裏插入圖片描述

擴容與縮容

前提條件:微服務在創建的時候,不要端口映射。那不映射端口如何訪問呢?這時候就必須用到網關了,即 Spring Cloud Zuul
① 在選擇菜單API -->WebHooks ,點擊“添加接收器”按鈕
在這裏插入圖片描述
② 填寫名稱等信息,選擇要擴容的服務,點擊創建按鈕
在這裏插入圖片描述
③ 接收器列表中新增了一條記錄 ,點擊觸發地址將地址複製到剪切板
在這裏插入圖片描述
④ 使用postman測試,測試後,發現容器由原來的1個變爲了3個

縮容與擴容的操作是一樣的,只需要將操作改爲"縮容"就可以。

influxDB

influxDB是一個分佈式時間序列數據庫。cAdvisor僅僅顯示實時信息,但是不存儲監視數據。因此,我們需要提供時序數據庫用於存儲cAdvisor組件所提供的監控信息,以便顯示除實時信息之外的時序數據。​

安裝

① 下載鏡像

docker pull tutum/influxdb

② 創建容器

docker run -di -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name=influxsrv tutum/influxdb

端口概述: 8083端口:web訪問端口 8086:數據寫入端口
打開瀏覽器 http://192.168.184.135:8083/

常用操作

在這裏插入圖片描述

cAdvisor

什麼是cAdvisor

Google開源的用於監控基礎設施應用的工具,它是一個強大的監控工具,不需要任何配置就可以通過運行在Docker主機上的容器來監控Docker容器,而且可以監控Docker主機。更多詳細操作和配置選項可以查看Github上的cAdvisor項目文檔。

安裝

① 下載鏡像

docker pull google/cadvisor

② 創建容器

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=tensquare-db -storage_driver_host=influxsrv:8086

WEB前端訪問地址
http://192.168.184.135:8080/containers/
③ 再次查看influxDB,發現已經有很多數據被採集進去了。

Grafana

什麼是 Grafana

Grafana是一個可視化面板(Dashboard),有着非常漂亮的圖表和佈局展示,功能齊全的度量儀表盤和圖形編輯器。支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作爲數據源。
Grafana主要特性:靈活豐富的圖形化選項;可以混合多種風格;支持白天和夜間模式;多個數據源。

安裝

① 下載鏡像

docker pull grafana/grafana

② 創建容器

docker run -d -p 3001:3000 -e INFLUXDB_HOST=influxsrv -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=tensquare -e INFLUXDB_PASS=tensquare --link influxsrv:influxsrv --name=grafana grafana/grafana

③ 訪問
  用戶名密碼均爲admin

添加數據源

① 點擊設置,DataSource
在這裏插入圖片描述
② 爲數據源起個名稱,指定類型、地址、以及連接的數據庫名、用戶名和密碼
在這裏插入圖片描述

添加儀表盤

① 選擇Dashboards --Manager
在這裏插入圖片描述
② 點擊Graph 圖標
在這裏插入圖片描述
③ 出現下面圖表的界面 ,點擊Panel Title 選擇Edit (編輯)
在這裏插入圖片描述
④ 定義標題等基礎信息
在這裏插入圖片描述
⑤ 設置查詢的信息爲內存,指定容器名稱
在這裏插入圖片描述
⑥ 預警設置,點擊圖標右邊的按鈕可以直接滑動
在這裏插入圖片描述
⑦ 選擇通知(前提是已經創建好了),當內存超過設定的值時,自動擴容
在這裏插入圖片描述
⑧ 保存
在這裏插入圖片描述

預警設置

① 選擇菜單 alerting–> Notification channels
在這裏插入圖片描述
② 填寫名稱,選擇類型爲webhook ,填寫鉤子地址(這個鉤子地址是之前對微服務擴容的地址)
在這裏插入圖片描述
在這裏插入圖片描述
③ 點擊SendTest 測試 觀察基礎微服務是否增加容器,點擊save保存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章