【发布时间】:2019-01-08 22:07:01
【问题描述】:
我正在尝试在我的 Kubernetes 集群上部署 GLPI 应用程序 (http://glpi-project.org/),但遇到了一个问题。
这是我的部署代码:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pv-claim-glpi
labels:
type: openebs
spec:
storageClassName: openebs-storageclass
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: glpi
namespace: jb
labels:
app: glpi
spec:
selector:
matchLabels:
app: glpi
replicas: 1 # tells deployment to run 1 pods matching the template
template: # create pods using pod definition in this template
metadata:
# unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is
# generated from the deployment name
labels:
app: glpi
spec:
volumes:
- name: pv-storage-glpi
persistentVolumeClaim:
claimName: pv-claim-glpi
containers:
- name: mariadb
image: mariadb
env:
- name: MYSQL_ROOT_PASSWORD
value: "glpi"
- name: MYSQL_DATABASE
value: "glpi"
- name: MYSQL_USER
value: "glpi"
- name: MYSQL_PASSWORD
value: "glpi"
- name: GLPI_SOURCE_URL
value: "https://forge.glpi-project.org/attachments/download/2020/glpi-0.85.4.tar.gz"
ports:
- containerPort: 3306
name: mariadb
volumeMounts:
- mountPath: /var/lib/mariadb/
name: pv-storage-glpi
subPath: mariadb
- name: glpi
image: driket54/glpi
ports:
- containerPort: 80
name: http
- containerPort: 8090
name: https
volumeMounts:
- mountPath: /var/glpidata
name: pv-storage-glpi
subPath: glpidata
---
apiVersion: v1
kind: Service
metadata:
name: glpi
namespace: jb
spec:
selector:
app: glpi
ports:
- protocol: "TCP"
port: 80
targetPort: http
name: http
- protocol: "TCP"
port: 8090
targetPort: https
name: https
- protocol: "TCP"
port: 3306
targetPort: mariadb
name: mariadb
type: NodePort
---
docker 映像已正确部署,但在我的测试阶段,在应用程序设置期间,我在设置数据库 (mysql) 时收到以下错误。
我已经检查了凭据(主机、用户名、密码)并且正确
请帮忙
【问题讨论】:
-
您是否从 kubernetes pod 日志中获得任何信息?是否可以使用 toad 之类的工具连接到数据库?
-
您作为数据库的主机提供什么?根据您的清单,您可以使用 localhost 因为容器在同一个 pod 中。您是否尝试连接到数据库或执行到数据库容器以验证它是否已启动并正在运行?你能给我们
kubectl get pods -n jb的输出吗?
标签: docker kubernetes cloud dockerfile kubernetes-pod