我有一个包含许多 Kubernetes YAML 对象的文件。我正在寻找一种从文本文件中删除所有 K8s Secret YAML 对象的方法,这些对象由"kind: Secret"
YAML 块中包含的字符串标识。这应该删除从“apiVersion”到“---”之前的所有内容,表示下一个对象的开始。
我研究过 Sed、Python 和 yq 工具,但没有成功。YAML 可以包含任意数量的秘密,以任何顺序。
如何自动剥离这些“秘密”块?
apiVersion: v1
data:
username: dGVzdAo=
password: dGVzdHBhc3N3b3JkCg==
kind: Secret
metadata:
name: my-secret-1
type: Opaque
---
apiVersion: v1
kind: Pod
metadata:
name: test-site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
- name: rss-reader
image: nickchase/rss-php-nginx:v1
ports:
- containerPort: 88
---
apiVersion: v1
data:
username: dGVzdAo=
password: dGVzdHBhc3N3b3JkCg==
kind: Secret
metadata:
name: my-secret-2
type: Opaque
---