- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将现有的本地 flex 搜索索引加载到 kubernetes (版本- minikube v1.9.2 ) flex 搜索 Pane 中。
我最终了解的是,我必须使用 mountpath 和 hostpath 组合来执行此操作。如果要提供自定义索引文件(不是默认索引文件),则必须使用 configMap 覆盖 config / elasticsearch.yml 的 path.data
我做了以下操作,它在安装路径中创建了一个目录,并更新了 config / elasticsearch.yml 文件,但安装路径目录不包含主机路径目录的内容。
我不知道背后的原因。可以让我知道我在做什么错吗?
然后我去了头并手动 使用以下命令将索引从本地主机复制到kubernetes pod
kubectl cp localelasticsearhindexdirectory podname:/data/elk/
kind: Deployment
metadata:
name: elasticsearch
spec:
selector:
matchLabels:
run: elasticsearch
replicas: 1
template:
metadata:
labels:
run: elasticsearch
spec:
containers:
- image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1
name: elasticsearch
imagePullPolicy: IfNotPresent
env:
- name: discovery.type
value: single-node
- name: cluster.name
value: elasticsearch
ports:
- containerPort: 9300
name: nodes
- containerPort: 9200
name: client
volumeMounts:
- name: storage
mountPath: /data/elk
- name: config-volume
mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
subPath: elasticsearch.yml
volumes:
- name: config-volume
configMap:
name: elasticsearch-config
- name: storage
hostPath:
path: ~/elasticsearch-6.6.1/data
---
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:node-1}
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 ```
**service.yaml**
```apiVersion: v1
kind: Service
metadata:
name: elasticsearch
labels:
service: elasticsearch
spec:
ports:
- name: client
port: 9200
protocol: TCP
targetPort: 9200
- name: nodes
port: 9300
protocol: TCP
targetPort: 9300
type: NodePort
selector:
run: elasticsearch```
最佳答案
HostPath with minikube - Kubernetes中的解决方案为我工作。
要将本地目录挂载到minikube(版本-v1.9.2)中的pod中,您必须将该本地目录挂载到minikube中,然后在hostpath中使用minikube挂载路径
(https://minikube.sigs.k8s.io/docs/handbook/mount/)。
minikube mount ~/esData:/indexdata
📁 Mounting host path /esData into VM as /indexdata ...
▪ Mount type: <no value>
▪ User ID: docker
▪ Group ID: docker
▪ Version: 9p2000.L
▪ Message Size: 262144
▪ Permissions: 755 (-rwxr-xr-x)
▪ Options: map[]
▪ Bind Address: 192.168.5.6:55230
🚀 Userspace file server: ufs starting
✅ Successfully mounted ~/esData to /indexdata
📌 NOTE: This process must stay alive for the mount to be accessible ...
java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
。然后,我看到
here,我必须使用
initContainers 在/ usr / share / elasticsearch / data / nodes中设置完全权限。
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: elasticsearch
spec:
serviceName: "elasticsearch"
replicas: 1
selector:
matchLabels:
app: elasticsearch
template:
metadata:
labels:
app: elasticsearch
spec:
initContainers:
- name: set-permissions
image: registry.hub.docker.com/library/busybox:latest
command: ['sh', '-c', 'mkdir -p /usr/share/elasticsearch/data && chown 1000:1000 /usr/share/elasticsearch/data' ]
volumeMounts:
- name: data
mountPath: /usr/share/elasticsearch/data
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1
env:
- name: discovery.type
value: single-node
ports:
- containerPort: 9200
name: client
- containerPort: 9300
name: nodes
volumeMounts:
- name: data
mountPath: /usr/share/elasticsearch/data
volumes:
- name: data
hostPath:
path: /indexdata
---
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
labels:
service: elasticsearch
spec:
ports:
- port: 9200
name: client
- port: 9300
name: nodes
type: NodePort
selector:
app: elasticsearch
关于elasticsearch - Minikube-无法从 Elasticsearch 获得任何结果,如果它使用现有索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62224475/
我已在本地设置 Docker 引擎以在 minikube 上运行(而不是使用 Docker Desktop)。我知道我需要确保引擎与 minikube 集群“对话”。我查阅了两个教程,它们的说明略有不
我正在尝试创建 minikube 集群,但它总是失败。 非常欢迎任何建议: C:\WINDOWS\system32>minikube 启动 --driver=vmware Microsoft Wind
我正在尝试调查网络问题并想安装 tcpdump/tshark。 minikube 使用什么包管理器?如何安装 tcpdump? 最佳答案 这不是一件容易的事。 Minikube VM 基于 Build
我正在尝试使用 https://kubernetes.io/docs/tasks/tools/install-minikube/ 在 RHEL 7.4 上安装 minikube .我的系统设置了无密码
我正在运行 minikube。 Minikube 状态结果为: kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99
如何将自定义 ssh 公钥放入 minikube 集群上的 authorized_keys 中?为什么对 /home/docker/.ssh/authorized_keys 的更改在重启后会丢失?如何
我在 Windows 10 上。命令“systeminfo”显示: Hyper-V Requirements: A hypervisor has been detected. Features req
我正在 Linux 工作站上使用 podman 和 minikube 探索和学习容器和 kubernetes。我使用 podman 在工作站上构建镜像,并希望使用 kvm2 虚拟机驱动程序将这些镜像部
当我运行以下代码时: minikube addons enable ingress 我收到以下错误: ▪ Using image k8s.gcr.io/ingress-nginx/controller
我想在每次启动和停止时为我的 ubuntu 主机(带有 KVM2)上的 minikube 集群(输入 minikube ip 时获得的那个)设置一个固定的 IP 地址。 我想将一个 DNS 子域指向它
我刚刚使用以下命令在 Ubuntu 18.04 上为我的 Kubernetes 本地设置安装了 Minikube: curl -LO https://storage.googleapis.com/mi
编辑 - 这是在 OSX 上 另外,我试过运行 minikube service ,如下所示,当它尝试在浏览器中打开它时,我收到“连接被拒绝”信号,因为端口已关闭。 我有一个 kubernetes
我想在每次启动和停止时为我的 ubuntu 主机(带有 KVM2)上的 minikube 集群(输入 minikube ip 时获得的那个)设置一个固定的 IP 地址。 我想将一个 DNS 子域指向它
我对 Kubernetes“非常”陌生,我想在运行 Windows 10 和 HyperV 的本地机器上试用它。我看到了 minikube用于本地开发,我可以在 Chocolatey 上找到,所以我使
我正在尝试通过 hyperv 在我的本地 Windows 10 机器上安装 kubernetes。我遇到了一些我不确定如何解决的错误。我也尝试过运行 kubernetes v1.8.0,但收到了同样的
我有一个可以在多个环境中工作的简单入口文件,但要访问它,它的行为会有所不同,具体取决于我是在我的 Mac 上还是在我的 Ubuntu 机器上运行我的 minikube 集群。 具体来说,对于我的 ma
是否可以使用 minikube 在特定端口上公开服务? kubectl expose deployment my-deployment --type=NodePort --port=80 不会抛出错误
我正在尝试使用嵌入式仪表板内部服务为 minikube 仪表板创建入口。 我同时启用了 ingress和 dashboard minikube 插件。 我还写了这个 ingress YAML 文件:
你好,所以我昨天使用 minikube,它工作正常,但今天我试图用 minikube start 命令开始,它给出了以下错误: 在运行 minikube status 之后,它会给出以下结果: 提前感
我在 macOS 上升级了 minikube,现在我无法启动它(在两台不同的机器上)。我一直在阅读一堆论坛,这似乎是一个常见问题,但没有一致的解决方案,也没有关于如何寻找根本原因的指导。 首次下载 V
我是一名优秀的程序员,十分优秀!