Kubernetes Ingress - 无法访问
Kubernetes Ingress - cannot access
我是 Kubernetes 中 Ingress 的新手。我在我的 AKS 集群中安装了 Ingress NGINX 控制器。我的应用程序在 testns(命名空间)中的 pod(端口 80)中运行。我在同一个命名空间中为它创建了一个服务。现在我想从外部访问我的应用程序。所以我为它创建了一个 Ingress yaml。
service.yaml
kubectl get svc -A | grep my-svc
testns my-svc ClusterIP 10.0.116.192 <none> 80/TCP 93m
入口
Name: example-ingress
Namespace: testns
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
*
/apple my-svc:80 (10.244.1.33:80)
Annotations: ingress.kubernetes.io/rewrite-target: /
Events: <none>
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /apple
backend:
serviceName: my-svc
servicePort: 80
当我使用 /apple 访问时,出现 404 错误。我想知道为什么不能访问应用
尝试将入口 class 添加到 YAML 配置 kubernetes.io/ingress.class: "nginx"
作为注释
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
例子
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /apple
backend:
serviceName: my-svc
servicePort: 80
我是 Kubernetes 中 Ingress 的新手。我在我的 AKS 集群中安装了 Ingress NGINX 控制器。我的应用程序在 testns(命名空间)中的 pod(端口 80)中运行。我在同一个命名空间中为它创建了一个服务。现在我想从外部访问我的应用程序。所以我为它创建了一个 Ingress yaml。
service.yaml
kubectl get svc -A | grep my-svc
testns my-svc ClusterIP 10.0.116.192 <none> 80/TCP 93m
入口
Name: example-ingress
Namespace: testns
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
*
/apple my-svc:80 (10.244.1.33:80)
Annotations: ingress.kubernetes.io/rewrite-target: /
Events: <none>
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /apple
backend:
serviceName: my-svc
servicePort: 80
当我使用
尝试将入口 class 添加到 YAML 配置 kubernetes.io/ingress.class: "nginx"
作为注释
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
例子
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /apple
backend:
serviceName: my-svc
servicePort: 80