【发布时间】:2021-01-12 04:13:34
【问题描述】:
我正在通过使用 Minikube 和创建 Drupal 站点来学习如何使用 Kubernetes。
我能够minikube service 我的drupal 站点并到达“设置数据库”页面,仅此而已。它一直告诉我我需要插入正确的信息。我检查了我的 MYSQL pod,并且能够将 exec 和 MySQL 输入到我的数据库中。
我不确定我错过了什么? MYSQL pod 是否未连接到我的 Drupal pod?
这是我的 drupal-mysql.yaml 文件:
---
apiVersion: v1
kind: Service
metadata:
name: drupal-mysql-service
spec:
ports:
- name: mysql
port: 3306
targetPort: 3306
protocol: TCP
selector:
app: drupal
type: ClusterIP
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: drupal-mysql
spec:
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:5.7
name: mysql
env:
# Use secret in real usage
- name: MYSQL_ROOT_PASSWORD
value: seto_password
- name: MYSQL_DATABASE
value: drupal_databases
ports:
- containerPort: 3306
name: mysql
protocol: TCP
volumeMounts:
- name: vol-drupal
mountPath: /var/lib/mysql
subPath: 'mysql'
volumes:
- name: vol-drupal
persistentVolumeClaim:
claimName: drupal-seto-mysql
这是我的 drupal.yaml 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: drupal
labels:
app: drupal
spec:
selector:
matchLabels:
app: drupal
tier: frontend
strategy:
type: Recreate
replicas: 1
template:
metadata:
labels:
app: drupal
tier: frontend
spec:
selector:
initContainers:
- name: init-sites-volume
image: drupal:8.9.11
command: ['/bin/bash', '-c']
args:
[
'cp -r /var/www/html/sites/ /data/; chown www-data:www-data /data/ -R',
]
volumeMounts:
- mountPath: /data
name: vol-drupal
containers:
- image: drupal:8.9.11
name: drupal
ports:
- containerPort: 80
volumeMounts:
- mountPath: /var/www/html/modules
name: vol-drupal
subPath: modules
- mountPath: /var/www/html/profiles
name: vol-drupal
subPath: profiles
- mountPath: /var/www/html/sites
name: vol-drupal
subPath: sites
- mountPath: /var/www/html/themes
name: vol-drupal
subPath: themes
volumes:
- name: vol-drupal
persistentVolumeClaim:
claimName: drupal-seto
这是我的 drupal-service.yaml:
apiVersion: v1
kind: Service
metadata:
name: drupal-service
labels:
app: drupal
spec:
type: NodePort
ports:
- name: web
protocol: TCP
port: 80
targetPort: 80
selector:
app: drupal
【问题讨论】:
-
它需要什么样的信息?
-
你得到了什么确切的错误?您是否为此设置使用特定教程?你看过这篇文章 - medium.com/containerum/… 吗?您可以像文章中的示例那样将 drupal 服务更改为 LoadBalancer 吗?您是否尝试过使用 MinikubeIP:NodePort 访问应用程序?此外,要将后端与前端连接,您必须添加额外的标签来连接它们 - 阅读更多:kubernetes.io/docs/tasks/access-application-cluster/…
标签: kubernetes drupal drupal-8 minikube