如何解决Kubernetes Nginx Ingress phpmyadmin 502错误
我正在尝试解决使用Kubernetes时遇到的一个烦人的问题。当我尝试在服务器上访问PHPMyAdmin时,它返回Nginx 502 Bad Gateway 错误。
我在集群中的结构如下。我在DigitalOcean上使用Nginx入口LoadBalancer来将流量传入我的集群。然后,它通过我的入口(在第一个代码块中),该入口将流量分散到各个子域中。 当流量进入phpmyadmin子域时,请求将通过服务端口8085传递到“ phpmyadmin-service”。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: nginx-ingress
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: "app1.example.com"
http:
paths:
- path: /
backend:
serviceName: app1-service
servicePort: 80
- host: "phpmyadmin.example.com"
http:
paths:
- path: /
backend:
serviceName: phpmyadmin-service
servicePort: 8085
然后,服务接收到请求,并将其传递给“ phpmyadmin-deployment”部署。这是一个运行phpmyadmin / phpmyadmin:fpm docker映像的部署。
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
name: phpmyadmin-deployment
labels:
app: phpmyadmin
spec:
selector:
matchLabels:
app: phpmyadmin
template:
metadata:
creationTimestamp: null
labels:
app: phpmyadmin
spec:
containers:
- name: phpmyadmin
image: phpmyadmin/phpmyadmin:fpm
ports:
- containerPort: 8087
env:
- name: PMA_ABSOLUTE_URI
value: 'phpmyadmin.example.com'
- name: PMA_HOST
value: mysql
- name: PMA_PORT
value: "3306"
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secrets
key: rootpw
---
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-service
spec:
type: ClusterIP
selector:
app: phpmyadmin
ports:
- port: 8085
targetPort: 8087
所以某些错误提示我502错误网关,但我不知道这是什么。预先感谢您的答复!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。