1

有没有办法在不使用的情况下重新启动 Elasticsearch 集群kubectl delete

上下文是我无权运行任何 cli 命令(包括kubectl命令),我只能通过 kustomize 部署 yaml 文件。我现在想在现有容器中安装一个插件(摄取附件),但它仅在容器初始化时安装。

对于其他类型的部署,我可以设置replica:0然后将其设置回1以模仿删除并重新启动,但因为kind:Elasticsearch我无法将nodeSetscount 设置为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
4

2 回答 2

0

在为您的问题寻找解决方案后,我很遗憾地通知您,目前在没有您提到的方法的情况下重新启动集群似乎是不可能的。

本文中 ,您可以找到这些方法。

在这里,您可以找到 Elasticsearch 的自定义配置文件和插件。

另请参阅:指南和指南。

于 2021-10-01T13:45:11.573 回答
0

使用 ECK 作为操作符,您无需使用 rollout restart。应用您更新的 Elasticsearch 规范,操作员将为您执行滚动更新。

于 2021-12-22T02:31:45.543 回答