K8S系列文章之 Traefik快速入门
traefik
与nginx
一样,是一款优秀的反向代理工具,或者叫Edge Router
。至于使用它的原因则基于以下几点
- 无须重启即可更新配置
- 自动的服务发现与负载均衡
- 与
docker
的完美集成,基于container label
的配置- 漂亮的
dashboard
界面metrics
的支持,对prometheus
和k8s
的集成
快速开始
一个使用 Docker 的简单示例
使用 Docker Provider 启动 Traefik
创建一个 docker-compose.yml
文件,你将在其中定义一个使用官方的 Traefik 镜像的反向代理服务:
已复制version: '3'services:reverse-proxy:# 官方的 Traefik 2.0 Docker 镜像image: traefik:v2.0# 开启 web UI 并且告诉 Traefik 监听 Dockercommand: --api.insecure=true --providers.dockerports:# HTTP 端口- "80:80"# Web UI 端口(通过 --api.insecure=true 启用)- "8080:8080"volumes:# 这样 Traefik 可以监听 Docker 事件- /var/run/docker.sock:/var/run/docker.sock
就这样现在就可以启动 Traefik 了!
使用以下命令启动你的反向代理
服务:
docker-compose up -d reverse-proxy
然后可以打开浏览器,访问 http://localhost:8080/api/rawdata 接口来查看 Traefik 的 API 原始数据。
Traefik 检查新服务并创建路由
现在我们已经启动并运行了 Traefik 实例,接下来我们来部署一个新的服务,添加到上面的 docker-compose.yml
文件:
# ...whoami:# 一个通过 API 暴露其 IP 地址的容器image: containous/whoamilabels:- "traefik.http.routers.whoami.rule=Host(`whoami.docker.localhost`)"
上面我们定义了 whoami
:一个简单的 web 服务,它会输出部署的机器的相关信息(IP 地址、主机等等)。然后我们可以使用以下命令启动 whoami
服务:
docker-compose up -d whoami
启动完成后,然后返回浏览器,查看 http://localhost:8080/api/rawdata 接口的数据,正常就可以看到 Traefik 已自动检测到新容器并更新了相应的配置。
当 Traefik 检测到新服务时,它会创建相应的路由,然后我们可以访问相应的路由(我们这里使用 curl):
curl -H Host:whoami.docker.localhost http://127.0.0.1
然后会输出如下的一些信息:
Hostname: 3cca68434466
IP: 127.0.0.1
IP: 172.21.0.3
#...
更多实例?Traefik 对他们进行负载均衡
我们可以使用以下命令来对 whoami
服务进行扩容:
docker-compose up -d --scale whoami=2
扩容完成后可以查看当前我们的服务运行的容器状况:
docker-compose psName Command State Ports
-----------------------------------------------------------------------------------------------------------------
quick-start_reverse-proxy_1 /entrypoint.sh --api.insec ... Up 0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp
quick-start_whoami_1 /whoami Up 80/tcp
quick-start_whoami_2 /whoami Up 80/tcp
同样返回到浏览器中查看 http://localhost:8080/api/rawdata 接口可以看到 Traefik 已经自动检查到了新的容器实例。
最后,我们运行以下命令两次,查看 Traefik 在两个实例之间的负载均衡:
curl -H Host:whoami.docker.localhost http://127.0.0.1
我们可以在输出信息中看到如下交替的信息显示:
Hostname: a656c8ddca6c
IP: 172.27.0.3
#...
Hostname: s458f154e1f1
IP: 172.27.0.4
# ...
不过,最后不要忘记了还可以去查看下 Traefik 的 Web UI,通过访问 http://localhost:8080 即可:
相关文章:

K8S系列文章之 Traefik快速入门
traefik 与 nginx 一样,是一款优秀的反向代理工具,或者叫 Edge Router。至于使用它的原因则基于以下几点 无须重启即可更新配置自动的服务发现与负载均衡与 docker 的完美集成,基于 container label 的配置漂亮的 dashboard 界面metrics 的支…...

RabbitMQ在CentOS下的安装
RabbitMQ的版本是3.8.2 1.环境配置:CentOs 7.6以上版本,我的版本是7.9,不要对yum换源,否则可能会安装失败。 echo "export LC_ALLen_US.UTF-8" >> /etc/profile source /etc/profile 以上命令,是…...

为什么金鸣识别不做成离线版?
来百度APP畅享高清图片 在众多的用户咨询中,金鸣识别客服常常会被用户问及为何不做成离线版的问题,下面我就在这里跟大伙说说其中的原因吧。 离线版的OCR准确率相对于网络版可能会较低,主要有以下几个原因: 1. 数据量和模型更新…...

什么是面向对象
目录 对象: 举例: 封装: 好处: 继承: 多态: 类和对象之间的关系 对象: 把一个东西看成对象,我们就可以孤立的审查它的性质,行为,进而研究它和其他对象的关系。 对象是一个应用系统中用…...

记一次前端直接上传图片到oss报错
前端直接上传图片到阿里云oss,相关过程官网和网上资料已经很详细,不做赘述。 但这个过程比较复杂,前后端对接过程中很容易出现报错,这里遇到了以下报错,不容易排查。 请求显示net::ERR_NAME_NOT_RESOLVED错误,catch输…...
数据库管理-第九十八期 统计信息是多么重要(20230812)
数据库管理-第九十八期 统计信息是多么重要(20230812) 每天通过EM可视化巡视数据库执行情况,发现那些执行比较长的语句要么是索引没用上、要么是索引没建。但更多的是发现执行计划中“估计的行数”与“行数”(执行的)…...

山西电力市场日前价格预测【2023-08-13】
日前价格预测 预测明日(2023-08-13)山西电力市场全天平均日前电价为351.64元/MWh。其中,最高日前电价为404.00元/MWh,预计出现在19: 30。最低日前电价为306.39元/MWh,预计出现在13: 15。 价差方向预测 1: 实…...

AtCoder Beginner Contest 313D题题解
文章目录 [ Odd or Even](https://atcoder.jp/contests/abc313/tasks/abc313_d)问题建模问题分析1.分析每次查询的作用2.利用异或运算的性质设计查询方法 Odd or Even 问题建模 有n个数,每个数为0或者1,最多可以进行n次询问,每次询问选择k个…...
mybatis 中的<![CDATA[ ]]>用法及说明
<![CDATA[ ]]>作用 <![CDATA[ ]]> 在mybatis、ibatis等书写SQL的xml中比较常见,是一种XML语法,他的作用是 可以忽略xml的转义(在该标签中的语句和字符原本是什么样的,在拼接成SQL后还是什么样的) 使用&a…...
从零学算法34
34.给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1࿱…...

qiankun-微前端--vue2
项目结构 主应用技术: vue2 子应用技术:vue2 项目目录 这里是特意将主子项目分开来的,方便管理 主应用 安装 qiankun npm install qiankun重新定义一个启动端口,防止和其它子应用共用同一个端口(vue.config.js&…...

Win7累积补丁更新包_UpdatePack7R2-23.8.10
UpdatePack7是最新的Win7补丁累积更新包,Windows 7更新补丁安装包,Win7累积更新离线安装包包括所有关键更新和安全更新及Internet Explorer所有版本的更新,此外还集成了NVMe驱动和USB3.0驱动,使用它还可以将累积更新封装到系统内&…...

【二叉树】1-5,理论基础、前中后序遍历的递归法和迭代法、层序遍历
理论基础、前中后序遍历的递归法和迭代法、层序遍历 1,二叉树的种类满二叉树完全二叉树二叉搜索树平衡二叉搜索树 2,存储方式链式存储线式存储 3,二叉树的遍历深度优先搜索前序遍历(递归法、迭代法)中序遍历࿰…...

Mybatis-plus动态条件查询QueryWrapper的使用
Mybatis-plus动态条件查询QueryWrapper的使用 一:queryWrapper介绍 queryWrapper是mybatis plus中实现查询的对象封装操作类,可以封装sql对象,包括where条件,order by排序,select哪些字段等等,他的层级关…...

Redis安装配置远程连接
1. yum 安装 redis: 直接使用命令,将 redis 安装到 linux 服务器中: yum -y install redis 2. 启动 redis: 在 xshell 里,可以使用下面命令,以后台方式启动 redis: [rootVM-8-17-centos /]…...

pycharm中配置conda
安装好pycharm和conda后,打开pycharm:...

matlab解常微分方程常用数值解法1:前向欧拉法和改进的欧拉法
总结和记录一下matlab求解常微分方程常用的数值解法,本文先从欧拉法和改进的欧拉法讲起。 d x d t f ( x , t ) , x ( t 0 ) x 0 \frac{d x}{d t}f(x, t), \quad x\left(t_{0}\right)x_{0} dtdxf(x,t),x(t0)x0 1. 前向欧拉法 前向欧拉法使用了泰勒展开的第…...

SQL | 计算字段
7-创建计算字段 7.1-计算字段 存储在数据库中的数据一般不是我们所需要的字段格式, 需要公司名称,同时也需要公司地址,但是这两个数据存储在不同的列中。 省,市,县和邮政编码存储在不同的列中,但是当我们…...
leetcode做题笔记67
给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 思路一:模拟题意 void reserve(char* s) {int len strlen(s);for (int i 0; i < len / 2; i) {char t s[i];s[i] s[len - i - 1], s[len - i - 1] t;} }char* addBinary(cha…...

fastadmin 自定义搜索分类和时间范围
1.分类搜索,分类信息获取----php 2.对应html页面,页面底部加搜索提交代码(这里需要注意:红框内容) 图上代码----方便直接复制使用 <script id"countrySearch" type"text/html"><!--form…...
“组件、路由懒加载”,在 Vue3 和 React 中分别如何实现? (copy)
Vue3 和 React 组件懒加载实现方式 React 中组件懒加载的实现方式 React 提供了 React.lazy 和 Suspense 两个 API 来实现组件的懒加载。React.lazy 用于动态导入组件,而 Suspense 则用于指定加载过程中的占位内容。例如,可以通过以下代码实现懒加载&a…...

[概率论基本概念4]什么是无偏估计
关键词:Unbiased Estimation 一、说明 对于无偏和有偏估计,需要了解其叙事背景,是指整体和抽样的关系,也就是说整体的叙事是从理论角度的,而估计器原理是从实践角度说事;为了表明概率理论(不可…...

零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件准备 2.3 驱动检查 3 TCP服务器通信配置与交互 3.1 硬件连接 3.2 开启TCP服务器 3.3 打开配置工具读取基本信息 3.4 填写连接参数进行连接 3.5 通信测试 4 总结 1 前言 TCP是TCP/IP体系中的传输层协议,全称为Transmiss…...

【LLM】多智能体系统 Why Do Multi-Agent LLM Systems Fail?
note 构建一个成功的 MAS,不仅仅是提升底层 LLM 的智能那么简单,它更像是在构建一个组织。如果组织结构、沟通协议、权责分配、质量控制流程设计不当,即使每个成员(智能体)都很“聪明”,整个系统也可能像一…...

使用矩阵乘法+线段树解决区间历史和问题的一种通用解法
文章目录 前言P8868 [NOIP2022] 比赛CF1824DP9990/2020 ICPC EcFinal G 前言 一般解决普通的区间历史和,只需要定义辅助 c h s − t ⋅ a chs-t\cdot a chs−t⋅a, h s hs hs是历史和, a a a是区间和, t t t是时间戳,…...

C#子线程更新主线程UI及委托回调使用示例
1.声明线程方法 2.线程中传入对象 3.声明委托与使用 声明委托对象 委托作为参数传入方法 4.在线程中传入委托 5.调用传入的委托...

【机器学习】支持向量机实验报告——基于SVM进行分类预测
目录 一、实验题目描述 二、实验步骤 三、Python代码实现基于SVM进行分类预测 四、我的收获 五、我的感受 一、实验题目描述 实验题目:基于SVM进行分类预测 实验要求:通过给定数据,使用支持向量机算法(SVM)实现分…...

向 AI Search 迈进,腾讯云 ES 自研 v-pack 向量增强插件揭秘
作者:来自腾讯云刘忠奇 2025 年 1 月,腾讯云 ES 团队上线了 Elasticsearch 8.16.1 AI 搜索增强版,此发布版本重点提升了向量搜索、混合搜索的能力,为 RAG 类的 AI Search 场景保驾护航。除了紧跟 ES 官方在向量搜索上的大幅优化动…...

新能源汽车热管理核心技术解析:冬季续航提升40%的行业方案
新能源汽车热管理核心技术解析:冬季续航提升40%的行业方案 摘要:突破续航焦虑的关键在热能循环! 👉 本文耗时72小时梳理行业前沿方案,含特斯拉/比亚迪等8家车企热管理系统原理图 一、热管理为何成新能源车决胜关键&am…...
Komiko 视频到视频功能炸裂上线!
Komiko 平台作为行业的创新先锋,近日宣布推出全新的视频到视频(Video-to-Video)功能,这一举措犹如一颗重磅炸弹,瞬间在漫画、动画和插画创作的世界里掀起了惊涛骇浪,进一步巩固了其作为 AI 驱动的一体化创作…...