我将 minikube 用于 Kubernetes、Docker 和 VirtualBox 用于我的应用程序。
我为 MySQL 数据库和 phpmyadmin 创建了几个服务+部署。它们都是绿色的,表示没有问题:
然而,当我点击 phpmyadmin-service 的外部端点时,我的浏览器拒绝连接:
这是我的 metallb 配置和 require 'conn.php';
$cardPerRow = isset($_GET['rpp']) ? $_GET['rpp'] : 9;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$offset = $cardPerRow * ($page-1);
var_dump($offset);var_dump($cardPerRow);
$query = "SELECT * FROM dbname.prodotti LIMIT ? OFFSET ?;";
$stmt = $conn->prepare($query);
//$stmt->bindParam(':offset',$offset);
//$stmt-> bindParam(':cardPerRow',$cardPerRow);
$stmt ->execute([$cardPerRow,$offset]);
$data = $stmt ->fetchAll();
echo json_encode($data);
输出,以防万一:
我的服务和部署的 yaml 清单文件确实包含正确的端口:
minikube ip
知道出了什么问题吗?
UPD:apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-service
labels:
app: phpmyadmin
annotations:
metallb.universe.tf/allow-shared-ip: shared
spec:
type: LoadBalancer
ports:
- port: 5000
targetPort: 5000
selector:
app: phpmyadmin
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin-deployment
labels:
app: phpmyadmin
spec:
selector:
matchLabels:
app: phpmyadmin
replicas: 1
template:
metadata:
labels:
app: phpmyadmin
spec:
restartPolicy: Always
containers:
- name: phpmyadmin
image: phpmyadmin
imagePullPolicy: Never
ports:
- containerPort: 5000
的输出:
kubectl get svc
c1r10s2% kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2m54s
mysql-service ClusterIP 10.109.243.20 <none> 3306/TCP 73s
phpmyadmin-service LoadBalancer 10.103.233.51 192.168.99.100 5000:30348/TCP 73s
的输出:
kubect describe svc