部署k8s集群监控Heapster
- git clone https://github.com/kubernetes/heapster.git
kubectl apply -f heapster/deploy/kube-config/influxdb/
kubectl apply -f heapster/deploy/kube-config/rbac/heapster-rbac.yaml
#通过上面yaml部署之后,会报无法拉去镜像k8s.gcr.io,找到相关镜像并tag(docker search到的)- #修改monitoring-grafana这个svc的Type为NodePort或者新建一个ingress以暴露服务供外界访问
kubectl edit svc monitoring-grafana- 遇到的问题
- 1、heapster pod中报如下错误(10255端口不通,k8s默认使用10250作为kubelet端口)
E0730 11:24:05.015741 1 manager.go:101] Error in scraping containers from kubelet:172.31.2.131:10255: failed to get all container stats from Kubelet URL "http://172.31.2.131:10255/stats/container/": Post http://172.31.2.131:10255/stats/container/: dial tcp 172.31.2.131:10255: getsockopt: connection refused
解决:
kubectl edit deployment heapster
修改
- --
source
=kubernetes:https:
//kubernetes
.default
为
- --
source
=kubernetes:kubernetes:https:
//kubernetes
.default?useServiceAccount=
true
&kubeletHttps=
true
&kubeletPort=10250&insecure=
true
E0823 02:26:05.018478 1 kubelet.go:239] error while getting containers from Kubelet 172.16.0.12:10250: failed to get all container stats from Kubelet URL "https://172.16
.0.12:10250/stats/container/": request failed - "403 Forbidden", response: "Forbidden (user=system:serviceaccount:kube-system:heapster, verb=create, resource=nodes, subresourc
e=stats)"
临时解决:删除crb kubectl delete clusterrolebinding heapster
新建一个绑定更高clusterrole的crb并重启pod
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRoleBinding
- metadata:
- name: heapster
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cluster-admin #cluster-admin的权限
- subjects:
- - kind: ServiceAccount
- name: heapster
- namespace: kube-system
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
node1.com 175m 8% 2285Mi 61%
node2.com 97m 4% 2094Mi 56%
NAME CPU(cores) MEMORY(bytes)
altered-horse-mysql-5fd7bcc98c-9sc7n 2m 241Mi
austere-llama-mariadb-7f578657c6-9rd84 3m 143Mi
austere-llama-wordpress-75cbff959-tz469 3m 223Mi
coredns-78fcdf6894-5bwc7 1m 11Mi
coredns-78fcdf6894-x79ww 1m 12Mi
default-http-backend-784cf5f7b5-p9mcd 0m 2Mi
etcd-node1.com 16m 186Mi
heapster-798c4b6988-xmnzp 2m 51Mi
kube-apiserver-node1.com 25m 306Mi
kube-controller-manager-node1.com 28m 64Mi
kube-flannel-ds-8zcwd 1m 16Mi
kube-flannel-ds-gldqx 1m 18Mi
kube-proxy-szb9p 3m 15Mi
kube-proxy-tq7d7 3m 15Mi
kube-scheduler-node1.com 8m 19Mi
monitoring-grafana-77fbf95454-4k752 0m 15Mi
monitoring-influxdb-56b597d5c5-55kpf 2m 65Mi
nginx-ingress-controller-84b8b6df66-46848 3m 138Mi
tiller-deploy-7b5cb97898-dnmc2 0m 15Mi
部署k8s集群监控Heapster的更多相关文章
- 部署K8S集群
1.Kubernetes 1.1.概念 kubernetes(通常称为k8s)用于自动部署.扩展和管理容器化应用程序的开源系统.它旨在提供“跨主机集群的自动部署.扩展以及运行应用程序容器的平台”.支持 ...
- 【02】Kubernets:使用 kubeadm 部署 K8S 集群
写在前面的话 通过上一节,知道了 K8S 有 Master / Node 组成,但是具体怎么个组成法,就是这一节具体谈的内容.概念性的东西我们会尽量以实验的形式将其复现. 部署 K8S 集群 互联网常 ...
- 菜鸟系列k8s——快速部署k8s集群
快速部署k8s集群 1. 安装Rancher Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件. Rancher2.0基于Kuberne ...
- Ansible自动化部署K8S集群
Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新.Ansible适用于管理企 ...
- 使用RKE快速部署k8s集群
一.环境准备 1.1环境信息 IP地址 角色 部署软件 10.10.100.5 K8s Master Etcd.Control 10.10.100.17 K8s Worker1 Worker 10.1 ...
- 使用kubeadm部署k8s集群[v1.18.0]
使用kubeadm部署k8s集群 环境 IP地址 主机名 节点 10.0.0.63 k8s-master1 master1 10.0.0.63 k8s-master2 master2 10.0.0.6 ...
- centos7.8 安装部署 k8s 集群
centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...
- 二进制方法-部署k8s集群部署1.18版本
二进制方法-部署k8s集群部署1.18版本 1. 前置知识点 1.1 生产环境可部署kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式 kuberadm Kubea ...
- 通过kubeadm工具部署k8s集群
1.概述 kubeadm是一工具箱,通过kubeadm工具,可以快速的创建一个最小的.可用的,并且符合最佳实践的k8s集群. 本文档介绍如何通过kubeadm工具快速部署一个k8s集群. 2.主机规划 ...
随机推荐
- HTTP协议详解(二)—— HTTP响应
HTTP响应(Response) 响应与请求一样分成三个部分:响应行.响应头.响应体. 1.响应行: 格式 - HTTP/1.1 200 OK 2.响应头: 部分头属性解释 - Location:这个 ...
- Python 调用图灵机器人 API
''' Python3''' import requests #导入requests库 import json #导入json库 key = '3119f1e3610f42c5977ea73c4097 ...
- 整理了适合新手的20个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...
- javascript单线程,异步与执行机制
js的单线程模型与游览器的进程/线程息息相关,在了解js单线程与异步的时候,建议先看看这篇文章 为什么是单线程 由于js是可操作dom的,如果js是多线程,在多线程的交互下,处于界面中的dom节点就可 ...
- django-URL转换器(四)
接URL匹配那一节. 在book中的urls.py from django.urls import path from . import views urlpatterns = [ path('', ...
- SQlite 日期时间总结
1. 时间串转时间戳,函数strftime,其参数1是固定'%s',参数2是待转换的时间串,参数3...是修饰符 (1)select strftime('%s','2004-01-01 02:34:5 ...
- 第五篇 Flask 中内置的 Session
Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from ...
- leetcode算法小题(3)
问题描述: 判断一个数是否为回文数 class Solution { public boolean isPalindrome(int x) { if(x<0) ...
- linux IMX6 汇编点亮一个LED灯
驱动Linux引脚与驱动STM32其实是一样的,都是在操作寄存器,在相应的寄存器上附上相应的值即可驱动. IMX6U手册上有各个管脚的命名,跟STM32不同,IOMUXC_SW_MUC_CTL_PAD ...
- 【PyTorch教程】P2. Python编辑器的选择、安装及配置
温馨提示:为了更好的教程体验,提供视频.阅读地址 Youtube: https://www.youtube.com/playlist?list=PLgAyVnrNJ96CqYdjZ8v9YjQvCBc ...