k8s部署elasticsearch8.13.3版本集群并安装ik分词器和kibana
创建svc
apiVersion: v1kind: Servicemetadata:name: elastic-svc #这里根据名称而定namespace: dev #根据所在命名空间labels:app: elastic-clusterspec:selector:app: elastic-clustertype: NodePortports:- name: rest-apiport: 9200protocol: TCPtargetPort: 9200nodePort: 30200- name: inter-nodeport: 9300protocol: TCPtargetPort: 9300nodePort: 30201
创建statefulset
apiVersion: apps/v1kind: StatefulSetmetadata:name: elastic-cluster #根据实际情况调整namespace: dev #根据所在命名空间labels:app: elastic-clusterspec:serviceName: elastic-svc #要跟上吗的service的名称对齐replicas: 3selector:matchLabels:app: elastic-clusterkubernetes.io/cluster-service: "true"template:metadata:labels:app: elastic-clusterkubernetes.io/cluster-service: "true"spec:initContainers:- name: fix-permissionsimage: busyboximagePullPolicy: IfNotPresentcommand: ["sh", "-c", "chown -R 1000:1000 /usr/share/elasticsearch/data"]securityContext:privileged: truevolumeMounts:- name: datamountPath: /usr/share/elasticsearch/data- name: localtimereadOnly: truemountPath: /etc/localtime- name: increase-vm-max-mapimage: busyboximagePullPolicy: IfNotPresentcommand: ["sysctl", "-w", "vm.max_map_count=262144"]securityContext:privileged: true- name: increase-fd-ulimitimage: busyboximagePullPolicy: IfNotPresentcommand: ["sh", "-c", "ulimit -n 65536"]volumes:- name: localtimehostPath:path: /etc/localtimetype: ''containers:- name: elasticsearchimage: elasticsearch:8.13.3-p12 #根据镜像所在位置进行调整imagePullPolicy: IfNotPresentports:- containerPort: 9200name: rest-apiprotocol: TCP- containerPort: 9300name: inter-nodeprotocol: TCPvolumeMounts:- name: datamountPath: /usr/share/elasticsearch/data- name: localtimereadOnly: truemountPath: /etc/localtimeenv:- name: node.namevalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.name#- name: discovery.zen.minimum_master_nodes# value: "2"- name: discovery.seed_hostsvalue: "elastic-svc" #要跟上吗的service名称对齐- name: cluster.initial_master_nodesvalue: "elastic-cluster-0,elastic-cluster-1,elastic-cluster-2" #根据集群名称进行调整- name: ES_JAVA_OPTSvalue: "-Xms1024m -Xmx1024m" #这里根据业务需求而定,要求是要一样的配置大小- name: xpack.security.enabledvalue: "true"- name: xpack.security.transport.ssl.enabledvalue: "true"- name: xpack.security.transport.ssl.verification_modevalue: "certificate"- name: xpack.security.transport.ssl.keystore.pathvalue: "elastic-certificates.p12"- name: xpack.security.transport.ssl.truststore.pathvalue: "elastic-certificates.p12"volumeClaimTemplates:- metadata:name: dataspec:accessModes: [ "ReadWriteOnce" ]storageClassName: "managed-nfs-storage"resources:requests:storage: 2Gi
创建kibana
apiVersion: v1kind: Servicemetadata:name: kibananamespace: devlabels:k8s-app: kibanakubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcilekubernetes.io/name: "Kibana"srv: srv-kibanaspec:type: NodePortports:- port: 5601nodePort: 30202protocol: TCPtargetPort: uiselector:k8s-app: kibana---apiVersion: apps/v1kind: Deploymentmetadata:name: kibananamespace: devlabels:k8s-app: kibanakubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcilesrv: srv-kibanaspec:replicas: 1selector:matchLabels:k8s-app: kibanatemplate:metadata:labels:k8s-app: kibanaspec:containers:- name: kibanaimage: kibana:8.13.3volumeMounts:- name: kibana-configmountPath: /usr/share/kibana/config/kibana.ymlreadOnly: truesubPath: kibana.ymlports:- containerPort: 5601name: uiprotocol: TCPvolumes:- name: kibana-configconfigMap:name: kibana---apiVersion: v1kind: ConfigMapmetadata:name: kibananamespace: devlabels:k8s-app: kibanadata:kibana.yml: |-server.name: kibanaserver.host: "0.0.0.0"elasticsearch.hosts: [ "http://10.50.195.2:30200" ]elasticsearch.username: "kibana"elasticsearch.password: "zwzk@2024"monitoring.ui.container.elasticsearch.enabled: truei18n.locale: "zh-CN"#kibana.index: ".kibana
创建即可

浏览器访问


重点
构建es的镜像是自己需要生成的,因为需要开启密码验证
构建镜像的步骤包括集群创建完成后进入pod创建账号密码都可看k8s部署elasticsearch8.13.3版本并配置密码以及ik分词器 - Esurts~ - 博客园
安装ik分词器
在上面构建镜像的步骤加入一条内容即可
将本地创建的ik目录拷贝到es镜像里的ik目录下(前提是本地需要创建一个ik目录并且把ik分词器解压在ik目录里)
kibana测试ik分词器是否生效
POST /my_index/_analyze
{
"text": "我爱编程语言",
"analyzer": "my_ik_analyzer"
}



浙公网安备 33010602011771号