kubernetes - 检查其他容器状态的优雅方式
问题描述
由于 Kubernetes 没有实现容器之间的依赖关系,我想知道是否有一种优雅的方法来检查同一个 Pod 中的另一个容器是否准备好。
我认为 Downward API 是必要的。也许可以通过嵌入kubectl
容器中来完成 - 但有没有更简单的方法?
解决方案
现在我最终使用了一个简单的文件存在检查:
apiVersion: apps/v1
kind: Deployment
spec:
template:
spec:
containers:
...
- name: former
readinessProbe:
exec:
command:
- /bin/sh
- "-c"
- /bin/sh /check_readiness.sh && touch /foo/ready
volumeMounts:
- name: shared-data
mountPath: /foo
...
- name: latter
command:
- /bin/sh
- "-c"
- while [ ! -f /foo/ready ]; do sleep 1; done; /bar.sh
volumeMounts:
- name: shared-data
mountPath: /foo
readOnly: true
...
volumes:
- name: shared-data
emptyDir: {}
推荐阅读
- html - 图像在 chrome 和 firefox 上显示不同,使用 flexbox 调整大小
- swift - macOS Bundles 之间的双向数据交换 (swift)
- mapbox - 如何显示希伯来地图框?
- python - 如何使用 Python 将本地化时间戳转换为 UTC?
- python - 屈服于... in
- css - 多个媒体查询未按预期工作
- python - 将一个小部件定位在由网格定位的父小部件内
- python - 使用 python osmnx 模块时出错,无法绘制足迹和 streetnetwork
- wix - 自定义操作不会在 WIX 安装程序中运行
- php - 单击电子邮件中的 Outlook 安全链接保护链接似乎执行了两次代码