K8S中安裝grafana7.4.5
1.1.1 准備鏡像並推送到Harbor倉庫
docker pull grafana/grafana:7.4.5
docker tag 286028304712 harbor.st.com/infra/grafana:v7.4.5
docker push harbor.st.com/infra/grafana:v7.4.5
准備目錄
mkdir /data/k8s-yaml/grafana
cd /data/k8s-yaml/grafana
名稱空間
kubectl create ns test
1.1.2 准備rbac資源清單
cat >rbac7.4.5.yaml <<'EOF'
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
addonmanager.kubernetes.io/mode: Reconcile
kubernetes.io/cluster-service: "true"
name: grafana
rules:
- apiGroups:
- "*"
resources:
- namespaces
- deployments
- pods
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
addonmanager.kubernetes.io/mode: Reconcile
kubernetes.io/cluster-service: "true"
name: grafana
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: grafana
subjects:
- kind: User
name: k8s-node
EOF
1.1.3 准備dp資源清單
cat >dp7.4.5.yaml <<'EOF'
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: grafana
name: grafana
name: grafana
namespace: test
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 7
selector:
matchLabels:
name: grafana
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: grafana
name: grafana
spec:
containers:
- name: grafana
image: harbor.st.com/infra/grafana:v7.4.5
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
protocol: TCP
volumeMounts:
- mountPath: /var/lib/grafana
name: data
imagePullSecrets:
- name: harbor
securityContext:
runAsUser: 0
volumes:
- nfs:
server: hdss7-200
path: /data/nfs-volume/grafana7.4.5
name: data
EOF
創建grafana數據目錄
mkdir /data/nfs-volume/grafana7.4.5
1.1.4 准備svc資源清單
cat >svc7.4.5.yaml <<'EOF'
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: test
spec:
ports:
- port: 3000
protocol: TCP
targetPort: 3000
selector:
app: grafana
EOF
1.1.5 准備ingress資源清單
cat >ingress7.4.5.yaml <<'EOF'
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana
namespace: test
spec:
rules:
- host: grafana7.st.com
http:
paths:
- path: /
backend:
serviceName: grafana
servicePort: 3000
EOF
1.1.6 域名解析
vi /var/named/st.com.zone
grafana A 192.168.x.x
systemctl restart named
1.1.7 應用資源配置清單
kubectl apply -f http://k8s-yaml.st.com/grafana/rbac7.4.5.yaml
kubectl apply -f http://k8s-yaml.st.com/grafana/dp7.4.5.yaml
kubectl apply -f http://k8s-yaml.st.com/grafana/svc7.4.5.yaml
kubectl apply -f http://k8s-yaml.st.com/grafana/ingress7.4.5.yaml
1.2 瀏覽器訪問驗證
訪問http://grafana.st.com,默認用戶名密碼admin/admin
進入后立即要求修改管理員密碼

添加普羅米修斯數據源后,即可圖形化監控K8S的數據了

 
Grafana Dashboard推薦使用編號315這個,非常專業。

