我在kubernetes上有一个ruby on rails app。
这就是我做的事情
kubernetes rolling-update new_file
Kubernetes开始创建新的pods
当新的豆荚准备好后,Kubernetes会杀死旧豆荚。
然而,虽然我的新pod已处于就绪状态,但它们实际上正在进行rails资产构建/压缩。他们尚未准备好。我怎么能让kubernetes知道它还没有准备好呢?
答案 0 :(得分:2)
这听起来像是准备探测的一个主要示例:它告诉Kubernetes在某个条件成立之前不会将pod进入负载平衡,通常是一个正向返回的HTTP端点。以下是部署规范中定义的示例探针:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx
spec:
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
readinessProbe:
httpGet:
path: /index.html
port: 80
initialDelaySeconds: 30
timeoutSeconds: 1
请参阅user guide以获取初学者和后续链接。