Mysql 如何在kubernetes中部署multi-wordpress?
我尝试在kubernetes中部署wordpress/mysql。 我希望mysql和wordpress使用不同的卷。我正在尝试为wordpress编写nfs,为mysql编写hostpath 但是wordpress和mysql没有连接。我不知道为什么。谢谢你的帮助 这是我的密码: Mysql.yamlMysql 如何在kubernetes中部署multi-wordpress?,mysql,wordpress,kubernetes,Mysql,Wordpress,Kubernetes,我尝试在kubernetes中部署wordpress/mysql。 我希望mysql和wordpress使用不同的卷。我正在尝试为wordpress编写nfs,为mysql编写hostpath 但是wordpress和mysql没有连接。我不知道为什么。谢谢你的帮助 这是我的密码: Mysql.yaml apiVersion: v1 kind: Pod metadata: name: mysql labels: app: mysql spec: containers: -
apiVersion: v1
kind: Pod
metadata:
name: mysql
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5.7
ports:
- containerPort: 3306
protocol: TCP
env:
- name: MYSQL_ROOT_PASSWORD
value: qwer1234
volumeMounts:
- name: mysql-volume
mountPath: /var/lib/mysql
volumes:
- name: mysql-volume
persistentVolumeClaim:
claimName: mysql-pvc
---
apiVersion: v1
kind: Service
metadata:
name: mysql-svc
labels:
app: mysql
spec:
type: ClusterIP
selector:
app: mysql
ports:
- protocol: TCP
port: 3306
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
volumeName: mysql-pv
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /vol/mysql
wordpress.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: wordpress
labels:
app: wordpress
spec:
replicas: 2
selector:
matchLabels:
app: wordpress
template:
metadata:
labels:
app: wordpress
spec:
containers:
- image: wordpress
name: wordpress
env:
- name: WORDPRESS_DB_HOST
value: mysql:3306
- name: WORDPRESS_DB_PASSWORD
value: P@ssw0rd
volumeMounts:
- mountPath: /nfs-volume/html
name: wordpress-pv
ports:
- protocol: TCP
containerPort: 80
volumes:
- name: wordpress-pv
persistentVolumeClaim:
claimName: wordpress-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wordpress-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
volumeName: wordpress-pv
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: wordpress-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
server: 192.168.201.11
path: /nfs-volume
---
apiVersion: v1
kind: Service
metadata:
name: wordpress-svc
labels:
app: wordpress
spec:
type: LoadBalancer
selector:
app: wordpress
ports:
- protocol: TCP
port: 80
您最后在环境变量中提供了端口号 请试一试
env:
- name: WORDPRESS_DB_HOST
value: mysql:3306
用这个代替
env:
- name: WORDPRESS_DB_HOST
value: MySQL
您可以在以下位置查看示例:
如果您阅读了Docker image的文档,那么它们也提供了主机名,而没有端口作为值
同样在Wordpress环境中,您必须传递错误的MySQL密码
- name: WORDPRESS_DB_PASSWORD
value: P@ssw0rd
应该是这样
- name: WORDPRESS_DB_PASSWORD
value: qwer1234
你好,谢谢你的建议。但它仍然不起作用。我尝试连接192.168.201.200:30687此ip。但是它没有显示任何东西..啊,我修复了wordpress密码和mysql密码。现在它们都是一样的。一旦尝试直接打开负载平衡器IP而不检查端口80,就会显示“建立数据库连接时出错”,因此我检查了有关mysql的日志。[注意]用户'root'@'10.233.120.57'(使用密码:否)的访问被拒绝,我使用'kubectl descripe mysql'命令查看可能发生的情况,`/var/run/secrets/kubernetes.io/serviceCount from default-token-swz8d(ro)卷:mysql卷:Type:PersistentVolumeClaim(对同一名称空间中PersistentVolumeClaim的引用)default-token-swz8d:Type:SecretName:default-token-swz8d不是服务帐户的原因吗?好的!!!!我做到了!!!!!!!!!!!!!我猜它是由nfs文件系统引起的。我在这个sudo vi/etc/exports/nfs卷*(rw,sync,no_subtree_check)sudo mkdir/nfs volume sudo chmod-R 777/nfs volume sudo exportfs-arv和success!谢谢你!反对什么?这是一个很好的操作员/ui来管理你的安装。不需要困难的和自定义的安装。