首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新启动弹性搜索K8S部署

如何重新启动弹性搜索K8S部署
EN

Stack Overflow用户
提问于 2021-12-21 23:07:27
回答 2查看 1.2K关注 0票数 0

我将一个Elasticsearch集群部署到EKS,下面是规范

代码语言:javascript
复制
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: elk
spec:
  version: 7.15.2
  serviceAccountName: docker-sa
  http:
    tls:
      selfSignedCertificate:
        disabled: true
  nodeSets:
  - name: node
    count: 3
    config:
  ...

我可以看到它已经被正确的部署并且所有的吊舱都在运行。

代码语言:javascript
复制
$ kubectl get pods
NAME                         READY   STATUS    RESTARTS   AGE
elk-es-node-0                1/1     Running   0          19h
elk-es-node-1                1/1     Running   0          19h
elk-es-node-2                1/1     Running   0          11h

但我不能重新启动部署Elasticsearch

代码语言:javascript
复制
$ kubectl rollout restart Elasticsearch elk-es-node
Error from server (NotFound): elasticsearches.elasticsearch.k8s.elastic.co "elk-es-node" not found

Elasticsearch使用的是statefulset,所以我尝试重新启动statefulset

代码语言:javascript
复制
$ kubectl rollout restart statefulset elk-es-node
statefulset.apps/elk-es-node restarted

上面的命令说是restarted,但是实际的豆荚没有重新启动。

在K8S中重新启动自定义类型的正确方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2021-12-22 11:09:59

使用- kubectl get all

要确定所创建的资源是部署还是状态集,请在特定的命名空间中使用-n <namespace">和上面的命令。

假设您使用状态集,下面的命令中的问题可以理解配置它的属性。

kubectl get statefulset <statefulset-name"> -o yaml > statefulsetContent.yaml

  • 这将在同一个目录中创建yaml文件名statefulsetContent.yaml。
  • 您可以使用它来探索状态集中配置的不同选项。

检查yaml文件中的.spec.updateStrategy。在此基础上,确定其更新策略。

下面是来自正式文件

有两个可能的值:

  • OnDelete

当状态集的.spec.updateStrategy.type设置为OnDelete时,StatefulSet控制器将不会自动更新StatefulSet中的Pods。用户必须手动删除Pods,以使控制器创建反映状态集的.spec.template修改的新Pods。

  • RollingUpdate

RollingUpdate更新策略实现了对StatefulSet中的Pods的自动滚动更新。这是默认的更新策略。

作为一项工作,您可以尝试缩小/增加statefulset

kubectl scale sts <statefulset-name"> --replicas=<count">

票数 1
EN

Stack Overflow用户

发布于 2021-12-22 01:28:20

使用ECK作为操作符,您不需要使用rollout重新启动。应用您更新的Elasticsearch规范,操作员将为您执行滚动更新。如果出于任何原因,您需要重新启动一个吊舱,您可以使用kubectl delete pod <es pod> -n <your es namespace>来移除吊舱,并且操作符会为您旋转新的吊舱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70442509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档