博文大綱:
一、部署dashboard的Web-UI界面
二、部署weave-scope監(jiān)控k8s集群
三、部署Prometheus服務(wù)10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有云溪免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
#下載github上的項(xiàng)目(github搜索dashboard即可找到該項(xiàng)目)
[root@master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
[root@master ~]# vim kubernetes-dashboard.yaml
#跳轉(zhuǎn)至112行,修改其指定的鏡像,修改如下:
image: registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.0
#默認(rèn)指定的是Google的鏡像,國(guó)外的下載不下來(lái),所以要改為國(guó)內(nèi)阿里云的
#跳轉(zhuǎn)到150行,修改其對(duì)應(yīng)的service,將其類型配置為NodePort,修改如下:
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: NodePort #添加類型為NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 30230 #映射到宿主機(jī)的端口為30230
selector:
k8s-app: kubernetes-dashboard
#修改完成后,保存退出即可
[root@master ~]# kubectl apply -f kubernetes-dashboard.yaml #執(zhí)行yaml文件
[root@master ~]# kubectl get pod -n kube-system | grep dashboard #確認(rèn)其正常運(yùn)行
kubernetes-dashboard-6cfb7d8f54-l6jgj 1/1 Running 0 88s必須要用火狐瀏覽器,Google和默認(rèn)的edge都無(wú)法訪問(wèn)。
1)訪問(wèn)https://192.168.20.6:30230 ,(192.168.20.6是我這里master的IP,實(shí)際上訪問(wèn)群集內(nèi)的任意節(jié)點(diǎn)IP+30230端口都可以),然后點(diǎn)擊如下:

2)在終端創(chuàng)建用戶并查看登錄令牌:
[root@master ~]# kubectl create serviceaccount dashboard-admin -n kube-system #創(chuàng)建dashboard管理用戶
#綁定用戶為集群的管理員
[root@master ~]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[root@master ~]# kubectl get secrets -n kube-system | grep dashboard-admin #獲取剛剛創(chuàng)建的用戶的token
dashboard-admin-token-97g76 kubernetes.io/service-account-token 3 15s
[root@master ~]# kubectl describe secrets -n kube-system dashboard-admin-token-97g76
#注意:上面的最后一段取決于上面查看到的用戶的secrets名字。
Name: dashboard-admin-token-97g76
Namespace: kube-system
..................#省略部分內(nèi)容
Data
====
token: #將該token字段后面的值復(fù)制下來(lái)3)將token值粘貼到下面:

4)至此,即可在web界面進(jìn)行監(jiān)控群集節(jié)點(diǎn)的信息,及創(chuàng)建資源對(duì)象(一般不會(huì)在這上面進(jìn)行創(chuàng)建資源對(duì)象):

這個(gè)服務(wù)的yaml文件在github上不太容易找到,還是附上找這個(gè)鏈接的過(guò)程吧!如下:
1、github搜索“scope”,然后點(diǎn)擊如下:

2、進(jìn)入后,下拉頁(yè)面,點(diǎn)擊“kubernetes”,如下:

3、進(jìn)入后,再次下拉頁(yè)面:

4、將獲得的鏈接下載:
[root@master ~]# wget https://cloud.weave.works/k8s/scope.yaml5、修改下載的yaml文件并運(yùn)行:
[root@master ~]# vim scope.yaml #編輯yaml文件
#跳轉(zhuǎn)至197行,修改其service的端口類型
spec:
type: NodePort #修改類型為NodePort
ports:
- name: app
port: 80
protocol: TCP
targetPort: 4040
nodePort: 30231 #映射到宿主的端口為30231
[root@master ~]# kubectl apply -f scope.yaml #執(zhí)行yaml文件
#查看容器的運(yùn)行情況,確定處于正常運(yùn)行
[root@master ~]# kubectl get pod -o wide -n weave #默認(rèn)在weave名稱空間
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
weave-scope-agent-b4dwz 1/1 Running 0 73s 192.168.20.8 node02 <none> <none>
weave-scope-agent-lksqh 1/1 Running 0 73s 192.168.20.7 node01 <none> <none>
weave-scope-agent-mv6mj 1/1 Running 0 73s 192.168.20.6 master <none> <none>
weave-scope-app-78cff98cbc-kxp9v 1/1 Running 0 73s 10.244.2.2 node02 <none> <none>
weave-scope-cluster-agent-7cc889fbbf-ngf8j 1/1 Running 0 73s 10.244.1.3 node01 <none> <none>
#DaemonSet資源對(duì)象:weave-scope-agent(代理):負(fù)責(zé)收集節(jié)點(diǎn)的信息;
#deployment資源對(duì)象:weave-scope-app(應(yīng)用):從agent獲取數(shù)據(jù),通過(guò)web UI展示并與用戶交互;
#DaemonSet資源對(duì)象的特性和deployment相比,就是DaemonSet資源對(duì)象會(huì)在每個(gè)節(jié)點(diǎn)上都運(yùn)行且只能運(yùn)行一個(gè)pod。
#由于每個(gè)節(jié)點(diǎn)都需要監(jiān)控,所以用到了DaemonSet這種資源對(duì)象6、瀏覽器訪問(wèn)群集的映射端口30231,如下:

在scope的web界面中,可以查看很多的東西,pod、node節(jié)點(diǎn)等詳細(xì)信息,包括打開(kāi)容器的終端,查看其日志信息等等......
在部署之前,先來(lái)了解一下Prometheus各個(gè)組件的作用吧!
- MertricServer:是k8s集群資源使用情況的聚合器,收集數(shù)據(jù)給K8s集群內(nèi)使用,如:kubectl,hpa,scheduler
- PrometheusOperator:是一個(gè)系統(tǒng)檢測(cè)和警報(bào)工具箱,用來(lái)存儲(chǔ)監(jiān)控?cái)?shù)據(jù);
- NodeExporter:用于各node的關(guān)鍵度量指標(biāo)狀態(tài)數(shù)據(jù);
- kubeStateMetrics:收集k8s集群內(nèi)資源對(duì)象數(shù)據(jù),指定告警規(guī)則;
- Prometheus:采用pull方式收集apiserver,scheduler,controller-manager,kubelet組件數(shù)據(jù),通過(guò)http協(xié)議傳輸;
- Grafana:是可視化數(shù)據(jù)統(tǒng)計(jì)和監(jiān)控平臺(tái)。
1、在開(kāi)始前,需要先刪除前兩個(gè)監(jiān)控平臺(tái),要不太消耗系統(tǒng)資源了,如下:
[root@master ~]# kubectl delete -f scope.yaml
[root@master ~]# kubectl delete -f kubernetes-dashboard.yaml2、下載prometheus所需文件:
[root@master ~]# mkdir prometheus
[root@master ~]# cd prometheus/
[root@master prometheus]# yum -y install git #安裝git命令
#克隆遠(yuǎn)端github庫(kù)
[root@master prometheus]# git clone https://github.com/coreos/kube-prometheus.git
[root@master prometheus]# cd kube-prometheus/manifests/ #進(jìn)入克隆下的目錄3、修改各個(gè)組件service的yaml文件
[root@master manifests]# vim grafana-service.yaml #修改grafana的yaml文件
apiVersion: v1
kind: Service
metadata:
labels:
app: grafana
name: grafana
namespace: monitoring
spec:
type: NodePort #改為NodePort類型
ports:
- name: http
port: 3000
targetPort: http
nodePort: 30100 #映射到宿主機(jī)30100端口
selector:
app: grafana
[root@master manifests]# vim prometheus-service.yaml #修改prometheus的yaml文件
apiVersion: v1
kind: Service
metadata:
labels:
prometheus: k8s
name: prometheus-k8s
namespace: monitoring
spec:
type: NodePort #改為NodePort類型
ports:
- name: web
port: 9090
targetPort: web
nodePort: 30200 #映射到宿主機(jī)30200端口
selector:
app: prometheus
prometheus: k8s
sessionAffinity: ClientIP
[root@master manifests]# vim alertmanager-service.yaml #修改alertmanager的yaml文件
apiVersion: v1
kind: Service
metadata:
labels:
alertmanager: main
name: alertmanager-main
namespace: monitoring
spec:
type: NodePort #改為NodePort類型
ports:
- name: web
port: 9093
targetPort: web
nodePort: 30300 #映射到宿主機(jī)30300端口
selector:
alertmanager: main
app: alertmanager
sessionAffinity: ClientIP4、執(zhí)行yaml文件
當(dāng)執(zhí)行以下yaml文件時(shí),每個(gè)節(jié)點(diǎn)會(huì)在互聯(lián)網(wǎng)上下載很多鏡像,為了防止下載鏡像的時(shí)間過(guò)長(zhǎng),可以先將我提供的鏡像下載到本地,然后導(dǎo)入至各個(gè)節(jié)點(diǎn),然后在執(zhí)行下面的yaml文件,將會(huì)省些時(shí)間。(如果下載我提供的鏡像,建議寫個(gè)導(dǎo)入鏡像的腳本進(jìn)行導(dǎo)入操作,避免手動(dòng)導(dǎo)入,造成錯(cuò)誤)
腳本示例如下:
[root@master ~]# vim a.sh #腳本如下
#!/bin/bash
cd /root/image #這個(gè)目錄下存放的只有我網(wǎng)盤中的鏡像
for i in `ls /root/image/`
do
docker load < ${i}
done
[root@master ~]# sh a.sh #執(zhí)行腳本即可#必須先執(zhí)行setup目錄下的所有yaml文件,如下:
[root@master manifests]# pwd #確定當(dāng)前路徑
/root/prometheus/kube-prometheus/manifests
[root@master manifests]# kubectl apply -f setup/ #執(zhí)行setup目錄下的所有yaml文件
#再執(zhí)行manifests目錄下的yaml文件
[root@master manifests]# cd .. #返回到上一級(jí)目錄
[root@master kube-prometheus]# kubectl apply -f manifests/ #執(zhí)行yaml文件
[root@master kube-prometheus]# kubectl get pod -n monitoring #確認(rèn)所有pod正常運(yùn)行
#如果是選擇在線下載鏡像,那么可能要半個(gè)小時(shí)左右才可以正常運(yùn)行5、客戶端訪問(wèn)群集中任意節(jié)點(diǎn)的IP+30100端口,即可看到以下界面(默認(rèn)用戶名和密碼都是admin):

根據(jù)提示更改密碼:

添加模板:


依次點(diǎn)擊“import”進(jìn)行導(dǎo)入下面三個(gè)模板:

進(jìn)行以下點(diǎn)擊,即可查看群集內(nèi)的監(jiān)控狀態(tài):


———————— 本文至此結(jié)束,感謝閱讀 ————————
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞名稱:k8s群集的三種Web-UI界面部署-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://chinadenli.net/article2/edjic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、自適應(yīng)網(wǎng)站、網(wǎng)站內(nèi)鏈、做網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容