在dashboard中,雖然可以做到創(chuàng)建、刪除、修改資源等操作,但通常情況下,我們會(huì)把它當(dāng)做健康k8s集群的軟件。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了云霄免費(fèi)建站歡迎大家使用!
作為Kubernetes的Web用戶界面,用戶可以通過(guò)Dashboard在Kubernetes集群中部署容器化的應(yīng)用,對(duì)應(yīng)用進(jìn)行問(wèn)題處理和管理,并對(duì)集群本身進(jìn)行管理。通過(guò)Dashboard,用戶可以查看集群中應(yīng)用的運(yùn)行情況,同時(shí)也能夠基于Dashboard創(chuàng)建或修改部署、任務(wù)、服務(wù)等Kubernetes的資源。通過(guò)部署向?qū)?,用戶能夠?qū)Σ渴疬M(jìn)行擴(kuò)縮容,進(jìn)行滾動(dòng)更新、重啟Pod和部署新應(yīng)用。當(dāng)然,通過(guò)Dashboard也能夠查看Kubernetes資源的狀態(tài)。
在默認(rèn)情況下,Dashboard顯示默認(rèn)(default)命名空間下的對(duì)象,也可以通過(guò)命名空間選擇器選擇其他的命名空間。在Dashboard用戶界面中能夠顯示集群大部分的對(duì)象類型。
集群管理視圖用于對(duì)節(jié)點(diǎn)、命名空間、持久化存儲(chǔ)卷、角色和存儲(chǔ)類進(jìn)行管理。 節(jié)點(diǎn)視圖顯示CPU和內(nèi)存的使用情況,以及此節(jié)點(diǎn)的創(chuàng)建時(shí)間和運(yùn)行狀態(tài)。 命名空間視圖會(huì)顯示集群中存在哪些命名空間,以及這些命名空間的運(yùn)行狀態(tài)。角色視圖以列表形式展示集群中存在哪些角色,這些角色的類型和所在的命名空間。 持久化存儲(chǔ)卷以列表的方式進(jìn)行展示,可以看到每一個(gè)持久化存儲(chǔ)卷的存儲(chǔ)總量、訪問(wèn)模式、使用狀態(tài)等信息;管理員也能夠刪除和編輯持久化存儲(chǔ)卷的YAML文件。
工作負(fù)載視圖顯示部署、副本集、有狀態(tài)副本集等所有的工作負(fù)載類型。在此視圖中,各種工作負(fù)載會(huì)按照各自的類型進(jìn)行組織。 工作負(fù)載的詳細(xì)信息視圖能夠顯示應(yīng)用的詳細(xì)信息和狀態(tài)信息,以及對(duì)象之間的關(guān)系。
服務(wù)發(fā)現(xiàn)視圖能夠?qū)⒓簝?nèi)容的服務(wù)暴露給集群外的應(yīng)用,集群內(nèi)外的應(yīng)用可以通過(guò)暴露的服務(wù)調(diào)用應(yīng)用,外部的應(yīng)用使用外部的端點(diǎn),內(nèi)部的應(yīng)用使用內(nèi)部端點(diǎn)。
存儲(chǔ)視圖顯示被應(yīng)用用來(lái)存儲(chǔ)數(shù)據(jù)的持久化存儲(chǔ)卷申明資源。
配置視圖顯示集群中應(yīng)用運(yùn)行時(shí)所使用配置信息,Kubernetes提供了配置字典(ConfigMaps)和秘密字典(Secrets),通過(guò)配置視圖,能夠編輯和管理配置對(duì)象,以及查看隱藏的敏感信息。
Pod列表和詳細(xì)信息頁(yè)面提供了查看日志視圖的鏈接,通過(guò)日志視圖不但能夠查看Pod的日志信息,也能夠查看Pod容器的日志信息。通過(guò)Dashboard能夠根據(jù)向?qū)?chuàng)建和部署一個(gè)容器化的應(yīng)用,當(dāng)然也可以通過(guò)手工的方式輸入指定應(yīng)用信息,或者通過(guò)上傳YAML和JSON文件來(lái)創(chuàng)建和不受應(yīng)用。
[root@master https]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml
[root@master https]# docker pull kubernetesui/dashboard:v2.0.0-rc5
[root@master https]#vim recommended.yaml
---
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort #添加40
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
[root@master https]# kubectl apply -f recommended.yaml
[root@master https]# kubectl get svc -n kubernetes-dashboard
PS:如果是使用的舊版本的dashboard, 使用Google瀏覽器登錄,可能是不成功的,需要換成其他的瀏覽器,比如:火狐。
[root@master https]# kubectl create serviceaccount dashboard-admin -n kube-system
[root@master https]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[root@master https]# kubectl get secrets -n kube-system | grep dashboard-admin
//先得到Token的名稱
[root@master https]# kubectl describe secrets -n kube-system dashboard-admin-token-62bh9
//查看上述得到的secret資源的詳細(xì)信息,會(huì)得到token
創(chuàng)建一個(gè)資源
查看是否創(chuàng)建成功
[root@master https]# kubectl get secrets -n kube-system | grep dashboard-admin
//先得到Token的名稱
[root@master https]# kubectl describe secrets -n kube-system dashboard-admin-token-62bh9
//查看上述得到的secret資源的詳細(xì)信息,會(huì)得到token
設(shè)置一個(gè)環(huán)境變量代表獲取的token
[root@master https]# DASH_TOKEN=$(kubectl get secrets -n kube-system dashboard-admin-token-62bh9 -o jsonpath={.data.token} | base64 -d)
將k8s集群的配置信息寫入kubeconfig配置文件中。
[root@master https]# kubectl config set-cluster kubernetes --server=192.168.1.21:6443 --kubeconfig=/root/.dashboard-admin.conf
[root@master https]# kubectl config set-credentials dashboard-admin --token=$DASH_TOKEN --kubeconfig=/root/.dashboard-admin.conf
[root@master https]# kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/.dashboard-admin.conf
[root@master https]# kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/.dashboard-admin.conf
[root@master https]# sz /root/.dashboard-admin.conf
//導(dǎo)出到自己習(xí)慣的位置即可
Weave Scope 是 Docker 和 Kubernetes 可視化監(jiān)控工具。Scope 提供了至上而下的集群基礎(chǔ)設(shè)施和應(yīng)用的完整視圖,用戶可以輕松對(duì)分布式的容器化應(yīng)用進(jìn)行實(shí)時(shí)監(jiān)控和問(wèn)題診斷。
[root@master https]# wget https://cloud.weave.works/k8s/scope.yaml
[root@master ~]# vim scope.yaml #編輯yaml文件
#跳轉(zhuǎn)至213行,修改其service的端口類型
spec:
type: NodePort #修改類型為NodePort
ports:
- name: app
port: 80
protocol: TCP
targetPort: 4040
[root@master https]# kubectl apply -f scope.yaml
[root@master https]# kubectl get pod -o wide -n weave
[root@master https]# kubectl get svc -n weave
#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ì)象
在scope的web界面中,可以查看很多的東西,pod、node節(jié)點(diǎn)等詳細(xì)信息,包括打開容器的終端,查看其日志信息等等
? weave scope可以以其簡(jiǎn)潔的可視化為我們更生動(dòng)形象的展現(xiàn)出service/controller/pod等資源對(duì)象的管理及簡(jiǎn)單的web ui操作,方便故障排除及時(shí)定位
? weave scope作為web ui目前缺少登錄驗(yàn)證,可以利用其他方式里面web服務(wù)器的驗(yàn)證做安全管控。
PS:在這里部署的prometheus,并不是Prometheus官網(wǎng)提供的,而是使用的coreos提供的prometheus項(xiàng)目。
Prometheus 相比于其他傳統(tǒng)監(jiān)控工具主要有以下幾個(gè)特點(diǎn):
復(fù)制鏈接
[root@master promethes]# yum -y install git
//下載git命令
[root@master promethes]# git clone https://github.com/coreos/kube-prometheus.git
//克隆github上的項(xiàng)目
[root@master promethes]# cd kube-prometheus/manifests/
//進(jìn)入kube-prometheus的manifests目錄
[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: 31001 #映射到宿主機(jī)31001端口
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: 31002 #映射到宿主機(jī)31002端口
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: 31003 #映射到宿主機(jī)31003端口
selector:
alertmanager: main
app: alertmanager
sessionAffinity: ClientIP
[root@master manifests]# cd setup/
//進(jìn)入setup/目錄
[root@master manifests]# kubectl apply -f setup/
//運(yùn)行setup目錄中所有的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 manifests]# cd ..
//返回上一級(jí)目錄(kube-prometheus)
[root@master kube-prometheus]# kubectl apply -f manifests/
//運(yùn)行kube-prometheus目錄中所有的yaml文件
[root@master ~]# kubectl get pod -n monitoring
客戶端訪問(wèn)群集中任意節(jié)點(diǎn)的IP+30100端口,即可看到以下界面(默認(rèn)用戶名和密碼都是admin)
根據(jù)提示更改密碼:
依次點(diǎn)擊“import”進(jìn)行導(dǎo)入下面三個(gè)模板:
以下可看到監(jiān)控狀態(tài)
從grafana的官網(wǎng)搜索https://grafana.com/
復(fù)制以下這個(gè)模板的id
現(xiàn)在可以看到監(jiān)控畫面了
文章標(biāo)題:dashboard有什么用?怎么安裝和配置dashboard?
轉(zhuǎn)載注明:http://bm7419.com/article20/gococo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站、建站公司、動(dòng)態(tài)網(wǎng)站、電子商務(wù)、域名注冊(cè)
聲明:本網(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)