3.6.2 etcdのKubernetesシークレットの作成

values.yamlファイルにetcd資格証明およびetcdエンドポイントを指定する必要があります。MicroTxは、この情報を使用して、サービスのインストール後にetcdへの接続を確立します。

開始する前に、etcdのRSA証明書を生成し、生成された証明書の内容を含むJSONファイルを作成します。「etcdのRSA証明書の生成」を参照してください。

同じKubernetesクラスタ内にetcdおよびMicroTxをデプロイする予定の場合は、TLSを使用してetcdを構成することはオプションです。etcdがTLSで構成されている場合は、トランザクション・コーディネータのvalues.yamlファイルに証明書の詳細を指定する必要があります。

KubernetesシークレットおよびKubernetes構成マップを作成するには:
  1. 作成したJSONファイルで使用可能なコンテンツを使用して、Kubernetesシークレットを作成します。MicroTxをデプロイするネームスペースにKubernetesシークレットを作成してください。
    kubectl create secret generic etcd-cert-secret \
        --from-file=location of etcdecred.json -n otmm

    説明

    • etcd-cert-secretは、作成するKubernetesシークレットの名前です。MicroTxをインストールするには、この名前をYAMLファイルに指定する必要があるため、この名前を書き留めます。
    • location of etcdecred.JSONは、前のステップで作成したJSONファイルの場所です。
    • otmmは、MicroTxをデプロイするネームスペースです。
  2. これより前に認証局の初期化中に作成したca.pemファイルの構成マップを作成します。MicroTxをデプロイするネームスペースに構成マップを作成してください。
    kubectl create configmap etcd-ca-cert-map --from-file=location of ca.pem -n otmm

    説明

    • etcd-ca-cert-mapは、作成する構成マップの名前です。MicroTxvalues.yamlファイルにこの名前を指定するため、この名前を書き留めます。
    • location of ca.pemは、ca.pemファイルの場所です。
    • otmmは、MicroTxをデプロイするネームスペースです。
作成したetcdエンドポイント、証明書、KubernetesシークレットおよびKubernetes構成マップをvalues.yamlファイルに指定する必要があります。次のコード・スニペットでは、このトピックのコマンドで使用した値に基づいてサンプル値を指定しています。
storage:
    type: etcd
    etcd:
      endpoints: "https://198.51.100.1:4002"
      skipHostNameVerification: "false"
      credentialSecret:
        secretName: "etcd-cert-secret"
        secretFileName: "etcdecred.json"
      cacertConfigMap:
        configMapName: "etcd-ca-cert-map"
        configMapFileName: "ca.pem"

endpointsフィールドに正しいIPアドレスを指定しない場合、MicroTxのインストール時にホスト検証が失敗します。開発環境でホスト検証をバイパスするには、MicroTxvalues.yamlファイルでskipHostNameVerificationtrueに設定します。

注意:

本番環境では、skipHostNameVerificationフィールドをfalseに設定する必要があります。