Kubernetes 得到一个我不知道的错误';我不懂k8s
我的yaml文件Kubernetes 得到一个我不知道的错误';我不懂k8s,kubernetes,Kubernetes,我的yaml文件 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-service annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/rewrite-target: /$1 spec: rules: -http: paths: - path: /
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
-http:
paths:
- path: /?(.*)
backend:
serviceName: nginx-service
servicePort: 80
这只是yaml模板错误,请使用
kubectl explain ingress.spec.rules
我想知道
入口规则中也缺少主机名,应该是
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
-host: {replace-me-with-hostname}
http:
paths:
- path: /?(.*)
backend:
serviceName: nginx-service
servicePort: 80
这只是yaml模板错误,请使用
kubectl explain ingress.spec.rules
我想知道
入口规则中也缺少主机名,应该是
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
-host: {replace-me-with-hostname}
http:
paths:
- path: /?(.*)
backend:
serviceName: nginx-service
servicePort: 80
问题在于“-http”(连字符和“h”字母之间没有空格字符)中的打字错误 上述YAML创建以下入口:
kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
dual-ingress your-hostname-1,your-hostname-2,bar.com 80 14s
kubectl get ingress -o wide
NAME HOSTS ADDRESS PORTS AGE
mono-ingress * 80 10s
如果您未在YAML中指定主机,则所有流量将根据IngressRuleValue进行路由。
YAML示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: mono-ingress
annotations:
<your-annotations-go-here>
spec:
rules:
- http:
paths:
- path: <path-1>
backend:
serviceName: <service1>
servicePort: <service1-port>
- path: <path-2>
backend:
serviceName: <service2>
servicePort: <service2-port>
因此,总而言之,规则:
字段应包含一个数组
(并且在“-”和“http”之间缺少一个空格字符,因此它不被解析为数组
,而是映射
)
希望能有所帮助。问题在于“-http”(连字符和“h”字母之间没有空格字符)中的打字错误 上述YAML创建以下入口:
kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
dual-ingress your-hostname-1,your-hostname-2,bar.com 80 14s
kubectl get ingress -o wide
NAME HOSTS ADDRESS PORTS AGE
mono-ingress * 80 10s
如果您未在YAML中指定主机,则所有流量将根据IngressRuleValue进行路由。
YAML示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: mono-ingress
annotations:
<your-annotations-go-here>
spec:
rules:
- http:
paths:
- path: <path-1>
backend:
serviceName: <service1>
servicePort: <service1-port>
- path: <path-2>
backend:
serviceName: <service2>
servicePort: <service2-port>
因此,总而言之,规则:
字段应包含一个数组
(并且在“-”和“http”之间缺少一个空格字符,因此它不被解析为数组
,而是映射
)
希望能有所帮助。谢谢!这对我来说很有效,没有主持人的名字。我猜它只是格式不正确。@tink3r,这个例子中的YAML和你原来的一样被破坏了。这是一个空格字符的问题。谢谢!这对我来说很有效,没有主持人的名字。我猜它只是格式不正确。@tink3r,这个例子中的YAML和你原来的一样被破坏了。这是一个空格字符的问题。