Нюансы обновления до VCD 10.4.1
После обновления до VCD 10.4.1 одна из Advisores отсылает нас к KB78885 (но да кто их читает, да?), которая опубликована в далеком уже 2021 году и которая напоминает нам о том, что после обновления VCD у нас может пропасть доверненное подключение к различным элементам нашей инфраструктуры. Ужесточение требований к сертификатам в инфраструктуре началось в VCD еще с версии 10.1 (о чём так же отдельно пишется во врезке, на странице документации посвященной обновлению VCD).
В 10.4.1 ужесточили еще один аспект инфраструктуры, а именно подключение к ESXi хостам. В результате, после обновления до 10.4.1 (и автоматическом переходе на новую консоль, старую выпилили таки, и слава богу), в VCD перестанут работать операции требующие прямого доступа к хосту, а именно доступ к консоли ВМ, ипорту OVF/ISO, Guest Customization.
В логах это может отобразиться в виде следующих сообщений:
[ 88fc5c17-f0c7-4021-922b-5dfe1b84b7cd ] PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target - PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target - PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target - unable to find valid certification path to requested target
2023-02-24 02:59:01,050 | ERROR | pool-jetty-81 | ServerWebSocket | Connecting to ESX esx01.lab.ihumster.ru [server: [L=/192.168.168.25:443 R=/192.168.168.30:60004]] [client: [id: 0x13240ef6, L:/192.168.168.25:52056 ! R:esx01.lab.ihumster.ru/192.168.168.101:443]] | io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Решение
Самый простой вариант - это запустить повторно CMT trust-infra-certs:
./cell-management-tool trust-infra-certs --vsphere --unattended Downloading certificates for 2 host(s), including 1 vCenter(s): vc-mng.lab.ihumster.ru [Download: SUCCESS] (VMCA) vc-mng.lab.ihumster.ru [Download: SUCCESS] (VMCA) vc-mng.lab.ihumster.ru [Download: SUCCESS] nsx.lab.ihumster.ru [Download: SUCCESS] Downloaded certificates for 3/2 host(s). Trusting certificates for 2 host(s): vc-mng.lab.ihumster.ru [Already Trusted: SUCCESS] nsx.lab.ihumster.ru [Already Trusted: SUCCESS] Trusting VMCA certificates for 1 vCenter(s): vc-mng.lab.ihumster.ru [Add Trusted: SUCCESS] (VMCA) - alias=vc-mng.lab.ihumster.ru_vmca_2023-02-24-11-05-13 Trusted 3/3 downloaded certificates.
Или самостоятельно скачать с vCenters их сертификаты VMCA (<vcenter>/certs/download.zip) и вручную добавить VMCA сертификаты в Trusted Certificates вашего VCD.
Для VCD с большим количеством vCenters (или организаций с высокими требованиями к безопасности инфраструктурных компонентов) самым правильным путём, по моему мнению, будет вариант с заменой сертификата VMCA на vCenters на подписанный с внутреннего или внешнего CA и последующей регенерацией сертификатов ESXi.