k8s 搭建单节点elasticsearch

1. 持久化存储卷准备

        先创建持久化存储卷:

{ "kind": "PersistentVolume", "apiVersion": "v1", "metadata": { "name": "pvc-es-signle-pv-claim", "annotations": { "pv.kubernetes.io/provisioned-by": "ceph.rook.io/block" }, "finalizers": [ "kubernetes.io/pv-protection" ] }, "spec": { "capacity": { "storage": "10Gi" }, "flexVolume": { "driver": "ceph.rook.io/kube-public", "fsType": "ext4", "options": { "clusterNamespace": "kube-public", "dataBlockPool": "", "image": "pvc-1d8ac660-1d58-11ea-8ded-3c78436262a0", "pool": "replicapool", "storageClass": "rook-ceph-block" } }, "accessModes": [ "ReadWriteOnce" ], "persistentVolumeReclaimPolicy": "Retain", "storageClassName": "rook-ceph-block" }}


2.创建持久化存储卷声明

{  "kind": "PersistentVolumeClaim",  "apiVersion": "v1",  "metadata": {    "name": "es-signle-pv-claim1",    "annotations": {      "pv.kubernetes.io/bind-completed": "yes",      "pv.kubernetes.io/bound-by-controller": "yes",      "volume.beta.kubernetes.io/storage-provisioner": "ceph.rook.io/block"    },    "finalizers": [      "kubernetes.io/pvc-protection"    ]  },  "spec": {    "accessModes": [      "ReadWriteOnce"    ],    "resources": {      "requests": {        "storage": "10Gi"      }    },    "volumeName": "pvc-es-signle-pv-claim",    "storageClassName": "rook-ceph-block"  }}

3.创建configmap

apiVersion: v1kind: ConfigMapmetadata:  name: es-single-node  namespace: dxjsdata:  elasticsearch.yml: |    network.host: 0.0.0.0    discovery.type: single-node    bootstrap.memory_lock: false    bootstrap.system_call_filter: false

说明:

network.host  设置为0.0.0.0 放置绑定到内部ip

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

以上者两项用来跳过es 启动检查。

4.创建有状态副本集

# es-statefulset.ymlapiVersion: apps/v1kind: StatefulSetmetadata:  name: es-single1  namespace: dxjs  labels:    k8s-app: es-singlespec:  replicas: 1  serviceName: es-single  selector:    matchLabels:      k8s-app: es-single  template:    metadata:      labels:        k8s-app: es-single    spec:      initContainers:        - name: fix-permissions          image: registry.ispacesys.cn/public/busybox:latest          command: ["sh", "-c", "chown -R 1000:1000 /usr/share/elasticsearch/data"]          volumeMounts:            - name: es-data              mountPath: /usr/share/elasticsearch/data        - name: init-ulimit          image: registry.ispacesys.cn/public/busybox:latest          command: ["sh", "-c", "ulimit -n 655350"]          securityContext:            privileged: true        - name: init-sysctl          image: registry.ispacesys.cn/public/busybox:latest          command: ["sysctl", "-w", "vm.max_map_count=262144"]          securityContext:            privileged: true      containers:      - name: es-single        image: registry.ispacesys.cn/public/elasticsearch:7.5.0        imagePullPolicy: IfNotPresent        env:          - name: NAMESPACE            valueFrom:              fieldRef:                fieldPath: metadata.namespace          - name: POD_NAME            valueFrom:              fieldRef:                fieldPath: metadata.name          - name: TZ            value: Asia/Shanghai          - name: ES_JAVA_OPTS            value: -Xms1000m -Xmx1000m        resources:          limits:            cpu: '1'            memory: 2Gi          requests:            cpu: '1'            memory: 1Gi        ports:          - containerPort: 9200          - containerPort: 9300        volumeMounts:          - name: es-config            mountPath: /usr/share/elasticsearch/config/elasticsearch.yml            subPath: elasticsearch.yml          - name: es-data            mountPath: /usr/share/elasticsearch/data          - name: es-log            mountPath: /usr/share/elasticsearch/log      volumes:        - name: es-config          configMap:            name: es-single        - name: es-data          persistentVolumeClaim:            claimName: es-signle-pv-claim        - name: es-log          persistentVolumeClaim:            claimName: es-signle-log-pv-claim

说明:

securityContextprivileged: true 用类设置容器获得root权限,便于修改镜像内部参数。


5.创建service

apiVersion: v1kind: Servicemetadata:  name: es-single-out  namespace: dxjs  labels:    k8s-app: es-singlespec:  selector:    k8s-app: es-single  ports:  - name: out    port: 9200    protocol: TCP

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352