Невозможно повторно развернуть сертификаты после истечения срока действия в openshift 3.11

#openssl #openshift #openshift-origin #openshift-3 #okd

#openssl #openshift #openshift-origin #openshift-3 #okd

Вопрос:

Я развернул opensshift (okd) 3.11, используя: https://github.com/openshift/openshift-ansible/tree/release-3.11 Я бы хотел создать сценарий, в котором срок действия сертификатов истекает, и проверить, как можно выполнить продление сертификатов.

Поэтому я установил следующие переменные в инвентаре как 1 день (чтобы срок действия сертификатов истекал быстро):

 openshift_hosted_registry_cert_expire_days=1
openshift_ca_cert_expire_days=1
openshift_master_cert_expire_days=1
etcd_ca_default_days=1
 

Как и ожидалось, через 1 день команды oc не работают, а модули master-api, master-etcd находятся в состоянии выхода.
Теперь я хотел обновить все сертификаты, поэтому я запустил повторное развертывание сертификата, ссылаясь на https://docs.openshift.com/container-platform/3.11/install_config/redeploying_certificates.html#redeploying-all-certificates-current-ca

 ansible-playbook -i openshift-ansible/playbooks/inventory.ini openshift-ansible/playbooks/redeploy-certificates.yml
 

Но воспроизведение этого ansible прерывается с ошибкой:

 .
.
.
.
TASK [Wait for master to restart] **********************************************************************************************************
skipping: [master.167.254.204.228.nip.io]

TASK [Wait for master API to come back online] *********************************************************************************************
skipping: [master.167.254.204.228.nip.io]

TASK [openshift_control_plane : restart master] ********************************************************************************************
changed: [master.167.254.204.228.nip.io] => (item=api)
changed: [master.167.254.204.228.nip.io] => (item=controllers)

RUNNING HANDLER [openshift_control_plane : verify API server] ******************************************************************************
FAILED - RETRYING: verify API server (120 retries left).
FAILED - RETRYING: verify API server (119 retries left).
.
.
.
FAILED - RETRYING: verify API server (2 retries left).
FAILED - RETRYING: verify API server (1 retries left).
fatal: [master.167.254.204.228.nip.io]: FAILED! => {
    "attempts": 120,
    "changed": false,
    "cmd": [
        "curl",
        "--silent",
        "--tlsv1.2",
        "--max-time",
        "2",
        "--cacert",
        "/etc/origin/master/ca-bundle.crt",
        "https://master.167.254.204.228.nip.io:8443/healthz/ready"
    ],
    "delta": "0:00:00.012426",
    "end": "2020-11-29 22:56:24.445762",
    "rc": 7,
    "start": "2020-11-29 22:56:24.433336"
}

MSG:

non-zero return code


RUNNING HANDLER [openshift_control_plane : verify Local API server] ************************************************************************


 

Пожалуйста, дайте мне знать, если я что-то упустил при повторном развертывании сертификатов или любым другим способом, которым мы можем обновить эти сертификаты.

Обновить

Я также попробовал повторно развернуть-openshift-ca.yml playbook с -e openshift_redeploy_openshift_ca=true:

 ansible-playbook -i openshift-ansible/playbooks/inventory.ini openshift-ansible/playbooks/openshift-master/redeploy-openshift-ca.yml -e openshift_redeploy_openshift_ca=true
 

Но это воспроизведение также завершается неудачей при выполнении той же задачи, что и ранее, когда оно ожидает запуска master-api.

Журналы настройки master-api показывают:

 .
.
I1202 18:02:55.930375       1 plugins.go:84] Registered admission plugin "SecurityContextDeny"
I1202 18:02:55.930387       1 plugins.go:84] Registered admission plugin "ServiceAccount"
I1202 18:02:55.930396       1 plugins.go:84] Registered admission plugin "DefaultStorageClass"
I1202 18:02:55.930408       1 plugins.go:84] Registered admission plugin "PersistentVolumeClaimResize"
I1202 18:02:55.930418       1 plugins.go:84] Registered admission plugin "StorageObjectInUseProtection"
F1202 18:03:25.933354       1 start_api.go:68] dial tcp 167.254.204.228:2379: connect: connection refused

 

Журналы настройки etcd показывают:

 2020-12-02 18:05:14.459240 I | embed: ready to serve client requests
2020-12-02 18:05:14.459730 I | embed: serving client requests on 167.254.204.228:2379
WARNING: 2020/12/02 18:05:14 Failed to dial 167.254.204.228:2379: connection error: desc = "transport: authentication handshake failed: remote error: tls: bad certificate"; please retry.

 

Комментарии:

1. Я думаю, что для первого вывода проблема в том, что срок действия вашего центра сертификации также истек, поэтому повторное развертывание всех сертификатов не решит проблему. Во втором выводе вы не выполняете тот же сценарий. Каков результат при выполнении redeploy-certificates.yml playbook с -e openshift_redeploy_openshift_ca=true ?

2. Я попробовал сейчас, как вы предложили, но результат тот же, его сбой в той же точке, т.Е. Он прерывается, когда master-api не запускается