#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 не запускается