有没有办法在不使用kubectl delete
的情况下重新启动Elasticsearch集群?
上下文是我没有权限运行任何cli命令(包括kubectl
命令),我只能通过kustomize部署yaml文件。我现在想在现有容器中安装一个插件(ingest-附件),但它只在容器初始化时安装。
对于其他类型的部署,我可以设置副本:0
然后将其设置回1
以模仿删除和重新启动,但对于类型:Elasticsearch
我不能将nodeSets
count设置为0
,否则它会抛出错误并且无法部署。
是否有任何可能的工作可以让我在Elasticsearch容器上安装插件?
下面是Elasticsearch yaml文件:
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: elastic-test
spec:
version: 7.11.1
auth:
roles:
- secretName: elastic-roles-secret
fileRealm:
- secretName: elastic-filerealm-secret
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false
volumeClaimTemplates:
- metadata:
name: azure-pvc
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
resources:
requests:
storage: 25Gi
volumeName: elasticsearch-azure-pv
podTemplate:
spec:
initContainers:
- name: install-plugins
command:
- sh
- -c
- |
bin/elasticsearch-plugin install --batch ingest-attachment
在为您的问题寻找解决方案后,我很抱歉地通知您,目前在没有您提到的方法的情况下重新启动集群似乎是不可能的。
在本文中,您可以找到这些方法。
在这里,您可以找到Elasticsearch的自定义配置文件和插件。
另见:本指南和本指南。
使用ECK作为运算符,您不需要使用推出重启。应用更新后的Elasticsearch规范,运算符将为您执行滚动升级。