IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Kubernetes 13 (k8s资源监控、Dashboard可视化部署) -> 正文阅读

[系统运维]Kubernetes 13 (k8s资源监控、Dashboard可视化部署)

一、k8s资源监控

  • Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。
    容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。
    Metrics API 只可以查询当前的度量数据,并不保存历史数据。
    Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。
    必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet Summary API 获取数据。
  • Metrics Server 并不是 kube-apiserver 的一部分,而是通过 Aggregator 这种插件机制,在独立部署的情况下同 kube-apiserver 一起统一对外服务的。
    kube-aggregator 其实就是一个根据 URL 选择具体的 API 后端的代理服务器。
    在这里插入图片描述
    Metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成。

1.Metrics-server安装部署

建立用于存放相关资源清单文件的目录
请添加图片描述
真机将metrics-server.tar发送给server1
请添加图片描述
server1导入镜像,并上传至仓库
请添加图片描述
真机将components.yaml发送给server2
请添加图片描述
请添加图片描述
应用资源清单
请添加图片描述
发现没有就绪
请添加图片描述
查看日志
请添加图片描述

2.解决报错

修改清单配置,安全端口和容器端口修改为4443
请添加图片描述
请添加图片描述
应用配置
请添加图片描述
查看kube-system命名空间的pod信息,可以看到metrics-server处于运行状态但并未就绪
请添加图片描述
查看日志,报错1:x509: certificate signed by unknown authority;
显然缺少证书,Metric Server 支持一个参数 --kubelet-insecure-tls,可以跳过这一检查,然而官方也明确说了,这种方式不推荐生产使用。
请添加图片描述
此时metrics-server没有后端服务器
请添加图片描述
在master和各个节点上,启用TLS Bootstrap 证书签发;
添加之后,重启服务
请添加图片描述
请添加图片描述
请添加图片描述
再次应用资源清单创建pod,但是仍然为就绪;
提示tls内部错误,安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
请添加图片描述
查看证书,可以看到是pending状态;
当对三个节点都进行授权后
请添加图片描述
查看状态变为已授权
请添加图片描述
错误2:当出现 dial tcp: lookup server2 on 10.96.0.10:53: no such host
这是因为没有内网的DNS服务器,所以metrics-server无法解析节点名字。可以直接修改coredns的configmap,将各个节点的主机名加入到hosts中,这样所有Pod都可以从CoreDNS中解析各个节点的名字。

编辑coredns的cm
请添加图片描述
将各个节点的主机名加入到hosts中
请添加图片描述
修改完成后metrics-server正常运行
请添加图片描述
可以看到后端地址和端口
请添加图片描述
部署成功后,通过kubectl top node可以监控到所有节点的资源使用情况
请添加图片描述
查看 pod 的使用情况
请添加图片描述
请添加图片描述
使用以下命令查询,以验证安装是否成功,如果安装成功会返回一堆值
请添加图片描述

二、Dashboard部署(可视化)

  • Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。

首先在仓库创建新项目kubernetesui,方便管理镜像
请添加图片描述
下载所需要的配置文件:recommended.yaml
请添加图片描述
真机将dashboard.tar发送给server1
请添加图片描述
server1导入镜像并上传至仓库
请添加图片描述
请添加图片描述
修改配置文件中的镜像地址和版本
请添加图片描述
应用recommended.yaml文件,可以看到创建了新的ns和服务等
请添加图片描述
可以看到新创建的ns:kubernetes-dashboard
请添加图片描述
查看kubernetes-dashboard下的容器和服务是否正常运行;
注意:psp安全策略一定要禁掉,否则两个控制器起不来
请添加图片描述
查看svc服务
请添加图片描述
更改 kubernetes-dashboard 的 ClusterIP 为 loadbalance,使外部可以访问
请添加图片描述
请添加图片描述
修改完成后,可以看到其外部访问地址为172.25.36.11
请添加图片描述
查看metallb-system命名空间,有4个pod
请添加图片描述
根据暴露的ip网页访问:https://172.25.36.11,发现需要输入token才能认证
请添加图片描述
查看kubernetes-dashboard命名空间内的secrets,找到token
请添加图片描述
查看详细信息,把token复制,粘贴到网页中
请添加图片描述
请添加图片描述
认证成功后进入界面,不过有红色报错信息;
因为默认dashboard对集群没有操作权限,需要授权,接下来我们需要解决授权问题
请添加图片描述
通过查看dashboard的kubernetes-dashboard这个全局角色的详细信息,可以看到只有读权限(get list watch)
请添加图片描述
编辑rbac.yaml配置文件,在全局角色绑定中将cluster-admin的权限赋予kubernetes-dashboard,使其具有读写权限(cluster-admin是 Kubernetes 提供的预先定义好的 ClusterRole 来供用户直接使用)

kind: ClusterRoleBinding %全局角色绑定
name: cluster-admin %权限使用的是以前创建的cluster-admin,在里面有读写权限
name: kubernetes-dashboard %作用对象是kubernetes-dashboard
请添加图片描述
应用 rbac.yaml文件,可以看到权限是*,表示全开
请添加图片描述
在这里插入图片描述
现在重新测试访问,现在网页就没有报错了,可以查看到监控
请添加图片描述
查看控制器状态
请添加图片描述

三、Dashboard图形化控制k8s

使用图形化创建一个控制器
请添加图片描述
成功创建控制器
请添加图片描述
进入server2命令行也可以查看到刚创建的pod,查看其ip并测试访问
请添加图片描述
将镜像的v1版本升级成v2
请添加图片描述
测试修改成功
请添加图片描述
在Deployments菜单中,修改元数据
请添加图片描述
扩容到三个副本
请添加图片描述
此时有3个pod正在运行
请添加图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:15:45  更:2021-10-01 17:15:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:42:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码