使用kubernetes建立数据库连接的Wordpress错误 [英] Wordpress Error establishing a database connection using kubernetes
问题描述
我是Kubernetes的新手,并尝试使用Kubernetes pod容器部署WordPress和MySQL,但是在运行Kubernetes时抛出错误建立数据库连接出错"
I am new to Kubernetes and trying to deploying WordPress and MySQL using the Kubernetes pod containers but its throwing the error "Error establishing a database connection" while running the Kubernetes
下面是我的pod和服务定义文件
Below are my pod and service definition files
secret.yaml
secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysql-pass
type: Opaque
data:
username: XXXXX
password: XXXXX
mysql-pod-defination-file.yaml
mysql-pod-defination-file.yaml
apiVersion: v1
kind: Pod
metadata:
name: mysql-app
labels:
name: mysql-app-label
spec:
containers:
- image: mysql:5.6
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-pass
key: password
name: mysql-image
ports:
- containerPort: 3306
wordpress-pod-defination-file.yaml
wordpress-pod-defination-file.yaml
apiVersion: v1
kind: Pod
metadata:
name: wordpress-app
labels:
name: wordpress-app-label
spec:
containers:
- image: wordpress:apache
name: wordpress-image
env:
- name: WORDPRESS_DB_HOST
value: db
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-pass
key: password
ports:
- containerPort: 80
mysql-service-defiantion-file.yaml
mysql-service-defiantion-file.yaml
apiVersion: v1
kind: Service
metadata:
name: db
labels:
name: db-service
app: demo-wordpress-app
spec:
ports:
- port: 3306
selector:
name: mysql-app-label
wordpress-service-defination-file-yaml
wordpress-service-defination-file-yaml
apiVersion: v1
kind: Service
metadata:
name: wordpress-service
labels:
name: wordpress-service
app: demo-wordpress-app
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
selector:
name: wordpress-app-label
我能够从minikube Pod容器内部成功连接到mysql数据库
I am able to make the successful connection to the mysql database from inside the minikube Pod container
我的定义文件有什么问题吗?
is anything wrong in my definition files?
推荐答案
您需要在mysql服务yaml定义上添加 targetPort
.
You need to add targetPort
on the mysql service yaml definition.
apiVersion: v1
kind: Service
metadata:
name: db
labels:
name: db-service
app: demo-wordpress-app
spec:
ports:
- port: 3306
targetPort: 3306
selector:
name: mysql-app-label
这篇关于使用kubernetes建立数据库连接的Wordpress错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!