我有一个定义replicas
数的部署。我用准备探头进行交流,如果我的布丁是准备好/没有准备好处理新的连接 - 在其一生中ready
/ not ready
状态之间我荚切换。
我想Kubernetes规模部署向上/向下,以确保始终有荚在ready
状态所需的号码。
例:
replicas
是4,并且有4个荚ready
状态,那么Kubernetes应保持当前的副本数量。replicas
是4,并且有2个ready
吊舱和2个not ready
吊舱,然后Kubernetes应该增加2个吊舱。我如何Kubernetes基于“准备好了” /“没有准备好”我荚状态量表我的部署?
我不认为这是可能的。如果吊舱还没有准备好,K8不会使它准备好,因为它是东西,如果它创造新的吊舱,准备将如何guaranted其相关型号您application.Even。所以,你必须解决的背后非就绪状态,然后K8的原因。唯一的K8它让他们远离采取全球负载,以避免请求失败
确保你总是有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始终可用。
您无法安排在群集中的节点不健康部署。主API只会制造上是健康的,并满足配额标准,这是调度节点上创建任何额外荚荚节点。
此外,你定义叫做这基本条件将被照顾K8S的自动愈合的概念。