K8S部署監(jiān)控的示例分析,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供富川網(wǎng)站建設(shè)、富川做網(wǎng)站、富川網(wǎng)站設(shè)計、富川網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、富川企業(yè)網(wǎng)站模板建站服務(wù),十年富川做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
kubernetes集群監(jiān)控方案有許多種組合對其進(jìn)行監(jiān)控,但是在1.12版本后通常選擇prometheus-operator + grafana 進(jìn)行監(jiān)控下面我們進(jìn)行部署監(jiān)控
1 下載項目
git clone https://github.com/coreos/kube-prometheus.git 是因為今年prometheus-operator項目搬到了coreos/kube-prometheus
2 排版
cd kube-prometheus/manifests/ mkdir -p operator node-exporter alertmanager grafana kube-state-metrics prometheus serviceMonitor adapter mv *-serviceMonitor* serviceMonitor/ mv 0prometheus-operator* operator/ mv grafana-* grafana/ mv kube-state-metrics-* kube-state-metrics/ mv alertmanager-* alertmanager/ mv node-exporter-* node-exporter/ mv prometheus-adapter* adapter/ mv prometheus-* prometheus/
3 創(chuàng)建namespace
kubectl apply -f 00namespace-namespace.yaml
4 創(chuàng)建operator
kubectl apply -f operator/ 查看pod kubectl get pods -n monitoring 等pod創(chuàng)建起來在進(jìn)行下一步
5 創(chuàng)建其他CRD
kubectl apply -f adapter/ kubectl apply -f alertmanager/ kubectl apply -f node-exporter/ kubectl apply -f kube-state-metrics/ kubectl apply -f grafana/ kubectl apply -f prometheus/ kubectl apply -f serviceMonitor/ 查看pod kubectl get pods -n monitoring 查看service kubectl get svc -n monitoring 發(fā)現(xiàn)全部是prometheus和grafana都是可以集群內(nèi)部訪問
6 使集群外可以訪問prometheus 和 grafana
有兩種方案可以實(shí)現(xiàn)此功能 1) nodeport方式 2)ingress-nginx方式 我么這邊為了測試 選擇nodeport方式 修改prometheus # vim prometheus/prometheus-service.yaml apiVersion: v1 kind: Service metadata: labels: prometheus: k8s name: prometheus-k8s namespace: monitoring spec: ports: - name: web port: 9090 targetPort: web type: NodePort selector: app: prometheus prometheus: k8s sessionAffinity: ClientIP ~ 增加nodeport kubectl apply -f prometheus/prometheus-service.yaml 修改grafana # vim grafana/grafana-service.yaml apiVersion: v1 kind: Service metadata: labels: app: grafana name: grafana namespace: monitoring spec: ports: - name: http port: 3000 targetPort: http type: NodePort selector: app: grafana kubectl apply -f grafana/grafana-service.yaml 查看sevice主要是查看nodeport端口我們可以訪問 # kubectl get svc -n monitoring NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE alertmanager-main ClusterIP 10.99.60.1179093/TCP 67m alertmanager-operated ClusterIP None 9093/TCP,6783/TCP 67m grafana NodePort 10.105.159.125 3000:31746/TCP 67m kube-state-metrics ClusterIP None 8443/TCP,9443/TCP 67m node-exporter ClusterIP None 9100/TCP 67m prometheus-adapter ClusterIP 10.102.146.18 443/TCP 67m prometheus-k8s NodePort 10.107.201.125 9090:32040/TCP 67m prometheus-operated ClusterIP None 9090/TCP 67m prometheus-operator ClusterIP None ~
7 訪問grafana web頁面
http://masterip:31746
關(guān)于K8S部署監(jiān)控的示例分析問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。