代码如下:验证缩进。无法找出确切的问题。
代码:
- name: Create K8s ingress
k8s:
api_version: networking.k8s.io/v1
namespace: "{{namespace}}"
definition:
kind: Ingress
metadata:
name: "{{namespace}}-ingress"
annotations:
nginx.ingress.kubernetes.io/backend-protocol: HTTP
nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"
nginx.ingress.kubernetes.io/force-ssl-redirect: 'false'
nginx.ingress.kubernetes.io/hsts: 'false'
nginx.ingress.kubernetes.io/ssl-redirect: 'false'
nginx.ingress.kubernetes.io/websocket-services: core-service
nginx.org/websocket-services: core-service
spec:
rules:
- host: "{MY_DOMAIN}}"
http:
paths:
- backend:
service:
name: "wordpress"
port:
number: 80
path: /
pathType: ImplementationSpecific
错误:加载YAML时出现语法错误。在此上下文中不允许使用映射值
错误出现在'/mnt/disc2/workspace/wp-sr-demo/auth-playbooks/wordpress/roles/deploy/tasks/main。Yml ':第110行,第51列,但可能根据具体的语法问题,在文件的其他位置。
违规行似乎是:
nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
^ here
这个看起来很容易修复。似乎有一种价值开始了加上引号,YAML解析器期望看到该行结束同样的引用。例如:
when: "ok" in result.stdout
可以写成:
当:"ok"在result.stdout
或等价:
when: "'ok' in result.stdout">
name和k8s属性缩进错误
- name: Create K8s ingress
k8s:
属性name和k8s的正确缩进必须相同,因为它们属于同一个字典
- name: Create K8s ingress
k8s:
如果您将第一行向右移动两个空格,您将获得有效的YAML。