我如何Kubernetes基于“准备好了” /“没有准备好”我荚状态量表我的部署?

问题描述 投票:1回答:6

我有一个定义replicas数的部署。我用准备探头进行交流,如果我的布丁是准备好/没有准备好处理新的连接 - 在其一生中ready / not ready状态之间我荚切换。

我想Kubernetes规模部署向上/向下,以确保始终有荚在ready状态所需的号码。

例:

  • 如果replicas是4,并且有4个荚ready状态,那么Kubernetes应保持当前的副本数量。
  • 如果replicas是4,并且有2个ready吊舱和2个not ready吊舱,然后Kubernetes应该增加2个吊舱。

我如何Kubernetes基于“准备好了” /“没有准备好”我荚状态量表我的部署?

kubernetes scale kubernetes-health-check
6个回答
0
投票

我不认为这是可能的。如果吊舱还没有准备好,K8不会使它准备好,因为它是东西,如果它创造新的吊舱,准备将如何guaranted其相关型号您application.Even。所以,你必须解决的背后非就绪状态,然后K8的原因。唯一的K8它让他们远离采取全球负载,以避免请求失败


0
投票

确保你总是有4个荚运行,可以通过在部署定义副本属性来完成:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 4  #here we define a requirement for 4 replicas
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

Kubernetes将确保如果任何荚死机,更换吊舱将被创建的,这样一共有4始终可用。


-2
投票

您无法安排在群集中的节点不健康部署。主API只会制造上是健康的,并满足配额标准,这是调度节点上创建任何额外荚荚节点。

此外,你定义叫做这基本条件将被照顾K8S的自动愈合的概念。

© www.soinside.com 2019 - 2024. All rights reserved.