我目前正在设置一个 kubernetes 集群,在 3 个不同的虚拟机上有 3 个节点,每个节点由 1 个 pod 组成,运行以下 docker 镜像:ethereum/client-go:stable
问题是我想使用 bash 脚本进行运行状况检查测试(因为我必须测试很多东西),但我不明白如何将此文件导出到使用我的 yaml 部署文件部署的每个容器。
我尝试wget在 yaml 文件中添加命令以从我的 github 存储库下载健康检查脚本,但从我的角度来看它不是很干净,也许还有其他方法?
我当前的部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: goerli
name: goerli-deploy
spec:
replicas: 3
selector:
matchLabels:
app: goerli
template:
metadata:
labels:
app: goerli
spec:
containers:
- image: ethereum/client-go:stable
name: goerli-geth
args: ["--goerli", "--datadir", "/test2"]
env:
- name: LASTBLOCK
value: "0"
- name: FAILCOUNTER
value: "0"
ports:
- containerPort: 30303
name: geth
livenessProbe:
exec:
command:
- /bin/sh
- /test/health.sh
initialDelaySeconds: 60
periodSeconds: 100
volumeMounts:
- name: test
mountPath: /test
restartPolicy: Always
volumes:
- name: test
hostPath:
path: /test
Run Code Online (Sandbox Code Playgroud)
我希望将健康检查脚本放在 /test/health.sh 中
有任何想法吗 ?
这可能是 init 容器的完美用例,因为 init 容器和应用程序容器可能有不同的映像,因此它们在 pod 内有不同的文件系统,因此我们需要使用Emptydir来共享状态。
有关更多详细信息,请点击链接init-container
| 归档时间: |
|
| 查看次数: |
10140 次 |
| 最近记录: |