记录k8s安装es

摘要:
apiVersion:policy/v1beta1kind:PodDisruptionBudgetmetadata:name:elasticsearch-pdbnamespace:testspec:selector:matchLabels:app:elasticsearchmaxUnavailable:1---apiVersion:apps/v1kind:StatefulSetmetadata:n
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: elasticsearch-pdb
  namespace: test
spec:
  selector:
    matchLabels:
      app: elasticsearch
  maxUnavailable: 1
---
apiVersion: apps/v1 
kind: StatefulSet
metadata:
  name: elasticsearch
  namespace: test 
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: 172.168.27.239/devops/elasticsearch:7.7.0        #支持7.7.0,7.3.0,6.4.2
        resources:
            limits:
              cpu: 1
              memory: 2Gi
            requests:
              cpu: 0.01
              memory: 1Gi
        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: 172.168.27.239/devops/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: 172.168.27.239/devops/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: 172.168.27.239/devops/busybox:1.28.3
        command: ["sysctl", "-w", "vm.max_map_count=262144"]
        securityContext:
          privileged: true
      - name: increase-fd-ulimit
        image: 172.168.27.239/devops/busybox:1.28.3
        command: ["sh", "-c", "ulimit -n 65536"]
        securityContext:
          privileged: true
  volumeClaimTemplates:
  - metadata:
      name: data
      labels:
        app: elasticsearch
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: ceph-rbd-gd-1
      resources:
        requests:
          storage: 5Gi
  - metadata:
      name: plugins
      labels:
        app: elasticsearch
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: ceph-rbd-gd-1
      resources:
        requests:
          storage: 200Mi
---
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-hs
  namespace: test
  labels:
    app: elasticsearch
spec:
  selector:
    app: elasticsearch
  clusterIP: None
  ports:
    - port: 9300
      targetPort: 9300
---
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-cs
  namespace: test
  labels:
    app: elasticsearch
spec:
  selector:
    app: elasticsearch
  ports:
    - port: 9200
      targetPort: 9200
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: elasticsearch-ingress
  namespace: test
spec:
  rules:
  - host: elasticsearch.gdcattsoft2.com
    http:
      paths:
      - path: /
        backend:
          serviceName: elasticsearch-cs
          servicePort: 9200

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kibana
  namespace: test
spec:
  rules:
  - host: kibana.gdcattsoft2.com
    http:
      paths:
      - path: /
        backend:
          serviceName: kibana
          servicePort: 5601
---
apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: test
  labels:
    app: kibana
spec:
  ports:
  - port: 5601
    targetPort: 5601
  selector:
    app: kibana
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana 
  namespace: test
  labels:
    app: kibana
spec:
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      containers:
      - name: kibana 
        image: 172.168.27.239/devops/kibana:7.7.0    #支持7.7.0,7.3.0,6.4.2
        resources:
          limits:
            cpu: 1
            memory: 1Gi
          requests:
            cpu: 0.1
            memory: 256Mi
        env:
          #- name: ELASTICSEARCH_URL                     #7以下版本配置URL 
          #  value: http://elasticsearch-cs:9200
          - name: ELASTICSEARCH_HOSTS			 #7以上版本配置HOSTS
            value: http://elasticsearch-cs:9200
          - name: TZ
            value: "Asia/Shanghai"
        ports:
        - containerPort: 5601 

免责声明:文章转载自《记录k8s安装es》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt C++中的关键字explicit——防止隐式转换(也就是Java里的装箱),必须写清楚【Unity3D】点击交互——简单工厂下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Elasticsearch学习之深入聚合分析五---案例实战

1. fielddata核心原理   fielddata加载到内存的过程是lazy加载的,对一个analzyed field执行聚合时,才会加载,而且是field-level加载的,一个index的一个field,所有doc都会被加载,而不是少数doc,不是index-time创建,是query-time创建 2. fielddata内存限制   indi...

ES之6:restHighLevelClient源码

本文讨论的是JAVA High Level Rest Client向ElasticSearch6.3.2发送请求(index操作、update、delete……)的一个详细过程的理解,主要涉及到Rest Client如何选择哪一台Elasticsearch服务器发起请求。 maven依赖如下: <dependency> <gro...

为什么很多公司都在招测试开发?

谢没人邀,人在西二旗,刚下地铁。 看了几个回答吧,包括也问了几个人的看法,首先,很多人解释为什么公司都要招聘测试开发,在说效率,在说岗位职责,没有人从这个行业发展的变化去说的。 在开始正文之前,我先抛出一个观点,做80%的做测试的,都称不上为测试工程师。 好的,带着这个观点,咱们从行业目前的发展来说一下。如果你没有进入这个行业,那么有些概念可能不太理解,没...

es 按照日期字段,统计每天总数

SELECT count(*) FROM share_lhy_violation GROUP BY date_histogram(field='wfsj_date','interval'='1d','alias'='wfsj', 'format'='yyyy-MM-dd', 'time_zone'='+08:00', 'min_doc_count'=1,o...

springboot2.2.6 elasticsearch 6.8.7 多条件查询、高亮显示、分页

最近做了一个爬虫项目,需要把数据存入ES中,在网上找资料的过程中挺辛苦的,大部分文章上来就是贴代码,没有讲springboot和es之间版本关系,而本身ES更新真的是快,坑是真的多(自我学习能力不强,见谅),很多方法在新版本中都被弃用,最后冷静下来,也算是终于解决了各种问题吧。 博客园... ` @Autowired private El...

第二篇 kubernetes 集群部署 Traefik-ingress

1.什么是ingress? k8s 对外暴露服务(service)主要有两种方式:NotePort, LoadBalance; 此外externalIP也可以使各类service对外提供服务,但是当集群服务很多的时候,NodePort方式最大的缺点是会占用很多集群机器的端口; LB方式最大的缺点则是每个service一个LB又有点浪费和麻烦,并且需要k8s...