Helm及相关组件和Prometheus设置

Helm概念

在这里插入图片描述
在这里插入图片描述

Helm部署

在这里插入图片描述

  1. 将helm的tar包解压,解压后将其目录下的命令cp到/usr/local/bin/下 方便使用
    在这里插入图片描述
  2. 分配权限在这里插入图片描述
    在这里插入图片描述
  3. 创建yaml,将内容复制进去,创建name为tiller的ServiceAccount并且多此ServiceAccount赋予管理员权限
    在这里插入图片描述
  4. 初始化helm在这里插入图片描述
  5. 查看tiller pod已经创建
    在这里插入图片描述
  6. helm version 查看helm版本信息
    在这里插入图片描述

Helm定义模板案例

  1. 创建Chart.yaml 文件 属性有name和version
    在这里插入图片描述
  2. 创建templates目录,并且在templates目录下面创建deployment.yaml文件,将deployment配置复制进去
    在这里插入图片描述
  3. 在templates目录下同时创建service.yaml文件,并且将内容写入
    在这里插入图片描述
  4. 使用命令helm install .命令即可安装,并且查看到创建了deployment,pod,service
    在这里插入图片描述
  5. 使用heml list即可查看到helm的chart的相关信息
    在这里插入图片描述
  6. helm status helm名称 即可查看这个heml下面相关的所有组件及状态
    在这里插入图片描述
  7. 通过变量动态更新helm创建的组件,在目录下创建values.yaml文件,将内容写入在这里插入图片描述
  8. 修改deployment.yaml文件,将image字段改为变量
    在这里插入图片描述
  9. 更新helmhelm upgeade helm名称 .
    在这里插入图片描述
  10. 查看使用heml创建的pod已经正常运行
    在这里插入图片描述
  11. 或者使用heml updrade helm名称 --set key=value .设置变量方式也可以更新
    在这里插入图片描述
  12. 使用helm delete helm名称即可删除helm,使用helm list --deleted即可查看到已经被删除的helm
    在这里插入图片描述
  13. 使用helm rollback helm名称 版本号即可回滚已经操作的helm,使用helm查看到helm已经重新被部署
    在这里插入图片描述

Helm dashboard组件下载

  1. helm repo update将helm镜像仓库更新在这里插入图片描述
  2. helm repo list查看helm绑定的仓库一个是远程的,一个是本地仓库
    在这里插入图片描述
  3. helm fetch 镜像即可查看到镜像从远程仓库下载下来,使用tar -zxvf tgz包即可将下载的包解压
    在这里插入图片描述
  4. 进入目录中即可查看到对应的Chart.yaml,templates目录values.yaml文件在这里插入图片描述
  5. 创建kubernets-dashboard.yaml文件
    在这里插入图片描述
  6. helm install . -n dashboard名称 --namespace dashboard命名空间 -f kubernetes-dashboard.yaml创建dashboard
    在这里插入图片描述
  7. 将dashboard镜像上传到所有k8s节点
    在这里插入图片描述
  8. 修改kubernete-dashboard的svc改为Nodeport类型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  9. 查看secret里面的token信息
    在这里插入图片描述
    在这里插入图片描述
  10. 将token粘贴到浏览器的令牌中
    在这里插入图片描述
  11. 即可查看helm的dashboard
    在这里插入图片描述

部署prometheus

在这里插入图片描述

  1. git clone下载prometheus项目,进入manifests目录,可以看到有很多yaml文件
    在这里插入图片描述
    在这里插入图片描述
  2. 修改grafana-service.yaml 文件,将service改为NodePort类型,指定宿主机端口为30100
    在这里插入图片描述
    在这里插入图片描述
  3. 修改prometheus-service.yaml文件,也使用NodePort宿主机木事nodePort为30200
    在这里插入图片描述
    在这里插入图片描述
  4. 修改alertmanager-service.yaml文件,nodePort映射为30300

在这里插入图片描述
在这里插入图片描述
5. 传上prometheus.tar.gz并且解压,相关插件的tar包都在prometheus目录下

在这里插入图片描述
6. 查看load-images.sh 脚本,里面使用的docker load -i docker镜像tar名字生产镜像到本地docker仓库
在这里插入图片描述
7. 将目录和脚本移到脚本对应的/root目录下,执行脚本生成镜像,并且将所有镜像加载到k8s集群中的其他节点中
在这里插入图片描述
8. kubectl apply -f ../manifests 加载manifests目录下所有yaml
在这里插入图片描述
9. kubectl get pod -n monitoring 查看所有监控创建的pod

10. kubectl top node和kubectl top pod 查看pod和node使用cpu内存情况
在这里插入图片描述
11. kubectl get svc -A 查看所有namespace下面的svc
在这里插入图片描述
12. 访问prometheus管理页面,使用前面svc设置的30200端口,使用prometheus语法查询

在这里插入图片描述
在这里插入图片描述
13. 访问前面设置的30100端口即可查看grafana页面并且进行配置,并且可以看到相关node或者其他k8s集群中相关信息的收集显示信息
在这里插入图片描述
在这里插入图片描述

部署Hpa和使用案例

1.上传hpa的tar包,并且上传加载到所有k8s的其他node上面
在这里插入图片描述
2. kube run 一个镜像
在这里插入图片描述
3. kubectl top pod pod名称查看pod使用资源
在这里插入图片描述
4. kubectl autoscale deployment deployment名称 --cpu-percent=50 --min=1 --max=10命令指定自动扩缩容cpu使用到50%就创建新的pod最少1个,最多10个,kubectl get hpa查看hpa创建情况,过一段时间kubectl get hpa即可查看到检测到pod使用cpu情况
在这里插入图片描述
在这里插入图片描述
5.新建pod,进入pod中,死循环执行命令请求php-apache.default.svc.cluster.local,通过请求svc压测请求到刚刚创建的pod上,使之前创建的podcpu使用率上升
在这里插入图片描述
5. kubectl get hpa -w 监控查询hpa情况pod使用到了419%
在这里插入图片描述
6. 查看hpa deployment创建的pod的cpu压力情况,并且查看pod自动创建了
在这里插入图片描述
在这里插入图片描述

Guess you like

Origin blog.csdn.net/Persistence___/article/details/119494300