首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用kubernetes服务的自动启动

启用kubernetes服务的自动启动
EN

Stack Overflow用户
提问于 2021-01-08 04:22:18
回答 1查看 37关注 0票数 1

有没有办法让kubernetes-service在服务被删除或宕机的情况下重新启动?

我们在文件service-zookeeper-group.yaml中定义了两个服务

在进行随机检查时,我们发现服务"zk-group“丢失。(可能是有人不小心删除了)

代码语言:javascript
复制
zk-service  LoadBalancer  10.88.12.113   10.128.0.3   2181:32581/TCP
zk-group    ClusterIP     None           <none>       <none>

有没有办法对"zk-group“服务执行”活性“检查,并在服务宕机时启动该服务?

service-zookeeper-group.yaml

代码语言:javascript
复制
kind: Service
metadata:
  name: zk-group
  namespace: {{ .Release.Namespace }}
  labels:
    app: {{ .Release.Name }}-zk-app
spec:
  clusterIP: None
  selector:
    app: {{ .Release.Name }}-zk-app


apiVersion: v1
kind: Service
metadata:
  name: zk-service
  annotations:
    cloud.google.com/load-balancer-type: "Internal"
  labels:
    app: {{ .Release.Name }}-zk-app
spec:
  ports:
  - protocol: TCP
    name: tcp-{{ .Values.zk.port }}
    port: {{ .Values.zk.port }}
    targetPort: {{ .Values.zk.port }}
  type: LoadBalancer
  loadBalancerIP: {{ .Values.networking.loadBalancerIP }}
  loadBalancerSourceRanges: {{ .Values.networking.loadBalancerSourceRanges | toJson }}
  selector:
    app: {{ .Release.Name }}-zk-app
EN

回答 1

Stack Overflow用户

发布于 2021-01-08 05:16:49

没有Kubernetes“本机”实用程序来检查服务是否存在,如果不存在,则创建一个服务。如果你真的需要这个功能,你可能需要用Kubernetes Controller扩展你的集群。

您可以使用GitOps模式利用GitOps控制器(如FluxArgo )重新创建所需的状态。如果有人真的“意外”删除了资源,这些控制器将确保在给定的时间段内重新应用所需的状态。

“可能有人不小心删除了它”

你的具体案例听起来更像是缺乏监控和治理:

  1. 如果服务被意外删除-为什么没有弹出任何警报?一个简单的探测测试(例如通过Prometheus BlackBox exporterElastic Heartbeat (如果您使用的是弹性堆栈))可以检查集群内服务的可用性。
  2. 像服务这样重要的东西怎么可能被意外删除?谁在使用集群,谁真正需要删除/调整服务资源的权力?我想评估激活Kubernetes audit trail的cluster.
  3. Consider上的角色/权限是有意义的:如果我是集群管理员,我想知道是谁删除了该服务。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65619394

复制
相关文章

相似问题

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