k8s 安装3节点es集群<一>

复制代码
vim es.yaml
apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: elasticsearch-pdb spec: selector: matchLabels: app: elasticsearch maxUnavailable: 1 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch spec: serviceName: elasticsearch-hs replicas: 3 selector: matchLabels: app: elasticsearch updateStrategy: type: RollingUpdate podManagementPolicy: Parallel template: metadata: labels: app: elasticsearch spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "app" operator: In values: - elasticsearch topologyKey: "kubernetes.io/hostname" containers: - name: elasticsearch image: harbor.kp.com/keepwork/elasticsearch:7.5.0 resources: limits: cpu: 1 memory: 2Gi requests: cpu: 0.01 memory: 2Gi ports: - containerPort: 9200 name: rest protocol: TCP - containerPort: 9300 name: inter-node protocol: TCP volumeMounts: - name: data mountPath: /usr/share/elasticsearch/data - name: plugins mountPath: /usr/share/elasticsearch/plugins env: - name: cluster.name value: k8s-logs - name: node.name valueFrom: fieldRef: fieldPath: metadata.name - name: discovery.zen.ping.unicast.hosts value: "elasticsearch-0.elasticsearch-hs,elasticsearch-1.elasticsearch-hs,elasticsearch-2.elasticsearch-hs" - name: discovery.zen.minimum_master_nodes value: "2" - name: cluster.initial_master_nodes #此参数es7以上才能设置 value: elasticsearch-0,elasticsearch-1 - name: ES_JAVA_OPTS value: "-Xms1536m -Xmx1536m" - name: TZ value: "Asia/Shanghai" initContainers: - name: fix-permissions-data image: registry.cn-hangzhou.aliyuncs.com/caosx-public/busybox:1.28.3 command: ["sh", "-c", "chown -R 1000:1000 /usr/share/elasticsearch/data"] securityContext: privileged: true volumeMounts: - name: data mountPath: /usr/share/elasticsearch/data - name: fix-permissions-plugins image: registry.cn-hangzhou.aliyuncs.com/caosx-public/busybox:1.28.3 command: ["sh", "-c", "rm -fr /usr/share/elasticsearch/plugins/lost+found && chown -R 1000:1000 /usr/share/elasticsearch/plugins"] securityContext: privileged: true volumeMounts: - name: plugins mountPath: /usr/share/elasticsearch/plugins - name: increase-vm-max-map image: registry.cn-hangzhou.aliyuncs.com/caosx-public/busybox:1.28.3 command: ["sysctl", "-w", "vm.max_map_count=262144"] securityContext: privileged: true - name: increase-fd-ulimit image: registry.cn-hangzhou.aliyuncs.com/caosx-public/busybox:1.28.3 command: ["sh", "-c", "ulimit -n 65536"] securityContext: privileged: true volumeClaimTemplates: - metadata: name: data labels: app: elasticsearch spec: accessModes: [ "ReadWriteOnce" ] storageClassName: local resources: requests: storage: 20Gi - metadata: name: plugins labels: app: elasticsearch spec: accessModes: [ "ReadWriteOnce" ] storageClassName: local resources: requests: storage: 200Mi --- kind: Service apiVersion: v1 metadata: name: elasticsearch-hs labels: app: elasticsearch spec: selector: app: elasticsearch clusterIP: None ports: - port: 9300 targetPort: 9300 --- kind: Service apiVersion: v1 metadata: name: elasticsearch-cs labels: app: elasticsearch spec: selector: app: elasticsearch ports: - port: 9200 targetPort: 9200 --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: elasticsearch-ingress spec: rules: - host: elasticsearch.gdcattsoft2.com http: paths: - path: / backend: serviceName: elasticsearch-cs servicePort: 9200
复制代码

kubectl apply -f es.yaml

posted @   zyl88  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示