热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

K3s集群Helm3国内(外)快速部署Operator&Prometheus

背景提要 近来通过 helm3 在 k8S/k3s 集群部署资源,国内的话阿里,网易,清华总是热衷做镜像源,因为国内外网络总是存在这样或者那样的问题,所以针对刚开始入门的小朋友,往往你的能力和别人

背景提要

近来通过 helm3 在 k8S/k3s 集群部署资源,国内的话阿里,网易,清华总是热衷做镜像源,因为国内外网络总是存在这样或者那样的问题,所以针对刚开始入门的小朋友,往往你的能力和别人的区别度就是你如何快速的处理类似这种网络问题就会让你更快的成长。

题外话:
网络问题:因为一些大厂可以向工信部申请开启外网联通的权力,所以类似百度/腾讯/阿里的大厂,公司的网络都是可以访问国外网络的(wiki除外),这也是大厂所谓先进技术的来源的一种动力,用百度搜索浪费时间和生命,且行且珍惜。

镜像问题:国内的一些镜像维护网站,往往都是一时兴起,不知道那个小哥想着搞一波镜像转换,但是持续赋能的维护真的是让人一言难尽,往往有以下几方面的原因,比如 helm 版本2 和版本3 发生比较大的变化,更新不及时,有些网站半途而废,本来是要解决国内外网络互通的问题的,结果做了一半没人维护了,或者国外版本大升级,人家天天更新,跟不上节奏和速度,那些好事的同学你搞这个麻烦事干嘛?

举个栗子

按照 helm3 部署教程,我们完成 helm3 部署以后,通常会设置 helm 源,但是国内源和国外源真心不一样呦!

  • 国外 helm 源
# 导入国外源
helm repo remove stable
helm repo add stable https://charts.helm.sh/stable
helm repo update
helm list
helm search repo stable/prometheus-operator
K3s 集群 Helm3 国内(外)快速部署 Operator & Prometheus
image
  • 国内 helm 源
helm repo remove stable
helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo update
helm list
helm search repo stable/prometheus-operator
K3s 集群 Helm3 国内(外)快速部署 Operator & Prometheus
image

说明: 国内的源就是因为网络造成的快,国内无法正常使用国外源,可不要单独测试了,除非自己的网络区域被开放以外可访问外网,不然国外源在国内的服务器集群是无法正常使用的。

解决办法

云原生领域或者因为网络问题造成的譬如镜像,helm 源等资源文件的问题,其实存在通用的处理解决办法的,以下展开汇总诉述:
构建一个国外的 k8s/k3s 集群,或者机器环境,最好 helm ctr 等环境命令正常使用方便获取

  • 购买国外机器
    自己动脑子

  • 配置对等环境
    根据自己的环境进行展开

国外集群环境展开

  • 迁移环境资源(helm3 资源为例)
# 查看是否存在可获取的 helm 资源
helm search repo stable/prometheus-operator
# 保存资源到本地
helm pull stable/prometheus-operator 
# 拷贝保存的 helm 资源tgz的包到国内集群环境中来(同理镜像或者其他资源的获取方式也是一样的)
K3s 集群 Helm3 国内(外)快速部署 Operator & Prometheus
image

Operator & Prometheus(国内)

# 查看走私过来的 helm 资源
[root@iZbp1dkn7wl6vz982n0ur0Z prometheus-operator]# pwd
/home/work/helm/prometheus-operator
[root@iZbp1dkn7wl6vz982n0ur0Z prometheus-operator]# ls 
prometheus-11.12.1.tgz  prometheus-operator-9.3.2.tgz

# 创建资源部署的 namespace
kubectl create ns monitoring

# 安装 prometheus-operator
helm install -n monitoring prometheus-operator prometheus-operator-9.3.2.tgz

# 安装 prometheus
helm install -n monitoring prometheus prometheus-11.12.1.tgz
K3s 集群 Helm3 国内(外)快速部署 Operator & Prometheus
image
服务暴露
kubectl get svc -n monitoring
kubectl get pod -n monitoring
# 暴露 nodeport 端口
kubectl patch svc prometheus-operator-grafana -p '{"spec":{"type":"NodePort"}}' -n monitoring
kubectl patch svc prometheus-operator-prometheus -p '{"spec":{"type":"NodePort"}}' -n monitoring
K3s 集群 Helm3 国内(外)快速部署 Operator & Prometheus
image

查看访问方式:

[root@iZbp1dkn7wl6vz982n0ur0Z prometheus-operator]# kubectl get svc -n monitoring
NAME                                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
prometheus-operator-kube-state-metrics         ClusterIP   10.43.66.146            8080/TCP                     141m
prometheus-operator-prometheus-node-exporter   ClusterIP   10.43.197.150           9100/TCP                     141m
prometheus-operator-operator                   ClusterIP   10.43.54.22             8080/TCP,443/TCP             141m
prometheus-operator-alertmanager               ClusterIP   10.43.159.53            9093/TCP                     141m
alertmanager-operated                          ClusterIP   None                    9093/TCP,9094/TCP,9094/UDP   141m
prometheus-operated                            ClusterIP   None                    9090/TCP                     141m
prometheus-node-exporter                       ClusterIP   None                    9100/TCP                     3m42s
prometheus-alertmanager                        ClusterIP   10.43.33.242            80/TCP                       3m42s
prometheus-pushgateway                         ClusterIP   10.43.142.233           9091/TCP                     3m42s
prometheus-server                              ClusterIP   10.43.96.106            80/TCP                       3m42s
prometheus-kube-state-metrics                  ClusterIP   10.43.23.59             8080/TCP                     3m42s
prometheus-operator-grafana                    NodePort    10.43.61.248            80:30901/TCP                 141m
prometheus-operator-prometheus                 NodePort    10.43.198.34            9090:31559/TCP               141m
K3s 集群 Helm3 国内(外)快速部署 Operator & Prometheus
image
K3s 集群 Helm3 国内(外)快速部署 Operator & Prometheus
image

grafana 需要登录才能查看,账号密码

账号: admin
密码:
kubectl get secret --namespace monitoring  prometheus-operator-grafana -o jsOnpath="{.data.admin-password}" | base64 --decode ; echo

说明:
Grafana 访问入口:http://your_vhost_ip:30901
Prometheus 访问入口:http://your_vhost_ip:31559。

扩展阅读

实际上我们访问到了想要的服务,但是因为我本地端口占用冲突了,其实 node-export 没有开始采集我们期望的数据,我就不展开端口占用的问题的处理了哈!
往往我更喜欢使用 ingress 暴露类似这种 http 的应用访问服务的,为了操作便捷,我通过 nodeport 的方式进行了服务暴露,其实方式和之前的教程完全类似的,没必要重复。
国内和国外的 helm 源可以看到有很大不同,所以在处理兼容和资源获取问题上,国内的开发人员往往需要多花点心思才能达到目的呦!


推荐阅读
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
author-avatar
KING逊咖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有