阳明的博客


关注容器、kubernetes、istio、devops、python、golang等~~~

阳明的博客


关注容器、kubernetes、istio、devops、python、golang等~~~

21天入门机器学习

小白入行 AI 的必修课

21天入门机器学习

AI 时代,大家都对各种人工智能岗位充满好奇和憧憬,但普遍都不了解,各个岗位具体是做什么工作的。在这里给大家打个比喻,虽然不太恰当,但非常形象!

  • 做算法是屠龙,仗剑江湖,天外飞仙;
  • 做工程是狩猎,跃马奔腾,纵酒狂歌;
  • 做数据是养猪,每天拌猪食清猪粪,一脸土一身泥。

AI 原本是一个专业领域,没什么特别的。作为码农一枚,笔者的工作内容正好在这个领域。

[Read More]

Kubernetes 部署策略详解

Kubernetes中有几种不同的方式发布应用,所以为了让应用在升级期间依然平稳提供服务,选择一个正确的发布策略就非常重要了。

选择正确的部署策略是要依赖于我们的业务需求的,下面我们列出了一些可能会使用到的策略:

  • 重建(recreate):停止旧版本部署新版本

  • 滚动更新(rolling-update):一个接一个地以滚动更新方式发布新版本

  • 蓝绿(blue/green):新版本与旧版本一起存在,然后切换流量

  • 金丝雀(canary):将新版本面向一部分用户发布,然后继续全量发布

  • A/B测(a/b testing):以精确的方式(HTTP 头、cookie、权重等)向部分用户发布新版本。A/B测实际上是一种基于数据统计做出业务决策的技术。在 Kubernetes 中并不原生支持,需要额外的一些高级组件来完成改设置(比如Istio、Linkerd、Traefik、或者自定义 Nginx/Haproxy 等)。

[Read More]

Helm monitor 插件(附视频)

Helm release 基于日志或监控的自动回滚

helm monitor 使用Helm可以很方便的部署 Kubernetes 应用,但是如果对于线上的应用部署或者更新后出现了问题,要及时回滚到之前的版本该如何去做呢?当然我们可以手动通过kubectl rollout去进行控制,但是难免需要手动去操作。今天给大家介绍一个 Helm 的插件 Helm monitro,通过监听 Prometheus 或 ElasticSearch 监控或者日志数据,在发生故障时自动回滚 release。

[Read More]

Istio 实训免费视频课程

istio

Istio,是一个由 Google,Lyft,IBM 联合开发的开源项目,是服务网格(Service Mesh)技术的一个标准化的开源实现,致力于解决应用的微服务化组件之间的连接控制与安全、流量管理与可观测性。Istio 是云原生领域在 Kubernetes 之后最受关注的项目,帮助容器技术实践者从基础设施层的“容器编排“进阶到应用层的“服务治理”。Istio 先天与 Kubernetes 无缝衔接,了解并使用 Istio 可以极大地提升研发和运维的工作效率。

[Read More]

在 Kubernetes 上搭建 EFK 日志收集系统

上节课和大家介绍了 Kubernetes 集群中的几种日志收集方案,Kubernetes 中比较流行的日志收集解决方案是 ElasticsearchFluentdKibana(EFK)技术栈,也是官方现在比较推荐的一种方案。

Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。

Elasticsearch 通常与 Kibana 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。

Fluentd是一个流行的开源数据收集器,我们将在 Kubernetes 集群节点上安装 Fluentd,通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到 Elasticsearch 集群,在该集群中对其进行索引和存储。

[Read More]

办公环境下 kubernetes 网络互通方案

office-env-k8s-network

在 kubernetes 的网络模型中,基于官方默认的 CNI 网络插件 Flannel,这种 Overlay Network(覆盖网络)可以轻松的实现 pod 间网络的互通。当我们把基于 spring cloud 的微服务迁移到 k8s 中后,无须任何改动,微服务 pod 可以通过 Eureka 注册后可以互相轻松访问。除此之外,我们可以通过 ingress + ingress controller ,在每个节点上,把基于 http 80端口、https 443端口的用户请求流量引入到集群服务中。

[Read More]

Prometheus 删除数据指标

有的时候我们可能希望从 Prometheus 中删除一些不需要的数据指标,或者只是单纯的想要释放一些磁盘空间。Prometheus 中的时间序列只能通过 HTTP API 来进行管理。

[Read More]