k8s搭建Elastic

1. 实验环境

两台阿里云服务器,部署了k8s 1.16集群。

2. 安装Elastic Cloud

kubectl apply -f https://download.elastic.co/downloads/eck/1.0.0-beta1/all-in-one.yaml

3. 部署Elasticsearch

cat <<EOF | kubectl apply -f -
apiVersion: elasticsearch.k8s.elastic.co/v1beta1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 7.4.0
  nodeSets:
  - name: default
    count: 1
    config:
      node.master: true
      node.data: true
      node.ingest: true
      node.store.allow_mmap: false
EOF

4. 部署Kibana

cat <<EOF | kubectl apply -f -
apiVersion: kibana.k8s.elastic.co/v1beta1
kind: Kibana
metadata:
  name: quickstart
spec:
  version: 7.4.0
  count: 1
  elasticsearchRef:
    name: quickstart
EOF

5. 创建PV

原本的配置中只给出了PVC,需要手动在节点上创建PV才可以,否则将一直处于Pending状态

apiVersion: v1
kind: PersistentVolume
metadata:
  name: elastic-pv-volume
  labels:
    type: local
spec:
  storageClassName:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/root/elastic/elastic-pv"

创建PV之后,PVC会自动寻找进行绑定

6. 设置远程访问

6.1 设置集群的安全组

需要将端口5601和端口9200开放

6.2 设置端口转发

设置Elasticsearch的端口访问:

kubectl port-forward service/quickstart-es-http 9200 &

设置Kibana的端口访问:

kubectl port-forward service/quickstart-kb-http 5601 &

6.3 获取访问密码

PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode)
echo $PASSWORD

输出的字符串即为访问时需要输入的密码,账户都为elastic

7. 验证

在远端的浏览器输入:https://xxx.xxx.xxx.xxx:9200 访问elasticsearch
或者输入:https://xxx.xxx.xxx.xxx:5601 访问kibana
账号名为elastic
密码为输出的PASSWORD字符串
访问es成功:
在这里插入图片描述
访问kb成功:
在这里插入图片描述

k8s集群验证:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 11507872 查看本文章

猜你喜欢

转载自blog.csdn.net/RivenDong/article/details/103427577