【发布时间】:2021-02-05 11:03:06
【问题描述】:
我正在关注本教程:https://cloud.google.com/container-engine/docs/tutorials/http-balancer,但在 Minikube 中运行它,每个步骤都有 yml 文件:
第 1 步:部署 nginx 服务器
生产.yml:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: pwa-app-production
labels:
app: MyApp
spec:
replicas: 1
template:
metadata:
name: app
labels:
app: MyApp
env: production
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- name: nginx
containerPort: 80
然后:
$ kubectl apply -f production.yml
第 2 步:将您的 nginx 部署公开为内部服务
service.yml:
kind: Service
apiVersion: v1
metadata:
name: pwa-frontend
spec:
type: NodePort
selector:
app: MyApp
ports:
- name: nginx
port: 80
protocol: TCP
然后:
$ kubectl apply -f service.yml
验证服务是否已创建并已分配节点端口:
$ kubectl get service pwa-frontend
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
pwa-frontend 10.0.0.28 <nodes> 80:30781/TCP 26m
第 3 步:创建 Ingress 资源
ingress.yml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: pwa-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
backend:
serviceName: pwa-frontend
servicePort: 80
然后:
$ kubectl create -f ingress.yml
第 4 步:访问您的应用程序
通过运行找出为您的应用程序服务的负载均衡器的外部 IP 地址:
$ kubectl describe ing pwa-ingress
Name: pwa-ingress
Namespace: default
Address: 192.168.99.100
Default backend: pwa-frontend:80 (172.17.0.2:80)
Rules:
Host Path Backends
---- ---- --------
* * pwa-frontend:80 (172.17.0.2:80)
Annotations:
rewrite-target: /
一切似乎都运行良好,所有信息输出似乎都与教程相对应。但是现在:
$ curl 192.168.99.100
default backend - 404
【问题讨论】:
标签: kubernetes google-cloud-platform