Platforma automatyzacji Dell: Problemy z uaktualnieniem Program Portal Vault nie uruchamia się
Podsumowanie: W tym artykule opisano rozwiązanie problemów z uaktualnianiem platformy Dell Automation, gdy zasobniki Portal Vault nie są wyświetlane.
Objawy
Użytkownicy mogą napotkać problemy z powodu mutującego elementu webhook powodującego konflikt podczas uaktualniania platformy Dell Automation Platform.
Pierwszym objawem jest to, że aktualizacja zatrzymuje się na dłuższy czas (ponad 25 minut) na kroku PORTAL ChartKey Wdrażania. Główny dziennik instalacji zawiera następujące informacje:
... Orchestrator chart exists. Skip unarchive... Portal chart exists. Skip unarchive... Portal Installation has started OperationType: INSTALL OperationStatus: IN_PROGRESS ChartKey: PORTAL
Ten problem zwykle blokuje uaktualnienie w momencie, gdy wdrożenie magazynu portalu jest wyświetlane na liście zasobników. W magazynie są wyświetlane 2/3 stany READY dla dwóch wdrożeń. Lubić:
#kubectl get po -A ... dapp edgevault-0 3/3 Running 0 30m dapp edgevault-1 2/3 Running 0 30m dapp edgevault-2 2/3 Running 0 30m ...
Dzienniki pokazują, że magazyn nie może komunikować się między węzłami:
2025-10-30T15:27:26.896Z [INFO] core: attempting to join possible raft leader node: leader_addr=http://edgevault-2.edgevault-internal:8200 2025-10-30T15:27:26.900Z [ERROR] core: failed to retry join raft cluster: retry=2s err="failed to send answer to raft leader node: error bootstrapping cluster: cluster already has state" 2025-10-30T15:27:28.664Z [ERROR] core: failed to get raft challenge: leader_addr=http://edgevault-1.edgevault-internal:8200 error="error during raft bootstrap init call: context deadline exceeded" 2025-10-30T15:27:28.664Z [ERROR] core: failed to get raft challenge: leader_addr=http://edgevault-0.edgevault-internal:8200 error="error during raft bootstrap init call: context deadline exceeded"
Przyczyna
Główną przyczyną tego problemu jest konflikt mutującego elementu webhook w programie Orchestrator, który zakłóca portal.
Ten konflikt występuje, gdy mutujący element webhook programu Orchestrator nie jest prawidłowo skonfigurowany, co powoduje, że przyczepka nie może szyfrować ruchu wychodzącego. W rezultacie logika zakończenia SSL nie jest w stanie prawidłowo obsłużyć ruchu, co prowadzi do chaosu w przestrzeni nazw. Ten problem zwykle występuje w instalacjach, które zostały początkowo zainstalowane przy użyciu oprogramowania 2.2 NativeEdge Orchestrator (NEO) lub wcześniejszych, a następnie uaktualnione.
Objaśnienie
Mutowanie elementu webhook to funkcja platformy Kubernetes, która umożliwia modyfikowanie zasobów, takich jak zasobniki, przed ich utworzeniem lub zaktualizowaniem. W kontekście platformy automatyzacji firmy Dell mutujący element webhook programu Orchestrator odgrywa kluczową rolę we wstrzykiwaniu przyczepek do zasobników. Historycznie rzecz biorąc, instalacje były wykonywane w jednej przestrzeni nazw, eliminując potrzebę selektora przestrzeni nazw. Jednak w przypadku nowszych wersji selektor przestrzeni nazw jest wymagany, aby zapobiec zakłócaniu przez mutujący element webhook programu Orchestrator z innymi składnikami. Dzięki temu iniekcja przyczepki odbywa się w prawidłowej przestrzeni nazw.
Rozwiązanie
Aby rozwiązać ten problem, konieczne jest zmodyfikowanie konfiguracji mutującego elementu webhook programu Orchestrator przed zainicjowaniem procesu uaktualniania.
- Przywracanie migawki sprzed uaktualnienia
- Usuń dane punktu kontrolnego z
ConfigMaps. Pomaga to zapewnić czysty i pomyślny proces aktualizacji. Aby wyjąć ikonęConfigMapsużyj następujących poleceń:
#kubectl get cm -A | grep check hzp checkpoint-data 7 31m #kubectl delete cm checkpoint-data -n hzp
Naprawianie elementu webhook:
Przed rozpoczęciem (lub ponownym uruchomieniem) aktualizacji dodaj następujący wpis do listy webhooks.namespaceSelector.matchExpressions ścieżka w konfiguracji mutującego elementu webhook programu Orchestrator:
kubectl edit mutatingwebhookconfigurations hzp-iam-sidecar-injector
Znajdź następującą sekcję:
....
namespaceSelector:
matchExpressions:
...
Jeśli ta sekcja nie zawiera tego fragmentu kodu, dodaj go. Wcięcia są ważne!
- key: kubernetes.io/metadata.name
operator: In
values:
- hzp
Uniemożliwia to zakłócanie działania elementu webhook mutującego programu Orchestrator w portalu. Po zastosowaniu iniekcja przyczepki nie jest stosowana do przestrzeni nazw "portal". Rozwiązuje to problem napotkany we wszystkich kapsułach.