0%

视频下载的痛点

很多时候,我们在youtube、youku、爱奇艺、腾讯视频、bilibili等视频平台看到了喜欢的视频,想要下载到本地,但是无法下载,要么必须要客户端才能下载。
好不容易下载到本地,对于不同平台下载的视频,还必须使用不同的客户端进行播放。
如果想要作为教学视频放到PPT中,还必须进行转码,不同平台还得寻找不同的转码方法。

太难了,好在一些前辈帮我们解决了这些问题,并且开发出了很多好用的工具。本文中,重点推荐两款个人在用的视频下载工具:youtube-dlyou-get

阅读全文 »

Helm简介

Helm is the best way to find, share, and use software built for Kubernetes.

helm是k8s的包管理工具,就像yum之于centos,apt之于ubuntu。不同的是,yum管理的是软件包,helm管理的是配置好的k8s资源包。这种配置好的k8s资源包,按照chart的包格式进行包装。以下是wordpress的chart包结构:

1
2
3
4
5
6
7
8
9
10
wordpress/
Chart.yaml # A YAML file containing information about the chart
LICENSE # OPTIONAL: A plain text file containing the license for the chart
README.md # OPTIONAL: A human-readable README file
requirements.yaml # OPTIONAL: A YAML file listing dependencies for the chart
values.yaml # The default configuration values for this chart
charts/ # A directory containing any charts upon which this chart depends.
templates/ # A directory of templates that, when combined with values,
# will generate valid Kubernetes manifest files.
templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes

Helm2包括两个组件:客户端(Helm Client)和服务端(Tiller)。Helm发送指令给Tiller(gRPC协议),Tiller主要用于管理各种应用发布的版本,并且与k8s进行交互。
不过,在 Helm3 中 Tiller 被移除掉了,Helm直接与k8s进行交互,版本相关的数据存储在k8s中。

更多内容,参考helm/helmHelm用户与开发者指南

阅读全文 »

前言

《Kubernetes Operator》一文中学习了Operator的基础,《Prometheus Blackbox exporter》一文中学习了blackbox exporter的安装配置。

而Prometheus Operator,顾名思义,是负责K8S中自动化管理Prometheus的Custom Controller。更多内容,参考coreos/prometheus-operator

本文中,我们研究的问题是:怎样利用Prometheus Operator,在Kubernetes集群中安装部署Prometheus,并且添加Blackbox exporter组件?

阅读全文 »

白盒监控和黑盒监控

我们监控主机的资源用量、容器的运行状态、数据库中间件的运行数据。这些都是支持业务和服务的基础设施,通过白盒能够了解其内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题,从而对潜在的不确定因素进行优化。而从完整的监控逻辑的角度,除了大量的应用白盒监控以外,还应该添加适当的黑盒监控。黑盒监控即以用户的身份测试服务的外部可见性,常见的黑盒监控包括HTTP探针、TCP探针等用于检测站点或者服务的可访问性,以及访问效率等。

黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为导向当故障发生时,黑盒监控能快速发现故障,而白盒监控则侧重于主动发现或者预测潜在的问题。一个完善的监控目标是要能够从白盒的角度发现潜在问题,能够在黑盒的角度快速发现已经发生的问题。

Prometheus Blackbox exporter允许通过HTTP,HTTPS,DNS,TCP和ICMP对端点进行黑盒探测。

更多内容,参考网络探测:Blackbox Exporterprometheus/blackbox_exporter

本文中,我们会安装blackbox exporter,并且使用http探针对一些接口进行探活。

阅读全文 »

Kubernetes Operator是啥?

Operators are software extensions to Kubernetes that make use of custom resources to manage applications and their components. Operators follow Kubernetes principles, notably the control loop.

Operator 是 Kubernetes 的扩展软件,通过自定义资源,管理应用及其组件。 Operator 遵循 Kubernetes 的理念,特别是在控制回路方面。

Kubernetes自定义资源包括Custom resources 和 Custom controllers。

Operator 模式旨在捕获(正在管理一个或一组服务的)运维人员的关键目标。负责特定应用和service的运维人员,在系统应该如何运行、如何部署以及出现问题时如何处理等方面有深入的了解。
在 Kubernetes 上运行工作负载的人们都喜欢通过自动化来处理重复的任务。Operator 模式会封装我们编写的(Kubernetes 本身提供功能以外的)任务自动化代码。

Operator可以自动化的事情包括:

  • 按需部署应用
  • 获取/还原应用状态的备份
  • 处理应用代码的升级以及相关改动。例如,数据库 schema 或额外的配置设置
  • 发布一个 service,要求不支持 Kubernetes API 的应用也能发现它
  • 模拟整个或部分集群中的故障以测试其稳定性
  • 在没有内部成员选举程序的情况下,为分布式应用选择首领角色

简单来说,Kubernetes实际是期望状态管理器,如果Kubernetes本身提供的功能无法达到期望状态,特别是对于有状态应用,那么就需要手动处理,而Operator可以使这种处理自动化。

更多内容,参考Operator 模式

本文中,将会学习编写一个Operator,并应用到k8s集群。

阅读全文 »