foreword
Because my website needs to do full-text search function, I use mongodb as the database, but considering that the amount of data in the later stage is very large and the user experience has to keep up, so I am going to start elasticsearch as my on-site search, and now share it with Everyone.
Install
Friends who have read my article should know that helm3 has been used to install redis and rabbitmq before, so the routine is the same, let's search elasticsearch and kibana first.
Order:
helm search repo elasticsearch
helm search repo kibana
output:
NAME CHART VERSION APP VERSION DESCRIPTION
bitnami/elasticsearch 18.2.9 8.2.2 Elasticsearch is a distributed search and analy...
elastic/elasticsearch 7.17.3 7.17.3 Official Elastic helm chart for Elasticsearch
stable/elasticsearch 1.32.5 6.8.6 DEPRECATED Flexible and powerful open source, d...
stable/elasticsearch-curator 2.2.3 5.7.6 DEPRECATED A Helm chart for Elasticsearch Curator
stable/elasticsearch-exporter 3.7.0 1.1.0 Elasticsearch stats exporter for Prometheus
bitnami/dataplatform-bp2 12.0.3 1.0.1 This Helm chart can be used for the automated d...
bitnami/grafana 7.6.5 8.3.4 Grafana is an open source, feature rich metrics...
bitnami/kibana 10.1.9 8.2.2 Kibana is an open source, browser based analyti...
elastic/eck-operator 2.2.0 2.2.0 A Helm chart for deploying the Elastic Cloud on...
stable/apm-server 2.1.7 7.0.0 DEPRECATED The server receives data from the El...
stable/dmarc2logstash 1.3.1 1.0.3 DEPRECATED Provides a POP3-polled DMARC XML rep...
stable/elastabot 1.2.1 1.1.0 DEPRECATED A Helm chart for Elastabot - a Slack...
stable/elastalert 1.5.1 0.2.4 DEPRECATED ElastAlert is a simple framework for...
stable/fluentd 2.5.3 v2.4.0 DEPRECATED A Fluentd Elasticsearch Helm chart f...
stable/kibana 3.2.7 6.7.0 Kibana is an open source data visualization plu...
elastic/eck-operator-crds 2.2.0 2.2.0 A Helm chart for installing the ECK operator Cu...
NAME CHART VERSION APP VERSION DESCRIPTION
bitnami/kibana 10.1.9 8.2.2 Kibana is an open source, browser based analyti...
elastic/kibana 7.17.3 7.17.3 Official Elastic helm chart for Kibana
stable/kibana 3.2.7 6.7.0 Kibana is an open source data visualization plu...
elastic/eck-operator 2.2.0 2.2.0 A Helm chart for deploying the Elastic Cloud on...
bitnami/dataplatform-bp2 12.0.3 1.0.1 This Helm chart can be used for the automated d...
elastic/eck-operator-crds 2.2.0 2.2.0 A Helm chart for installing the ECK operator Cu...
Then find the repo you want and pull it down. For example, I chose bitnami/elasticsearch and bitnami/kibana here, and then enter the following command:
Order:
helm pull bitnami/elasticsearch
helm pull bitnami/kibana
After downloading, we first open the values.yaml file of elasticsearch. After checking, we set the configuration we want as follows:
elasticsearch values.yaml
global:
storageClass: "alicloud-cnfs-nas"
elasticsearch:
service:
name: elasticsearch
ports:
restAPI: 9200
kibanaEnabled: false
service:
type: NodePort
master:
replicaCount: 1
data:
replicaCount: 1
coordinating:
replicaCount: 1
ingest:
replicaCount: 1
Note: Because I am using Alibaba Cloud's K8S, I use alicloud-cnfs for storageClass. The previous article mentioned how to install it. If you are interested, you can go and check it out. After that, I use 1 for the copy. The reason is also to save money. resource.
After the configuration is complete, let's install it. The command is as follows:
helm install -f test-values.yaml test-elasticsearch bitnami/elasticsearch --namespace elasticsearch
output:
NAME: test-elasticsearch
LAST DEPLOYED: Wed Jun 15 10:11:40 2022
NAMESPACE: elasticsearch
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: elasticsearch
CHART VERSION: 18.2.10
APP VERSION: 8.2.2
-------------------------------------------------------------------------------
WARNING
Elasticsearch requires some changes in the kernel of the host machine to
work as expected. If those values are not set in the underlying operating
system, the ES containers fail to boot with ERROR messages.
More information about these requirements can be found in the links below:
https://www.elastic.co/guide/en/elasticsearch/reference/current/file-descriptors.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html
This chart uses a privileged initContainer to change those settings in the Kernel
by running: sysctl -w vm.max_map_count=262144 && sysctl -w fs.file-max=65536
** Please be patient while the chart is being deployed **
Elasticsearch can be accessed within the cluster on port 9200 at test-elasticsearch.elasticsearch.svc.cluster.local
To access from outside the cluster execute the following commands:
export NODE_PORT=$(kubectl get --namespace elasticsearch -o jsonpath="{.spec.ports[0].nodePort}" services test-elasticsearch)
export NODE_IP=$(kubectl get nodes --namespace elasticsearch -o jsonpath="{.items[0].status.addresses[0].address}")
curl http://$NODE_IP:$NODE_PORT/
This is installed. Next, we get the IP and PORT through the following commands. The purpose is to access the elasticsearch we have installed.
# 获取端口
kubectl get --namespace elasticsearch -o jsonpath="{.spec.ports[0].nodePort}" services test-elasticsearch
# 获取IP
kubectl get nodes --namespace elasticsearch -o jsonpath="{.items[0].status.addresses[0].address}"
After completing the acquisition, we open the address and the following display will appear, which proves that the installation is successful.
{
"name" : "test-elasticsearch-coordinating-0",
"cluster_name" : "elastic",
"cluster_uuid" : "fd9jc0k3QY2E5wYHgcGNbA",
"version" : {
"number" : "8.2.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "9876968ef3c745186b94fdabd4483e01499224ef",
"build_date" : "2022-05-25T15:47:06.259735307Z",
"build_snapshot" : false,
"lucene_version" : "9.1.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
After installation, let's install kibana, similar to installing elasticsearch, let's configure the values.yaml file from the pull
service:
type: NodePort
elasticsearch:
hosts: [your-elasticsearch-ip]
port: your-elasticsearch-port
persistence:
storageClass: "alicloud-cnfs-nas"
size: 10Gi
After configuration, we execute the following command:
helm install -f test-values.yaml test-kibana bitnami/kibana --namespace elasticsearch
output:
NAME: test-kibana
LAST DEPLOYED: Wed Jun 15 21:55:26 2022
NAMESPACE: elasticsearch
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: kibana
CHART VERSION: 10.1.9
APP VERSION: 8.2.2
** Please be patient while the chart is being deployed **
1. Get the application URL by running these commands:
export NODE_PORT=$(kubectl get --namespace elasticsearch -o jsonpath="{.spec.ports[0].nodePort}" services test-kibana)
export NODE_IP=$(kubectl get nodes --namespace elasticsearch -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
WARNING: Kibana is externally accessible from the cluster but the dashboard does not contain authentication mechanisms. Make sure you follow the authentication guidelines in your Elastic stack.
+info https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-up-authentication.html
This is installed. Next, we get the IP and PORT through the following commands. The purpose is to access the elasticsearch we have installed.
# 获取端口
kubectl get --namespace elasticsearch -o jsonpath="{.spec.ports[0].nodePort}" services test-kibana
# 获取IP
kubectl get nodes --namespace elasticsearch -o jsonpath="{.items[0].status.addresses[0].address}"
After completing the acquisition, we open the address and the following display will appear, which proves that the installation is successful, and now start your elasticsearch journey.
Summarize
1. Bitnami/elasticsearch has integrated kibana, it depends on whether you want to use the integrated or independent
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。