我正在使用kapitan来创建config.yaml我的 Django 项目。
内容YAML template configuration:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: dev
namespace: {{ inventory.parameters.namespace }}
subjects:
{% for groups in inventory.parameters.rbac.groups %}
- kind: User
name: {{ groups }}
namespace: {{ inventory.parameters.namespace }}
{% endfor %}
roleRef:
kind: Role
name: dev
apiGroup: rbac.authorization.k8s.io
这是变量文件的内容:
groups:
beta:
- test_user1
- test_user2
demo:
- test_user3
- test_user4
编译后我得到这个结果config.yaml:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: dev
namespace: m-beta
subjects:
- kind: User
name: beta
namespace: m-beta
- kind: User
name: demo
namespace: m-beta
roleRef:
kind: Role
name: dev
apiGroup: rbac.authorization.k8s.io
我如何更改这一行:
name: {{ groups }}
这样我就可以得到用户名:test_user1、test_user2、test_user3、test_user4,而不是组名?
结果config.yaml应包含以下内容:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: dev
namespace: mvideo-beta
subjects:
- kind: User
name: test_user1
namespace: m-beta
- kind: User
name: test_user2
namespace: m-beta
- kind: User
name: test_user3
namespace: m-beta
- kind: User
name: test_user4
namespace: m-beta
roleRef:
kind: Role
name: dev
apiGroup: rbac.authorization.k8s.io
谢谢你的帮助!
问题是你正在挖掘地表以下的东西。
相反,您需要迭代每个组中的用户。
需要嵌套循环。