"line 2: mapping values are not allowed in this context" 创建 Ingress 资源时
"line 2: mapping values are not allowed in this context" When creating an Ingress resource
我正在尝试在 EKS (AWS Kubernetes) 上创建 Ingress 资源。
做kubect get all
时我有:
NAME READY STATUS RESTARTS AGE
pod/auth-demo-6dfb9b5d78-n8znm 1/1 Running 0 36m
pod/mysql-79945f6847-8jsss 1/1 Running 0 4d
pod/ngnix-nginx-ingress-controller-54988f47d7-k4j5h 1/1 Running 0 64m
pod/ngnix-nginx-ingress-default-backend-77457bd5ff-dppwr 1/1 Running 0 64m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/auth-demo NodePort 10.100.133.171 <none> 8080:32330/TCP 43h
service/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 6d
service/mysql ClusterIP 10.100.132.124 <none> 3306/TCP 4d
service/ngnix-nginx-ingress-controller LoadBalancer 10.100.187.138 ad7e991b46f3e11ea82750210ef3e95f-<ommited>.<ommited>.elb.amazonaws.com 80:32282/TCP,443:30047/TCP 64m
service/ngnix-nginx-ingress-default-backend ClusterIP 10.100.89.32 <none> 80/TCP 64m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/auth-demo 1/1 1 1 43h
deployment.apps/mysql 1/1 1 1 4d
deployment.apps/ngnix-nginx-ingress-controller 1/1 1 1 64m
deployment.apps/ngnix-nginx-ingress-default-backend 1/1 1 1 64m
NAME DESIRED CURRENT READY AGE
replicaset.apps/auth-demo-6dfb9b5d78 1 1 1 43h
replicaset.apps/mysql-79945f6847 1 1 1 4d
replicaset.apps/ngnix-nginx-ingress-controller-54988f47d7 1 1 1 64m
replicaset.apps/ngnix-nginx-ingress-default-backend-77457bd5ff 1 1 1
64米
这是我超级简单的 YAML:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: <ommited>
namespace: default
spec:
rules:
http:
paths:
- backend:
serviceName: auth-demo
servicePort: 8080
path: /
我得到:error: error parsing deployment.yaml: error converting YAML to JSON: yaml: line 2: mapping values are not allowed in this context
kubectl apply -f deployment.yaml
。
有知道诊断的方法吗?谢谢!
yaml 中存在缩进问题,下面应该可以。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
kubernetes.io/ingress.class: nginx
namespace: default
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: auth-demo
servicePort: 8080
我正在尝试在 EKS (AWS Kubernetes) 上创建 Ingress 资源。
做kubect get all
时我有:
NAME READY STATUS RESTARTS AGE
pod/auth-demo-6dfb9b5d78-n8znm 1/1 Running 0 36m
pod/mysql-79945f6847-8jsss 1/1 Running 0 4d
pod/ngnix-nginx-ingress-controller-54988f47d7-k4j5h 1/1 Running 0 64m
pod/ngnix-nginx-ingress-default-backend-77457bd5ff-dppwr 1/1 Running 0 64m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/auth-demo NodePort 10.100.133.171 <none> 8080:32330/TCP 43h
service/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 6d
service/mysql ClusterIP 10.100.132.124 <none> 3306/TCP 4d
service/ngnix-nginx-ingress-controller LoadBalancer 10.100.187.138 ad7e991b46f3e11ea82750210ef3e95f-<ommited>.<ommited>.elb.amazonaws.com 80:32282/TCP,443:30047/TCP 64m
service/ngnix-nginx-ingress-default-backend ClusterIP 10.100.89.32 <none> 80/TCP 64m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/auth-demo 1/1 1 1 43h
deployment.apps/mysql 1/1 1 1 4d
deployment.apps/ngnix-nginx-ingress-controller 1/1 1 1 64m
deployment.apps/ngnix-nginx-ingress-default-backend 1/1 1 1 64m
NAME DESIRED CURRENT READY AGE
replicaset.apps/auth-demo-6dfb9b5d78 1 1 1 43h
replicaset.apps/mysql-79945f6847 1 1 1 4d
replicaset.apps/ngnix-nginx-ingress-controller-54988f47d7 1 1 1 64m
replicaset.apps/ngnix-nginx-ingress-default-backend-77457bd5ff 1 1 1
64米
这是我超级简单的 YAML:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: <ommited>
namespace: default
spec:
rules:
http:
paths:
- backend:
serviceName: auth-demo
servicePort: 8080
path: /
我得到:error: error parsing deployment.yaml: error converting YAML to JSON: yaml: line 2: mapping values are not allowed in this context
kubectl apply -f deployment.yaml
。
有知道诊断的方法吗?谢谢!
yaml 中存在缩进问题,下面应该可以。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
kubernetes.io/ingress.class: nginx
namespace: default
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: auth-demo
servicePort: 8080