48

ファイルを Kubernetes Secrets に保存したいのですが、yamlファイルを使用して保存する方法が見つかりません。

私はcliを使ってそれを作ることができましたkubectl:

kubectl create secret generic some-secret --from-file=secret1.txt=secrets/secret1.txt

しかし、私が a で似たようなことをしようとするとyaml:

apiVersion: v1
kind: Secret
metadata:
  name: some-secret
type: Opaque
data:
  secret1.txt: secrets/secret1.txt

私はこのエラーを持っています:

[pos 73]: json: error decoding base64 binary 'assets/elasticsearch.yml': illegal base64 data at input byte 20

このガイドhttp://kubernetes.io/docs/user-guide/secrets/に従っています。を使用してシークレットを作成する方法について説明していますが、を使用してファイルyamlからシークレットを作成する方法については説明していません。yaml

出来ますか?もしそうなら、どうすればいいですか?

4

6 に答える 6

18

基本的にフォーマットを使用する場合CLI、サーバー側に投稿する前に yaml のジェネレーターを使用しています。

Kubernetes は REST API を介したクライアント/サーバー アプリであり、アクションはアトミックである必要があるため、投稿された YAML にはファイルのコンテンツが含まれている必要があります。これを行う最善の方法は、それを base64 形式でインラインに埋め込むことです。 . それ以外の方法でファイルを埋め込むことができれば (ファイルの境界を作成するためにインデントを使用できるかもしれません)、それは素晴らしいことですが、今までそのような例を見たことがありません。

そうは言っても、yaml にファイル参照を配置することはできません。コンテンツを含めるための yaml のプリフライト レンダリングはありません。

于 2016-04-27T11:35:51.330 に答える