12.3. 証明書の再デプロイ
Playbook を再デプロイメントすると、コントロールプレーンサービスの再起動に、クラスターのダウンタイムが発生する可能性があります。あるサービスでエラーが発生すると、Playbook が失敗し、クラスターの正常性に影響する可能性があります。Playbook が失敗した場合は、問題を手動で解決し、Playbook を再起動する必要がある場合があります。Playbook は、すべてのタスクを順次終了して成功する必要があります。
該当するすべてのホストにマスター、etcd、ノード、レジストリーまたはルーター証明書を再デプロイするには、以下の Playbook を使用します。現在の CA を使用してこれらすべての証明書を一度に再デプロイすることも、特定のコンポーネント用の証明書のみを再デプロイすることも、新しく生成された CA またはカスタム CA 自体を再デプロイすることもできます。
証明書の有効期限切れ Playbook と同様に、これらの Playbook はクラスターを表す インベントリーファイル を使用して実行する必要があります。
とくにインベントリーでは、すべてのホスト名と IP アドレスが現在のクラスター設定に一致するように、以下の変数でそれらを指定するか、または上書きする必要があります。
-
openshift_public_hostname
-
openshift_public_ip
-
openshift_master_cluster_hostname
-
openshift_master_cluster_public_hostname
以下のコマンドを実行すると、必要な Playbook が利用できるようになります。
# yum install openshift-ansible
再デプロイ中に自動生成された証明書の有効性 (有効期限が切れるまでの日数) も Ansible で設定できます。証明書の有効性の設定 を参照してください。
OpenShift Container Platform CA および etcd 証明書の有効期限は 5 年です。署名付きの OpenShift Container Platform 証明書の有効期限は 2 年です。
12.3.1. 現行の OpenShift Container Platform および etcd CA を使用したすべての証明書の再デプロイ
redeploy-certificates.yml Playbook は、OpenShift Container Platform CA 証明書を再生成しません。新しいマスター 、etcd、ノード、レジストリー、およびルーター証明書は、新規の証明書に署名するために現在の CA 証明書を使用して作成されます。
これには、以下の順次の再起動も伴います。
- etcd
- マスターサービス
- ノードサービス
現行の OpenShift Container Platform CA を使用してマスター、etcd、およびノード証明書を再デプロイするには、Playbook に切り替え、この Playbook を実行し、インベントリーファイルを指定します。
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i <inventory_file> \ playbooks/redeploy-certificates.yml
OpenShift Container Platform CA が openshift-master/redeploy-openshift-ca.yml Playbook で再デプロイされた場合、-e openshift_redeploy_openshift_ca=true
をこのコマンドに追加する必要があります。