use*_*872 5 kubernetes kubernetes-ingress
我有一个像下面这样的入口。
kubectl get ing test-ingress -o yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"tectonic"},"name":"test-ingress","namespace":"nstest"},"spec":{"rules":[{"host":"test.nstest.k8s.privatecloud.com","http":{"paths":[{"backend":{"serviceName":"test","servicePort":8080},"path":"/"}]}}]}}
kubernetes.io/ingress.class: tectonic
creationTimestamp: 2018-03-27T17:57:02Z
generation: 1
name: test-ingress
namespace: "nstest"
resourceVersion: "19985087"
selfLink: /apis/extensions/v1beta1/namespaces/nstest/ingresses/test-ingress
uid: 4100bd04-31e8-11e8-8f7b-5cb9018ebebc
spec:
rules:
- host: test.nstest.k8s.privatecloud.com
http:
paths:
- backend:
serviceName: test
servicePort: 8080
path: /
status:
loadBalancer: {}
Run Code Online (Sandbox Code Playgroud)
我的服务如下,
kubectl 获取 svc 测试 -o yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"test"},"name":"test","namespace":"nstest"},"spec":{"ports":[{"port":8080,"protocol":"TCP","targetPort":8080}],"selector":{"app":"test"}}}
creationTimestamp: 2018-03-27T17:57:02Z
labels:
app: test
name: test
namespace: "nstest"
resourceVersion: "19985067"
selfLink: /api/v1/namespaces/nstest/services/test
uid: 40f975f3-31e8-11e8-8f7b-5cb9018ebebc
spec:
clusterIP: 172.158.50.20
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: test
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
Run Code Online (Sandbox Code Playgroud)
Pod 运行良好。这有什么问题吗?为什么从入口到服务的路由不起作用。
访问入口端点时出错,
Run Code Online (Sandbox Code Playgroud)Ingress Error No healthy backends could be found. Check pod liveness probes for more details.
谢谢,
您应该在服务规范中为端口指定一个“名称”,并在 Ingress 中引用该名称:
---
apiVersion: v1
kind: Service
metadata:
name: myApp
spec:
selector:
app: myApp
ports:
- name: http
port: 80
targetPort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myApp
spec:
rules:
- host: myapp.domain.com
http:
paths:
- path: /
backend:
serviceName: myApp
servicePort: http
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16191 次 |
| 最近记录: |