【发布时间】:2019-09-15 00:42:09
【问题描述】:
我们要归档以下内容:
- 在 Google Kubernetes 上运行的 Magento 商店
- 通过配置文件(例如stage.yaml、live.yaml)等进行部署
- PHP 7.2
- MySQL 5.6 / MariaDB
- Redis
- nginx:高山
- https
- Magento 和 MySQL 的持久卷声明
我现在正在学习 Kubernetes 几个星期,但我在一些设计概念上苦苦挣扎,并且出现了一些基本问题。
我第一次尝试 docker-compose,而不是通过 Dockerfiles 构建 docker 镜像,偶然发现了 helm 和 kubectl。现在我遇到了构建 pod 和构建部署。现在我知道很多不同的事情,但一个现实生活中的例子或一些最佳实践知识将不胜感激。谷歌很棒..但似乎不止一种方法。
1。关于 Pods
我明白,豆荚应该可以很容易地更换/销毁/重新创建...
有一个像这样的 POD 配置会更好吗 - nginx容器 - php容器 - mysql容器 - redis 容器 编辑:正如我刚刚读到的,pod 共享一个 IP 地址,所以在这里包含 mysql 或 redis 是没有意义的,对吧?
或者更好的是一个带有 - mysql容器 和一个带有容器的吊舱 - nginx - php
还有一个 - redis 容器
2。在本地挂载持久卷声明或远程 webroot(如 /var/www/html)以进行处理。
本地 webroot 的内容来自 git repo。
3。处理类型:pod vs. type:deployment
我可以创建一个 yaml 文件来定义我的 pod (type:pod) 中的容器。但我也可以定义一个 deployment.yaml (type:deployment)。
我是否必须在 deployment.yaml 中引用我的 pod.yaml,或者部署是否包含所有 pod 配置并替换 pod.yaml?
【问题讨论】:
标签: deployment kubernetes google-kubernetes-engine