【发布时间】:2018-08-28 07:30:48
【问题描述】:
我有一个包含以下条目的 docker compose 文件
version: '2.1'
services:
mysql:
container_name: mysql
image: mysql:latest
volumes:
- ./mysqldata:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- '3306:3306'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3306"]
interval: 30s
timeout: 10s
retries: 5
test1:
container_name: test1
image: test1:latest
ports:
- '4884:4884'
- '8443'
depends_on:
mysql:
condition: service_healthy
links:
- mysql
Test-1 容器依赖于 mysql,需要启动并运行。
在 docker 中,这可以使用健康检查和 depends_on 属性来控制。 kubernetes 中的健康检查等效项是我已经创建的 readinessprobe,但是我们如何控制 pod 中的容器启动??????
非常感谢任何有关这方面的指导。
我的 Kubernetes 文件:
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: deployment
spec:
replicas: 1
template:
metadata:
labels:
app: deployment
spec:
containers:
- name: mysqldb
image: "dockerregistry:mysqldatabase"
imagePullPolicy: Always
ports:
- containerPort: 3306
readinessProbe:
tcpSocket:
port: 3306
initialDelaySeconds: 15
periodSeconds: 10
- name: test1
image: "dockerregistry::test1"
imagePullPolicy: Always
ports:
- containerPort: 3000
【问题讨论】:
标签: kubernetes kubectl kubernetes-helm kubeadm