2016-11-28 6 views
0

https://coreos.com/kubernetes/docs/latest/getting-started.htmlに続いて、kubernetesクラスタのTLS資産を生成したかったのです。 EC2インスタンスを作成するために、これらのキーをcloud-config経由でaws-apiにプッシュする予定はありません。なぜなら、私はそれらのインスタンスの公開IPと私設IPを事前に知らないからです。公開および私的なIPを知る前にKubernetes TLS資産を作成する

私は、クラウドコンフィグを介してインスタンスにca証明書を移動することについて説明します。ここで、私はシステムファイルから実行されるスクリプトからアセットを生成します。ここで最大の懸念は、私はクラウド設定にCAルート証明書を入れたくないということです。

誰にもこのような状況の解決策がありますか?

答えて

0

KUBE-AWSはそれをしないか、私はこのような私のAPIサーバconfにを設定することができますによると:私は私の公共

  • を追加した "最小限の設定ファイル" に

    [req] 
    req_extensions = v3_req 
    distinguished_name = req_distinguished_name 
    [req_distinguished_name] 
    [ v3_req ] 
    basicConstraints = CA:FALSE 
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment 
    extendedKeyUsage = serverAuth 
    subjectAltName = @alt_names 
    [alt_names] 
    DNS.1 = kubernetes 
    DNS.2 = kubernetes.default 
    DNS.3 = kubernetes.default.svc 
    DNS.4 = kubernetes.default.svc.cluster.local 
    DNS.5 = kubernetes.mydomain.de 
    IP.1 = 10.3.0.1 
    

    DNS DNS.5 = kubernetes.mydomain.de

  • 代わりにFQDN(kubernetes.mydomain.de)を使用してそのIPにアクセスできるので、MASTER_HOST IPアドレスを省略します。
  • 私の内部IPアドレス範囲の最初のIP(10.3.0.0/24)でなければなりません "K8S_SERVICE_IP"、:

    [req] 
    req_extensions = v3_req 
    distinguished_name = req_distinguished_name 
    [req_distinguished_name] 
    [ v3_req ] 
    basicConstraints = CA:FALSE 
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment 
    subjectAltName = @alt_names 
    [alt_names] 
    DNS.1 = *.*.cluster.internal 
    

    トリック:IP.2 = 10.3.0.1

ワーカーのconfは次のようになりますSANをワイルドカード*.*.cluster.internalとして設定します。このようにして、すべてのワーカーは内部ネットワーク上のその証明書で確認し、特定のIPアドレスを設定する必要はありません。

関連する問題