在 Kubernetes 中使用 Helm 3.0 进行简单的安装
由于Kubernetes的应用安装工具Helm已经升级到v3,且移除了Tiller,因此操作方式发生了变化,我决定尝试一下。
本次安装Elasticsearch和Kibana。使用的环境是Windows的Docker桌面附带的Kubernetes。
1. 安装Helm
1.1 安装Helm
在Windows操作系统中,可以使用Chocolatey来进行安装。有关Chocolatey的安装方法,请参考下面的链接:
https://chocolatey.org/install
安装Chocolatey后,可以通过命令提示符或PowerShell等控制台安装Helm。
> choco install -y kubernetes-helm
搜索1.2图表(必备应用程序的集合)
在Helm中,将必要的应用程序(容器)集合称为Chart。
可以使用search repo命令来搜索目标Chart。
> helm search repo Chart名
2. 使用Helm安装Elasticsearch。
搜索Elasticsearch图表
在helm上搜索目标为Elasticsearch的项目。
# ElasticsearchのChart検索
> helm search repo Elasticsearch
本次安装的是最新版本的bitnami/elasticsearch。
将显示的URL输入到浏览器中。
2.2 注册存储库并安装图表
输入下面所示的命令。
# レポジトリの登録(Chartのインストールに必要)
> helm repo add bitnami https://charts.bitnami.com
> helm repo add stable https://kubernetes-charts.storage.googleapis.com
# Elasticsearch Chartのインストール(設定なし)
> helm install elasticsearch bitnami/elasticsearch
为了更改设置,首先卸载了以Elasticsearch为名的bitnami/elasticsearch。
helm delete elasticsearch
3. 更改图表设置(安装Kibana)
将Chart(应用程序组合)的设置导出到文件中。
helm inspect values bitnami/elasticsearch > config.yml
在config.yml文件的第14行中,将global中的kibanaEnabled的false改为true。
这样就可以同时安装Elasticsearch和Kibana。
kibanaEnabled: true
在应用更改的设置后,安装Elasticsearch图表,并同时安装Kibana。
> helm install elasticsearch bitnami/elasticsearch -f config.yml
通过命令提示符或PowerShell等控制台,输入以下内容可将Kibana服务本地端口转发。
> kubectl port-forward svc/elasticsearch-kibana 80:80
如果单独将Kibana和Elasticsearch安装为容器,由于DNS的关系,很难让Kibana在容器中识别Elasticsearch。但是如果使用Helm,各种容器都被打包起来,可以轻松处理。
使用Ingress将Elasticsearch公开在本地主机上,并通过端口转发使用Kibana的除80端口以外的端口,是否是最佳选择呢?
由于Elasticsearch采用层次结构方式识别,与Ingress不兼容。如果Ingress能指定除80端口以外的端口就很方便了……。
由于Elasticsearch和Kibana的开源版本难以导入外部数据,因此可能会添加Embulk或Fluentd的相关补充说明。
(通常的CSV导入功能需要付费版的Kibana)
以上 (yǐ