Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 我怎样才能在没有这个错误的情况下在kubernetes上创建pod_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kubernetes - Fatal编程技术网 elasticsearch 我怎样才能在没有这个错误的情况下在kubernetes上创建pod,elasticsearch,kubernetes,elasticsearch,Kubernetes" /> elasticsearch 我怎样才能在没有这个错误的情况下在kubernetes上创建pod,elasticsearch,kubernetes,elasticsearch,Kubernetes" />

elasticsearch 我怎样才能在没有这个错误的情况下在kubernetes上创建pod

elasticsearch 我怎样才能在没有这个错误的情况下在kubernetes上创建pod,elasticsearch,kubernetes,elasticsearch,Kubernetes,我想在kubernetes上创建elasticsearch pod 我做了一些配置更改来编辑path.data和path.logs 但我得到了这个错误 错误:验证“es deploy.yml”时出错:验证数据时出错: ValidationError(Deployment.spec.template.spec.containers[0]):未知 io.k8s.api.core.v1.Container中的字段“卷”;如果你选择 忽略这些错误,使用--validate=false关闭验证 服务账户

我想在kubernetes上创建elasticsearch pod

我做了一些配置更改来编辑path.data和path.logs

但我得到了这个错误

错误:验证“es deploy.yml”时出错:验证数据时出错: ValidationError(Deployment.spec.template.spec.containers[0]):未知 io.k8s.api.core.v1.Container中的字段“卷”;如果你选择 忽略这些错误,使用--validate=false关闭验证

服务账户

apiVersion: v1
kind: ServiceAccount
metadata:
name: elasticsearch

es-svc.yml

apiVersion: v1
kind: Service
metadata:
name: elasticsearch
labels:
component: elasticsearch
spec:
# type: LoadBalancer
selector:
component: elasticsearch
ports:
- name: http
port: 9200
protocol: TCP
- name: transport
port: 9300
protocol: TCP

elasticsearch.yml

apiVersion: v1
kind: ConfigMap
metadata:
  name: elasticsearch-config
data:
  elasticsearch.yml: |
    cluster:
      name: ${CLUSTER_NAME:elasticsearch-default}

    node:
      master: ${NODE_MASTER:true}
      data: ${NODE_DATA:true}
      name: ${NODE_NAME}
      ingest: ${NODE_INGEST:true}
      max_local_storage_nodes: ${MAX_LOCAL_STORAGE_NODES:1}

    processors: ${PROCESSORS:1}

    network.host: ${NETWORK_HOST:_site_}

    path:
      data: ${DATA_PATH:"/data/elk"}
      repo: ${REPO_LOCATIONS:[]}

    bootstrap:
      memory_lock: ${MEMORY_LOCK:false}

    http:
      enabled: ${HTTP_ENABLE:true}
      compression: true
      cors:
        enabled: true
        allow-origin: "*"

    discovery:
      zen:
        ping.unicast.hosts: ${DISCOVERY_SERVICE:elasticsearch-discovery}
        minimum_master_nodes: ${NUMBER_OF_MASTERS:1}

    xpack:
      license.self_generated.type: basic

es-deploy.yml

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: es
  labels:
    component: elasticsearch
spec:
  replicas: 1
  template:
    metadata:
      labels:
        component: elasticsearch
    spec:
      serviceAccount: elasticsearch
      initContainers:
        - name: init-sysctl
          image: busybox
          imagePullPolicy: IfNotPresent
          command: ["sysctl", "-w", "vm.max_map_count=262144"]
          securityContext:
            privileged: true
      containers:
        - name: es
          securityContext:
            capabilities:
              add:
                - IPC_LOCK
          image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
          env:
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: "DISCOVERY_SERVICE"
              value: "elasticsearch"
            - name: NODE_MASTER
              value: "true"
            - name: NODE_DATA
              value: "true"
            - name: HTTP_ENABLE
              value: "true"
            - name: ES_JAVA_OPTS
              value: "-Xms256m -Xmx256m"
          ports:
            - containerPort: 9200
              name: http
              protocol: TCP
            - containerPort: 9300
              name: transport
              protocol: TCP
          volumeMounts:
           - name: storage
             mountPath: /data/elk
           - name: config-volume
             mountPath: /usr/share/elasticsearch/elastic.yaml
          volumes:
            - name: storage
              emptyDir: {}
            - name: config-volume
              configMap:
                name: elasticsearch-config

您的
es deploy.yaml
文件中存在语法问题

这应该行得通

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: es
  labels:
    component: elasticsearch
spec:
  replicas: 1
  template:
    metadata:
      labels:
        component: elasticsearch
    spec:
      serviceAccount: elasticsearch
      initContainers:
        - name: init-sysctl
          image: busybox
          imagePullPolicy: IfNotPresent
          command: ["sysctl", "-w", "vm.max_map_count=262144"]
          securityContext:
            privileged: true
      containers:
        - name: es
          securityContext:
            capabilities:
              add:
                - IPC_LOCK
          image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
          env:
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: "DISCOVERY_SERVICE"
              value: "elasticsearch"
            - name: NODE_MASTER
              value: "true"
            - name: NODE_DATA
              value: "true"
            - name: HTTP_ENABLE
              value: "true"
            - name: ES_JAVA_OPTS
              value: "-Xms256m -Xmx256m"
          ports:
            - containerPort: 9200
              name: http
              protocol: TCP
            - containerPort: 9300
              name: transport
              protocol: TCP
          volumeMounts:
           - name: storage
             mountPath: /data/elk
           - name: config-volume
             mountPath: /usr/share/elasticsearch/elastic.yaml
      volumes:
        - name: storage
          emptyDir: {}
        - name: config-volume
          configMap:
            name: elasticsearch-config
volumes
部分不在
containers
部分下,如错误所示,它应该在
spec
部分下

您可以使用站点在线验证k8s yaml文件的语法错误


希望这有帮助。

我使用“kubectl apply--validate=true--dry run=true-f es deploy.yaml”,然后日志是“deployment.apps/es created(dry run)”,但没有任何添加的podi答案,请检查一下谢谢!实际上这不是工作,但是。。。谢谢你的帮助,这完全是我的错。我创建了pv、svc和deploy。但我没有创造pvc!!哈哈。无论我是否制作pvc,我都需要你的帮助。谢谢!