helm简介、安装、使用

Helm简介

利用Kubernetes部署一个应用,需要Kubernetes原生资源文件如deployment、replicationcontroller、service或pod 等。而对于一个复杂的应用,会有很多类似上面的资源描述文件,如果有更新或回滚应用的需求,可能要修改和维护所涉及的大量资源文件,且由于缺少对发布过的应用版本管理和控制,使Kubernetes上的应用维护和更新等面临诸多的挑战,而Helm可以帮我们解决这些问题。

Helm架构

Helm基本架构如下:

helm_arch.jpg

Helm用途

做为Kubernetes的一个包管理工具,Helm具有如下功能:

  • 创建新的chart
  • chart打包成tgz格式
  • 上传chart到chart仓库或从仓库中下载chart
  • 在Kubernetes集群中安装或卸载chart
  • 管理用Helm安装的chart的发布周期

Helm有三个重要概念:

  1. chart:包含了创建Kubernetes的一个应用实例的必要信息
  2. config:包含了应用发布配置信息
  3. release:是一个chart及其配置的一个运行实例

Continue reading “helm简介、安装、使用”

开启crontab日志功能

修改rsyslog

重启rsyslog

查看crontab日志

Continue reading “开启crontab日志功能”

filebeat相关语法命令

Filebeat提供了一个用于运行Beat和执行常见任务的命令行界面,如测试配置文件和加载仪表板。 命令行还支持用于控制全局行为的全局标志。

常用的filebeat命令:

-E, --E "SETTING_NAME=VALUE"

覆盖特定的配置设置。 您可以指定多个覆盖。 例如:

此设置适用于当前正在运行的Filebeat进程。 Filebeat配置文件不会更改。

-M, --M "VAR_NAME=VALUE"

覆盖Filebeat模块的默认配置。 您可以指定多个变量覆盖。 例如:

-c, --c FILE

指定用于Filebeat的配置文件。 你在这里指定的文件是相对于path.config。 如果未指定-c标志,则使用默认配置文件filebeat.yml(Ubuntu下默认为 /etc/filebeat/filebeat.yml)。需要注意的是,配置文件的权限必须为644,并且拥有者必须为root。

-d, --d SELECTORS

启用对指定选择器的调试。 对于选择器,可以指定逗号分隔的组件列表,也可以使用-d“*”为所有组件启用调试。 例如,-d “publish” 显示所有 “publish” 相关的消息。

-e, --e

记录到stderr并禁用syslog /文件输出。

-v, --v

记录INFO级别的消息。 Continue reading “filebeat相关语法命令”

logrotate日志管理工具

日志实在是太有用了,它记录了程序运行时各种信息。通过日志可以分析用户行为,记录运行轨迹,查找程序问题。可惜磁盘的空间是有限的,就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。为了节省空间和整理方便,日志文件经常需要按时间或大小等维度分成多份,删除时间久远的日志文件。这就是通常说的日志滚动(log rotation)。

最近整理nginx日志,用了一个类Unix系统上的古老工具——logrotate,发现意外的好用。想了解这个工具的用法推荐看这里。我了解了一下这个工具的运行机制和原理,觉得挺有趣的。 Continue reading “logrotate日志管理工具”

全文搜索引擎 Elasticsearch 教程

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。

本文从零开始,讲解如何使用 Elastic 搭建自己的全文搜索引擎。每一步都有详细的说明,大家跟着做就能学会。 Continue reading “全文搜索引擎 Elasticsearch 教程”

使用docker安装kibana

使用dockerhub镜像运行:

其中指定的ES地址为docker虚拟IP地址,172.17.0.1为宿主docker虚拟IP地址,当然也可以指定对应ES容器的IP地址。

随后打开 http://127.0.0.1:5061/ ,可以看到kibana界面。 Continue reading “使用docker安装kibana”

使用docker安装ElasticSearch

方案一:使用dockerhub镜像

成功后访问:http://127.0.0.1:9200,该镜像默认不需要任何账号密码验证。

方案二:使用elastic镜像

具体请参考官方网站手册:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docker.html

开发环境可以通过以下命令执行ES:

成功后访问:http://127.0.0.1:9200,默认账号密码:elastic/changeme

Continue reading “使用docker安装ElasticSearch”

Kafka常用命令

启动命令

启动kafka很简单,配置好前置的操作后,先进入zookeeper的目录下,启动zookeeper

启动后结果如下所示,就代表命令执行成功了:

PS:因为kafka是需要注册在zookeeper上面,通过zookeeper进行管理和调度的,所以启动kafka之前,我们必须要启动zookeeper。

随后我们进入Kafka目录下,启动kafka,具体操作命令如下所示:

看到没有报错之后kafka就是已经成功被运行了,当然可以jps -lm查看一下,操作命令如下:

可以看到zookeeper和kafka都已经运行起来了,当然这个是单机的命令,集群的命令后面再讲。 
这样启动又一个坏处,就是kafka启动完毕之后,不能关闭终端,为此,我们可以运行这条命令:

运行结果:

多个kafka的话,在各个虚拟机上运行kafka启动命令多次即可。 Continue reading “Kafka常用命令”