mysql - WordPress和mysql pod部署正确,但我的浏览器未显示wordpress

标签 mysql wordpress docker kubernetes

我是K8s的初学者,所以请多多包涵。
我已经使用Kubernetes在mysql上推出了wordpress。部署已经完成,并且正在使用minikube在我的计算机上运行。
但是,问题是wordpress没有显示在我的浏览器中
这些是我的 pod

mysql291020-68d989895b-vxbwg 1/1 Running 0 18h


wp291020-7dccd94bd5-dfqqn 1/1 Running 0 19h


这些是我的服务

mysql291020-68d989895b-vxbwg 1/1 Running 0 18h


wp291020-7dccd94bd5-dfqqn 1/1 Running 0 19h


经过一番思考,我认为这可能与我为wordpress设置服务的方式有关(请参见下面的代码)。
apiVersion: v1
kind: Service
metadata:
  name: wp291020
  labels:
    app: wp291020
spec:
  ports:
    - port: 80
  selector:
    app: wp291020
    tier: frontend
  type: LoadBalancer
不确定是不是合适的地方。如果需要的话,我将在我的部署下添加wordpress以及mysql服务和mysql部署。

deployment for wordpress

apiVersion: apps/v1
kind: Deployment
metadata:
  name: wp291020
spec:
  selector:
    matchLabels:
      app: wp291020
  replicas: 1
  template:
    metadata:
      labels:
        app: wp291020
    spec:
      containers:
      - name: wp-deployment
        image: andykwo/test123:wp_291020
        ports:
        - containerPort: 80
        volumeMounts:
        - name: wordpress-persistent-storage
          mountPath: /var/www/html    
      volumes:
      - name: wordpress-persistent-storage
        emptyDir: {}

service for mysql

apiVersion: v1
kind: Service
metadata:
  name: mysql291020
  labels:
    app: mysql291020
spec:
  ports:
    - port: 3306
  selector:
    app: mysql291020
    tier: mysql
  clusterIP: None

deployment for mysql

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql291020
spec:
  selector:
    matchLabels:
      app: mysql291020
  replicas: 1
  template:
    metadata:
      labels:
        app: mysql291020
    spec:
      containers:
      - env:
        - name: MYSQL_DATABASE
          value: wordpress
        - name: MYSQL_PASSWORD
          value: my_wordpress_db_password
        - name: MYSQL_ROOT_PASSWORD
          value: my_wordpress_db_password
        - name: MYSQL_USER
          value: wordpress        
        name: db
        image: andykwo/test123:wp_291020
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: db-data
          mountPath: /var/lib/mysql    
      volumes:
      - name: db-data
        emptyDir: {}
仅提及docker容器仅在容器上运行时也可以正常运行,但是我确实可以通过浏览器访问wordpress。
如果需要,我可以提供我的docker compose yaml。
谢谢。
PS:我要添加我的docker compose文件,以防万一
version: '3.3'

services:
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
       - wordpress_files:/var/www/html
     ports:
       - "80:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: my_wordpress_db_password

   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: my_db_root_password
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: my_wordpress_db_password
volumes:
    wordpress_files:
    db_data:

最佳答案

要从Web浏览器访问前端,可以将服务移植到本地计算机。

kubectl port-forward svc/wp291020 80:80
如果您正在使用带有外部IP的云系统,则需要验证IP地址已附加到您的服务中,如here所示

关于mysql - WordPress和mysql pod部署正确,但我的浏览器未显示wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64636707/

相关文章:

sql-server - 使用 SQL Server 字符串函数提取值

MySQL 不接受此过程。你能帮忙吗?

php - 我的 SQL 语法错误

apache - 如何以非 root 用户身份运行 Apache?

c# - 不使用本地数据库的 Docker "LocalDB is not supported"中的 Net Core 应用程序

php - 选取最近2分钟内的所有记录 - MySql

html - 在搜索过滤器中用图像替换文本

WordPress ACF - 根据用户选择显示字段

javascript - 更改联系表单 7 中 "choose file"按钮的文本 (WordPress)

amazon-web-services - Ansible EC2 没有这样的文件或目录 : b'ssh': b'ssh'