minikube 安装 Kubernetes Dashboard 并集成 Heapster(3)

通过日志可以发现,在 heapster-3848557544-1548b 这个 pod 的日志中,发现有错误:

... Failed to list *api.Node: Get https://kubernetes.default/api/v1/nodes?resourceVersion=0: x509: certificate is valid for server, not kubernetes.default ...

通过 heapster.yaml 文件可以看到,

command: - /heapster - --source=kubernetes:https://kubernetes.default - --sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086

默认连接 kubernetes 的数据源地址为 https://kubernetes.default 后端存储数据服务为 :8086,但是这里出现了由于认证问题获取 kubernetes 服务失败的情况。

解决方法有两种:

1、通过参考 Github Heapster 配置数据源文档 Heapster source-configuration,修改配置数据源为 --source=kubernetes:<address-of-kubernetes-master>:<http-port>?inClusterConfig=false,采用 insecure-port 的方式连接,因为 kube-apiserver 针对 insecure-port 接入的请求没有任何限制机制。
2、通过命令获取 kubernetes ClusterIP,直接使用 ClusterIP 也是可以的。

$ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 1d ... 修改 heapster.yaml command: - /heapster #- --source=kubernetes:https://kubernetes.default - --source=kubernetes:https://10.0.0.1 - --sink=influxdb::8086

以上两种方式修改配置完成后,使用 kubectl apply -f deploy/kube-config/influxdb/heapster.yaml 重新 apply 一下该 pod。再次稍等几分钟,再次刷新 dashboard,就能看到了。

这里写图片描述

5、简单演示使用 Dashboard

通过 kubernetes dashboard 我们除了可以直观的查看各种资源信息,日志信息,查看工作负荷信息,监控 CPU 以及内存资源使用率等之外,我们还可以创建部署容器应用,删除各种资源,编辑更新资源文件等等操作。下边就演示下如何在 dashboard 上创建一个容器应用部署,并且编辑更新该部署,最后删除部署信息。

5.1 创建容器应用部署

浏览器打开 kubernetes dashboard 的 Web UI 页面,点击右上角 “+ 创建”,进入创建应用页面,这里有两种方式创建应用,一种是通过页面填写应用详情,二种是上传 YAML 或 JSON 文件的方式。为了方便,我们使用第二种方式,上传本地写好的一个 redis.yaml 文件,点击上传即可。

redis.yaml 文件

apiVersion: extensions/v1beta1 kind: Deployment metadata: name: hello-redis namespace: my-kube spec: replicas: 2 template: metadata: labels: group: hello-scm my-kube: hello-redis k8s-app: redis spec: containers: - name: redis image: redis:latest --- apiVersion: v1 kind: Service metadata: labels: group: hello-scm kubernetes.io/cluster-service: 'true' kubernetes.io/name: hello-redis name: hello-redis namespace: my-kube spec: ports: - port: 6379 targetPort: 6379 selector: k8s-app: redis

说明一下,这里我创建了一个 Deployment 名为 hello-redis,并归属到 my-kube 的命名空间下,并且指定初始副本数为 2,使用镜像 redis:latest,同时创建了一个 Service 名为 hello-redis,开放 6379 端口,并分别给他们打上对应的 tag 标签。

这里写图片描述

这里写图片描述

从上图可以看到已经创建好了 hello-redis 部署,以及初始化的2个副本容器组。

5.2 编辑更新该部署

现在我们将 hello-redis 副本容器组扩大到 4 个,点击左侧 “工作负荷 —》 部署”,右侧会列出当前节点下所有的部署,点击 hello-redis 进入到部署页点击右上角 “编辑”,弹出 Yaml 文件编辑弹框,修改 replicas: 4,点击 “更新” 即可。也可以在部署列表中 hello-reids 记录最后边操作栏,点击 “查看/编辑 YAML”,弹出框修改。

这里写图片描述

这里写图片描述

稍等一会,去 hello-redis 副本集中查看,副本数就变成 4 个了。

这里写图片描述

这里写图片描述

5.3 删除部署信息

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6bd5571f94320f082e0aeb85fbbd4651.html