LMコンテナのユーザー定義のシークレット

最終更新日: 03 年 2024 月 XNUMX 日

シークレットは、パスワード、トークン、キーなどの少量の機密データを含むオブジェクトです。 Kubernetes Secrets を使用すると、パスワードを構成ファイルにプレーンテキストで書き込むことなく、機密データ (パスワードなど) を使用するように Kubernetes クラスターを構成できます。 詳細については、「」を参照してください。 シークレット Kubernetes ドキュメントより。

注: LM コンテナでシークレットを使用している場合、管理権限を付与すると、エンコードされた構成データが公開される可能性があります。

LMコンテナでユーザー定義のシークレットを構成するための要件

LM Container Helm Charts バージョン 5.0.0 以降を使用していることを確認してください。

LM コンテナーでの Kubernetes クラスターのユーザー定義シークレットの構成

シークレットの作成には、キーと値のペアを使用してデータを保存することが含まれます。 シークレットを作成するには、次の手順を実行します。

  1. 作ります secrets.yaml Base64 形式でエンコードされる不透明なシークレット タイプを使用 次の例と同様です。

注: を追加する data ラベルは、 accessID, accessKey, account field Base64 形式の値。

apiVersion: v1
data:
  accessID: NmdjRTNndEU2UjdlekZhOEp2M2Q=
  accessKey: bG1hX1JRS1MrNFUtMyhrVmUzLXE0Sms2Qzk0RUh7aytfajIzS1dDcUxQREFLezlRKW1KSChEYzR+dzV5KXo1UExNemxoT0RWa01XTXROVEF5TXkwME1UWmtMV0ZoT1dFdE5XUmpOemd6TlROaVl6Y3hMM2oyVGpo
  account: bG1zYWdhcm1hbWRhcHVyZQ==
  etcdDiscoveryToken: ""
kind: Secret
metadata:
  name: user-provided-secret
  namespace: default
type: Opaque

or

  1. 作ります secrets.yaml 次の例のような、不透明なシークレット stringData 型を使用します。
apiVersion: v1
stringData:
  accessID: "6gcE3gtE6R7ezFa8Jv3d"
  accessKey: "lma_RQKS+4U-3(kVe3-q4Jk6C94EH{k+_j23KWCqLPDAK{9Q)mJH(Dc4~w5y)z5PLMzlhODVkMWMtNTAyMy00MTZkLWFhOWEtNWRjNzgzNTNiYzcxL3j2Tjh"
  account: "lmadminuser"
  etcdDiscoveryToken: ""
kind: Secret
metadata:
  name: user-provided-secret
  namespace: default
type: Opaque
  1. 入力する  アクセスIDアクセスキーアカウント フィールド値。

注: 既存のクラスターがある場合は、Kubernetes クラスターの作成時に使用したものと同じ値を入力します。

  1. を助けて secrets.yaml ファイルにソフトウェアを指定する必要があります。
  2. を開いて編集します lm-container-configuration.yaml ファイルにソフトウェアを指定する必要があります。
  3. 新しいフィールドを入力してください ユーザー定義の秘密 次の例のような必要な値を指定します。

注: の値 ユーザー定義の秘密 新しく作成されたシークレット名と同じである必要があります。

argus:
  clusterName: secret-cluster
global:
  accessID: ""
  accessKey: ""
  account: ""
  userDefinedSecret: "user-provided-secret"
  1. を助けて lm-container-configuration.yaml ファイルにソフトウェアを指定する必要があります。
  2. ターミナルで次のコマンドを入力します。
Kubectl apply -f secrets.yaml -n <namespace_where_lm_container will be installed>

注: シークレットを適用して LM コンテナをインストールしたら、セキュリティ上の理由から、lm-container-configuration.yaml 内の accessID、accessKey、および account フィールドの値を削除します。

次の表に、Secrets フィールドを示します。

フィールド名フィールドタイプ説明
アクセスID義務的なLMアクセスID
アクセスキー義務的なLMアクセスキー
アカウント義務的なLMアカウント名
argusProxyPass任意引数プロキシのパスワード
引数プロキシユーザー任意argus プロキシ ユーザー名
コレクタープロキシパス任意コレクタプロキシパスワード
コレクタープロキシユーザー任意コレクタプロキシのユーザー名
コレクターセットコントローラープロキシパス任意コレクターセットコントローラーのプロキシパスワード
コレクターセットコントローラープロキシユーザー任意コレクターセットコントローラープロキシユーザー名
etcdDiscoveryToken任意etcd ディスカバリートークン
プロキシパス任意グローバルプロキシパスワード
プロキシユーザー任意グローバルプロキシのユーザー名

Kubernetes クラスターのプロキシ詳細を含むシークレットの例

以下 secrets.yaml ファイルには、ユーザー定義のシークレットとプロキシの詳細が表示されます。

apiVersion: v1
data:
  accessID:
  accessKey:
  account:
  etcdDiscoveryToken:
  proxyUser:
  proxyPass:
  argusProxyUser:
  argusProxyPass:
  cscProxyUser:
  cscProxyPass:
  collectorProxyUser:
  collectorProxyPass:
kind: Secret
metadata:
  name: user-provided-secret
  namespace: default
type: Opaque

プロキシには XNUMX つのタイプがあります。 グローバル プロキシとコンポーネント レベル プロキシ。 グローバル プロキシを指定すると、すべての Argus、Collectorset-Controller、およびコレクター コンポーネントに適用されます。 コンポーネント レベルのプロキシとグローバル プロキシの両方を追加すると、コンポーネント レベルのプロキシが優先されます。 たとえば、コレクター プロキシとグローバル プロキシを追加すると、コレクター プロキシがコレクターに適用され、グローバル プロキシが他の Argus コンポーネントと Collectorset-Controller コンポーネントに適用されます。 

以下は、 lm-container-configuration.yaml ファイル:

global:
  accessID: ""
  accessKey: ""
  account: ""
  userDefinedSecret: <secret-name>
  proxy: 
    url: "proxy_url_here"
記事上で