在Easypack中提供了多套Kubernetes快速部署的工具,基于Bash脚本和Ansible的,Ansible的方式也有基于K3S和普通的Kubernetes的两种。这篇文章介绍一下普通Kubernetes版本下的Ansible部署工具中如何增加Metrics Server的支持。

事前准备

本文使用Kubernetes 1.17.2,可参看下文进行快速环境搭建:

  • 单机版本或者集群版本环境搭建
[root@host131 ansible]# kubectl get node -o wide
NAME              STATUS   ROLES    AGE     VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
192.168.163.131   Ready    <none>   3m49s   v1.17.2   192.168.163.131   <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://19.3.5
[root@host131 ansible]#
  • 事前环境确认: service、pod与deployment
[root@host131 ansible]# kubectl get service -A |grep metrics
[root@host131 ansible]# kubectl get pod -A |grep metrics
[root@host131 ansible]# kubectl get deployment -A |grep metrics
[root@host131 ansible]#
  • 事前环境确认: kubectl top命令
[root@host131 ansible]# kubectl top pod
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
[root@host131 ansible]# kubectl top node
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
[root@host131 ansible]#

Metrics Server安装

安装Metrics Server

执行如下命令即可完成Metrics Server的安装

[root@host131 ansible]# ansible-playbook metrics/tests/test.yml PLAY [localhost] *********************************************************************************************************************************TASK [metrics : create dirs for metrics] *********************************************************************************************************
changed: [localhost] => (item=/etc/k8s/metrics)TASK [metrics : copy metrics yaml file] **********************************************************************************************************
changed: [localhost] => (item=aggregated-metrics-reader.yaml)
changed: [localhost] => (item=auth-delegator.yaml)
changed: [localhost] => (item=auth-reader.yaml)
changed: [localhost] => (item=metrics-apiservice.yaml)
changed: [localhost] => (item=metrics-server-service.yaml)
changed: [localhost] => (item=resource-reader.yaml)TASK [metrics : create metrics server deployment yaml file] **************************************************************************************
changed: [localhost]TASK [metrics : load metrics server image] *******************************************************************************************************
changed: [localhost]TASK [metrics : create metrics service] **********************************************************************************************************
changed: [localhost]TASK [metrics : confirm metrics service state] ***************************************************************************************************
changed: [localhost]PLAY RECAP ***************************************************************************************************************************************
localhost                  : ok=6    changed=6    unreachable=0    failed=0   [root@host131 ansible]#

结果确认

使用kubectl命令可以确认到,pod、deployment以及service全部生成并正常运行

[root@host131 ansible]# kubectl get service -A |grep metrics
kube-system   metrics-server   ClusterIP   10.254.47.213   <none>        443/TCP         2m36s
[root@host131 ansible]# kubectl get pod -A |grep metrics
kube-system   metrics-server-5cc8d5c4df-qcpg6   1/1     Running   0          2m43s
[root@host131 ansible]# kubectl get deployment -A |grep metrics
kube-system   metrics-server   1/1     1            1           2m56s
[root@host131 ansible]#
  • 确认kubectl top命令
[root@host131 ansible]# kubectl top node
NAME              CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
192.168.163.131   100m         10%    2588Mi          67%
[root@host131 ansible]#
[root@host131 ansible]# kubectl top pod metrics-server-5cc8d5c4df-qcpg6  -n kube-system
NAME                              CPU(cores)   MEMORY(bytes)
metrics-server-5cc8d5c4df-qcpg6   1m           11Mi
[root@host131 ansible]#

Ansible脚本

github地址:https://github.com/liumiaocn/easypack/tree/master/k8s/ansible

  • 各组件版本
组件 版本 更新时间 获取地址
cfssl 1.2 2016/3/30 https://pkg.cfssl.org/
flannel 0.11.0 2019/1/29 https://github.com/coreos/flannel
pause 3.1 - gcr.io/google_containers/pause-amd64:3.1
kubernetes 1.17.2 2020/1/21 https://dl.k8s.io
etcd 3.3.18 2019/11/27 https://github.com/etcd-io/etcd/releases
docker 19.03.5 2019/11/14 https://download.docker.com/
cni 0.8.5 2020/1/22 https://github.com/containernetworking/plugins/releases
coredns 1.6.7 2020/1/28 coredns/coredns:1.6.7
dashboard 1.10.1 - k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
prometheus 2.15.1 2019/12/25 prom/prometheus:v2.15.1
metrics server 0.3.6 2019/10/15 k8s.gcr.io/metrics-server-amd64 :v0.3.6

Easypack: Ansible方式部署工具中增加Metrics Server支持相关推荐

  1. Easypack: Ansible方式部署工具中升级Dashboard至2.0.0版

    在Easypack中提供了多套Kubernetes快速部署的工具,基于Bash脚本和Ansible的,Ansible的方式也有基于K3S和普通的Kubernetes的两种.这篇文章介绍一下普通Kube ...

  2. 虚拟机环境下ansible方式部署tidb3.0时系统检测不通过

    在部署tidb时,对系统的配置要求比较高,在初始化系统步骤要检查配置,以及压测 tidb.tikv server系统配置检测不通过 修改配置文件/home/tidb/tidb-ansible/role ...

  3. Ueditor中增加迅雷下载支持

    在项目中有遇到需要在Ueditor中加一个链接,迅雷的开头是thunder 会被默认加上http://   最后的 结果就变成了http://thunder://xxxxx 导致用户点击失败: 其实在 ...

  4. 自动化工具后起之秀Ansible的部署实践

    本文转自微信号EAWorld.扫描下方二维码,关注成功后,回复"普元方法+",将会获得热门课堂免费学习机会! 从早期手动加脚本的部署方式,到后来自动化工具(chef, puppet ...

  5. K8S实战集训第一课 Ansible自动化部署k8s、弹性伸缩、Helm包管理、k8s网络模型介绍

    Ansible自动化部署K8S集群 一.Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部 ...

  6. Capsule:支持容器的JVM应用程序打包部署工具

    尽管JVM应用程序对环境的依赖非常小,但让人奇怪的是,现在并没有一种通用又好用的JVM应用程序部署工具.Fat JAR不支持本地库,而且需要特定于平台的脚本.Docker太笨重,而且作为一个运行时无关 ...

  7. 部署工具(deploy-tool)开源拉!

    文章目录 概述 部署工具介绍 面向用户 功能特性 在线文档 快速使用 问题及反馈 License 概述 部署工具(deploy-tool)开源拉!你是否在为项目的私有部署烦恼?是否每次项目部署都得重复 ...

  8. ansible运维工具介绍

    运维工具: OS Provisioning:PXE,Cobbler(repository.distributioprofile) PXE:dhcp.tftp.dnsmap.dns OS Config: ...

  9. 为Linux系统增加中文字体支持:解决显示问题的三种方法

    Linux 增加中文字体支持 在使用 Linux 操作系统的过程中,用户经常会遇到中文字体显示问题,导致一些界面上的文字不能正确显示.为了解决这个问题,我们可以通过以下方法来增加中文字体支持. 一.安 ...

最新文章

  1. H5新特性 input type=date 在手机上默认提示显示无效解决办法
  2. MDK生成的BIN文件用DNW通过USB下载RAM中运行的问题
  3. Python入门之中文乱码
  4. C# 中的 ref 已经被放开,或许你已经不认识了
  5. python中upper函数有什么用_几个有用的python字符串函数(format,join,split,startwith,endwith,lower,upper)...
  6. python 参数个数 同名函数_Python——函数的参数
  7. 为什么重写equals时必须重写hashCode方法?
  8. jenkins构建记录日志_构建企业日志记录层的清单
  9. 科技感大屏展示设计,数据可视化设计
  10. 公共的数据库访问访问类 SqlHelper.cs
  11. 深扒洪恩教育招股书:研发含金量低,三年亏3亿,池宇峰再闯美股
  12. 视频文件转gif图片Movie To GIF使用
  13. 二维数组循环赋值c语言,C/C++ 定义并赋值二维数组
  14. row_number() over (partition by....order by...)用法
  15. 驾照ABC:准驾车型及代号
  16. 如何将任意两张图片合并成一张图片并将合并后的图片导出为EPS高精度图片?
  17. Java项目:问卷调查系统(java+SSM+layui+JSP+Mysql)
  18. SFTP传输文件工具FileZilla下载安装教程
  19. (三)四种流行的RPC框架(Dubbo/Motan/Thrift/Grpc)
  20. 智慧图书馆中一般有哪些设备

热门文章

  1. 秒懂 23 种设计模式!
  2. 基于MyEclipse+Tomcat+Mysql+JSP开发得基于java的保险业务管理系统的设计与实现
  3. Vue 进阶系列丨自定义指令实现按钮权限功能
  4. uni-app 苹果桌面icon角标清除方法
  5. Anaconda中spyder出现connecting to kernel的解决方法
  6. Shader Variants 打包遇到的问题
  7. 互联网日报 | 京东数科调整上市保荐券商;洋码头自建奢品鉴别中心;快的新出租签约北京26家出租车企业...
  8. 阿里云服务器ECS有哪些优势?与普通IDC对比有哪些优势?
  9. 睿智的目标检测36——Pytorch搭建Efficientdet目标检测平台
  10. 项目销售实用技巧(销售,售前必看)