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

最終更新日: 16 年 2023 月 XNUMX 日

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

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

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

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

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

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

注: を追加する data ラベルは、 accessID, accessKeyaccount 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: ""
  userDefinedSecrets: <secret-name>
  proxy: 
    url: "proxy_url_here"
記事上で