zoukankan      html  css  js  c++  java
  • [k8s]dashboard1.8.1搭建( heapster1.5+influxdb+grafana)

    dashboard最终效果

    多了执行sh的窗口

    heapster+influxdb+grafana搭建

    整个架构是 dashboard去检测 hepster service服务, heapster通过cadvisor搜集到数据入库到influxdb. 而dashboard访问heapster的svc的8086端口获取数据绘图.

    准备yaml

    https://github.com/kubernetes/heapster/blob/master/deploy/kube-config/influxdb
    
    [root@n1 influxdb]# tree .
    .
    ├── grafana.yaml
    ├── heapster.yaml
    └── influxdb.yaml
    

    修改镜像并创建

    [root@n1 influxdb]# grep -r image: .
    ./influxdb.yaml:        image: lanny/k8s.gcr.io_heapster-influxdb-amd64:v1.3.3
    ./grafana.yaml:        image: lanny/k8s.gcr.io_heapster-grafana-amd64:v4.4.3 
    ./heapster.yaml:        image: lanny/gcr.io_google_containers_heapster-amd64:v1.5.0
    
    注: 这里用v1.5.0的heapster.看release用最新的,官方的yaml可能还是旧的
    

    dashboard1.8.1

    部署dashboard 1.8.1

    https://github.com/kubernetes/dashboard/releases

    dashboard.yaml

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      labels:
        app: kubernetes-dashboard
      name: kubernetes-dashboard
      namespace: kube-system
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: kubernetes-dashboard
      template:
        metadata:
          labels:
            app: kubernetes-dashboard
          # Comment the following annotation if Dashboard must not be deployed on master
          annotations:
            scheduler.alpha.kubernetes.io/tolerations: |
              [
                {
                  "key": "dedicated",
                  "operator": "Equal",
                  "value": "master",
                  "effect": "NoSchedule"
                }
              ]
        spec:
          containers:
          - name: kubernetes-dashboard
            image: lanny/gcr.io_google_containers_kubernetes-dashboard-amd64:v1.8.1 
            imagePullPolicy: IfNotPresent
            ports:
            - containerPort: 9090
              protocol: TCP
            args:
              # Uncomment the following line to manually specify Kubernetes API server Host
              # If not specified, Dashboard will attempt to auto discover the API server and connect
              # to it. Uncomment only if the default does not work.
              # - --apiserver-host=http://my-address:port
               - --apiserver-host=http://192.168.x.x:8080
               - --heapster-host=http://heapster  #要有这玩意,不然创建后可能heapster检查失败,导致ui不显示图形.
            livenessProbe:
              httpGet:
                path: /
                port: 9090
              initialDelaySeconds: 30
              timeoutSeconds: 30
    ---
    kind: Service
    apiVersion: v1
    metadata:
      labels:
        app: kubernetes-dashboard
      name: kubernetes-dashboard
      namespace: kube-system
    spec:
      type: NodePort
      ports:
      - port: 80
        targetPort: 9090
      selector:
        app: kubernetes-dashboard
    

    出现的问题

    ui图形不展示

    dashboard的日志: dashboard会去连heapster的8082端口获取数据来展示图形. 这里看到heapster连不上,但是heapster的日志没问题

    2018/01/02 04:14:29 Metric client health check failed: an error on the server ("Error: 'dial tcp 10.244.1.43:8082: getsockopt: connection refused'
    Trying to reach: 'http://10.244.1.43:8082/healthz'") has prevented the request from succeeding (get services heapster). Retrying in 30 seconds.
    2018/01/02 04:15:20 Metric client health check failed: an error on the server ("Error: 'dial tcp 10.244.1.43:8082: getsockopt: connection refused'
    Trying to reach: 'http://10.244.1.43:8082/healthz'") has prevented the request from succeeding (get services heapster). Retrying in 30 seconds.
    2018/01/02 04:16:11 Metric client health check failed: an error on the server ("Error: 'dial tcp 10.244.1.43:8082: getsockopt: connection refused'
    Trying to reach: 'http://10.244.1.43:8082/healthz'") has prevented the request from succeeding (get services heapster). Retrying in 30 seconds.
    
    

    解决: dashboard的yaml加- --heapster-host=http://heapster 参数即可
    参考: https://github.com/kubernetes/dashboard/issues/1602

    创建dashboard后,访问不出现ui

    我用参考官网的https://raw.githubusercontent.com/kubernetes/dashboard/v1.8.1/src/deploy/recommended/kubernetes-dashboard.yaml
    发现这个毛病,所有用了1.7的yaml,暂时没去深究.

  • 相关阅读:
    系统引导管理器GRUB,为初学者指南
    PHPBB安装
    python的装饰器
    PIL的问题解决
    python的小技巧
    强烈推荐instagram的ppt
    新的一天
    OpenStack介绍
    ansible自动化运维工具
    .net连oracle的问题
  • 原文地址:https://www.cnblogs.com/iiiiher/p/8176769.html
Copyright © 2011-2022 走看看