Kubernetesクラスタは、通常、証明書のSSL、クラスタのためのランチャー自動的に生成された証明書を使用して通信を暗号化。証明書の有効性は、自動的に約一年前にこれらのバージョンを使用してクラスタ構成ランチャーを作成した場合、その後、あなたはできるだけ早く開始する必要があることを意味ランチャーのv2.0.14、前v2.1.9にバージョン、1年間のクラスタのランチャーの設定を、生成されます回転証明書は、そうでない場合、証明書は、クラスタがエラー状態になります有効期限が切れます。回転証明書は、1回の操作は、新しく生成された証明書は10年間有効です。
この記事では、証明書の回転を操作する方法の詳細を提供します。証明書は、現在有効期限が切れた場合でも、あなたはまた、次の手順に従って証明書を回転させることができます。しかし、処理のために[証明書は、接続K8Sを防止期限が切れている]この記事の最後のセクションに基づいて、牧場主のサーバーをアップグレードしないでください注意してください。
注意を払います
あなたがアセンブリを再起動し、回転Kubernetes証明書クラスタが一時的に利用できない可能性があります。また、本番環境のために、我々はあなたがメンテナンス中にこれを行うことをお勧めします。
UI回転証明書(ビジネスクラスタ)
注:使用可能なバージョンのランチャーのバージョン2.2.0 +
UIのクラスタ証明証明回転機能によって更新することができるランチャーのバージョン2.2.0以降では、この機能は、クラスタ定義からインストール【の】利用可能です。
回転証明した後、Kubernetesコンポーネントが自動的に再起動され、アプリケーションポッドの再起動に影響を与えずに再起動が3〜5分かかりました。
以下のサービスのために利用できる回転証明書:
etcd
オムレツ
KUBE-apiserver
KUBE-プロキシ
KUBE-スケジューラ
KUBEコントローラマネージャ
証明書によるUIの回転は、現在サポートされています。
すべてのバッチ更新サービスの証明書(CA証明書変わらず)
指定されたサービスを更新します(CA証明書変わらず)
(重要)クラスタ更新
あなたが2.2.xのためにv2.xxランチャーのバージョンからアップグレードする場合は、最初に実行する必要があり、クラスタの更新操作を。
1、[グローバル\クラスタビューに。
2、アップグレードすることを選択し、クラスタ[省略記号]メニューの右側にある[対象]を選択します。
3、右の[表示詳細オプション]をクリックし、チェックし、[回転] Etcdスナップショット機能を有効にすると、この機能を有効にすることをお勧めします。
[アドレス]でこの機能がオンになっているかどうかを確認し、クラスタへのアクセスを許可4は、次のドメイン名を記入することはできません、この機能を開始することをお勧めします。
5.最後に、[保存]をクリックし、クラスターは自動的に更新されます
回転証明書
1、[グローバル\クラスタビューに。
2は、右のクラスタは、証明書が有効で更新することを選択し、[]省略記号を対応するメニューを選択します。
3. [すべてのサービス証明書を更新し、[保存]をクリックします
4、クラスターは自動的に証明書を更新します
更新が完全なクラスタ証明書、新しいトークンを得るために、ポッド接続APIサーバーの再構築が必要である後5は、証明書の変更ので、対応するトークンが変更されます。
牛・システム/牛クラスタエージェント
牛システム/牛ノードエージェント
牛・システム/ KUBE-API-AUTH
入口-nginxの/ nginxの入コントローラ
KUBE-システム/運河
KUBE-システム/ KUBE-DNS
KUBE-システム/ KUBE-DNS-autoscaler
他のアプリケーションポッド
UI API証明書を回転させることにより(ビジネスクラスタ)
注:使用可能なバージョンランチャーのv2.0.14 + v2.1.9 +
ランチャーv2.0.14、v2.1.9以降では、クラスタ証明書APIによって更新することができます。API証明書は同時に証明書が指定されたコンポーネントのアップデートをサポートしていない、すべてのコンポーネントが証明書を更新することが回転します。
1は、[グローバル]ビューで、クラスタの証明書を更新した後、右サイドメニューで省略記号をクリックし、[ビュー] APIをクリックする必要があるに移動します。
右上RotateCertificates 2.クリック
3. [ 表示要求
4.クリックして リクエストを送ります
更新が完全なクラスタ証明書、新しいトークンを得るために、ポッド接続APIサーバーの再構築が必要である後5は、証明書の変更ので、対応するトークンが変更されます。
牛・システム/牛クラスタエージェント
牛システム/牛ノードエージェント
牛・システム/ KUBE-API-AUTH
入口-nginxの/ nginxの入コントローラ
KUBE-システム/運河
KUBE-システム/ KUBE-DNS
KUBE-システム/ KUBE-DNS-autoscaler
他のアプリケーションポッド
RKE証明書回転(ローカルビジネスクラスタとクラスタユニバーサル)
注:使用可能なバージョンのRKE v0.2.0 +
回転証明書が第一の動作RKEアップを実行する前に、以前のバージョンは、RKEのv0.2.0前Kubernetesクラスターによって作成された場合は、を参照してください。
https://www.cnrancher.com/docs/rke/latest/cn/cert-mgmt/
通过RKE轮换证书,目前支持:
批量更新所有服务证书(CA证书不变)
更新某个指定服务(CA证书不变)
轮换CA和所有服务证书
1、批量更新所有服务证书(CA证书不变)
2、更新指定服务(CA证书不变)
3、轮换CA和所有服务证书
rke cert rotate --rotate-ca INFO[0000] Initiating Kubernetes cluster INFO[0000] Rotating Kubernetes cluster certificates INFO[0000] [certificates] Generating CA kubernetes certificates INFO[0000] [certificates] Generating Kubernetes API server aggregation layer requestheader client CA certificates INFO[0000] [certificates] Generating Kubernetes API server certificates INFO[0000] [certificates] Generating Kube Controller certificates INFO[0000] [certificates] Generating Kube Scheduler certificates INFO[0000] [certificates] Generating Kube Proxy certificates INFO[0000] [certificates] Generating Node certificate INFO[0001] [certificates] Generating admin certificates and kubeconfig INFO[0001] [certificates] Generating Kubernetes API server proxy client certificates INFO[0001] [certificates] Generating etcd-xxxxx certificate and key INFO[0001] [certificates] Generating etcd-yyyyy certificate and key INFO[0001] [certificates] Generating etcd-zzzzz certificate and key INFO[0001] Successfully Deployed state file at [./cluster.rkestate] INFO[0001] Rebuilding Kubernetes cluster with rotated certificates
4、因为证书改变,相应的token也会变化,在集群证书更新完成后,需要对连接API SERVER的Pod进行重建,以获取新的token
cattle-system/cattle-cluster-agent
cattle-system/cattle-node-agent
cattle-system/kube-api-auth
ingress-nginx/nginx-ingress-controller
kube-system/canal
kube-system/kube-dns
kube-system/kube-dns-autoscaler
其他应用Pod
独立容器Rancher server证书更新
自動的に牧場主v2.0.14 +、v2.1.9の+、バージョン2.2.0 +は、証明書が見つかった場合、それは自動的に新しい証明書を生成します満了し、証明書の有効性をチェックします。単に他の操作を必要とせずに、サポートされているバージョンの牧場主のバージョンにアップグレードランチャー・サーバを実行するので、別の容器。
トラブルシューティング
ヒントCA証明書は空です
更新操作を実行するには、何のクラスタが存在しないため、次のエラーメッセージは、更新証明書を実行した後に表示されます。
ソリューション
以下に示すように1が、対応する問題クラスタ、クラスタIDとブラウザビューを選択します。
2、実行kubectl編集クラスター<clusters_ID>
HAランチャーは、上記RKE KUBEプロファイルコマンドによって生成され、ローカルクラスタに直接マウントされている場合。
容器は、単一のランチャーがドッカー幹部-tiを通して実行される場合、<コンテナのID>次に、容器にバッシュ、および傾向がVIM -y VIMインストールツールをインストールし実行し、上記のコマンドを実行します。
3、spec.rancherKubernetesEngineConfig.rotateCertificatesレベルの構成パラメータを削除します。
に改訂
入力:WQを、自動的にYAMLファイルを更新するクラスタを保存し、更新が完了した後、証明書を更新します。
証明書は、接続K8Sを防止期限が切れています
クラスタ証明書の有効期限が切れている場合は、後でランチャーのv2.0.14、v2.1.9にアップグレードした場合でも、証明書を回転させることはできません。証明書の有効期限が切れた場合は、証明書を更新するためのエージェントによって牧場主は、エージェントとの接続に失敗します。
ソリューション
ノードは、手動で、後でいくつかを調整するための時間を時間を設定することができます。牧場主サーバ証明書の有効期限が切れていない場合は、エージェントのみK8Sマスターとランチャーサーバは、と通信しているので、単にK8Sマスターノード時間を調整。
調整コマンド:
その後、牧場主サーバは、証明書をアップグレードしてから回転が戻って時刻同期に証明書の前に完了するまで、証明書回転工程の回転に追従します。
証明書の有効性を確認します