Od 10 października 2026 r. rejestr pakietów nadrzędnych wymienia wersję 1.3.0 programu Chart jako najnowszą wersję. Instalacja programu Chart to tylko część działającego wdrożenia. Potrzebna jest również publiczna nazwa hosta Collabora, prawidłowy wpis na liście dozwolonych WOPI dla hosta magazynu dokumentów oraz konfiguracja ingress, która przechowuje żądania dla każdego dokumentu w tym samym kontenerze. W momencie pisania tego tekstu rejestr pakietów nadrzędnych wymienia wersję 1.3.0 programu Chart; przed instalacją sprawdź repozytorium, ponieważ wersja programu Helm Chart i wersja obrazu kontenera CODE to oddzielne wartości.
Ta procedura wykorzystuje oficjalny collabora/collabora-onlinewykres i kontroler NGINX Ingress. Plik README wykresu zawiera również przykłady HAProxy; adnotacje ingress są specyficzne dla kontrolera, więc użyj przykładu dla zainstalowanego kontrolera, zamiast mieszać adnotacje.
Co przygotować w pierwszej kolejności
- Klaster Kubernetes z uprawnieniami do tworzenia przestrzeni nazw, wdrażania, usługi i ruchu przychodzącego.
- Helm 3 i zainstalowany kontroler wejściowy, który może zapewnić protokół HTTPS dla nazwy hosta, takiej jak
office.example.com.
- Publiczna nazwa hosta klienta WOPI, taka jak Nextcloud lub Seafile. To host, na który Collabora musi zezwolić; nie jest to nazwa hosta Collabora.
- Sekret Kubernetes dla danych logowania do konsoli administracyjnej Collabora. Nie przechowuj przykładowego hasła do wykresu ani nie wprowadzaj prawdziwego hasła w pliku wartości.
1. Dodaj oficjalne repozytorium wykresów i sprawdź wydanie
Collabora publikuje swój wykres z internetowego repozytorium projektu. Dodaj go, odśwież indeks lokalny i sprawdź metadane wykresu oraz wartości domyślne przed instalacją:
helm repo add collabora https://collaboraonline.github.io/online/
helm repo update
helm show chart collabora/collabora-online
helm show values collabora/collabora-online
Wersja wykresu identyfikuje pakiet, niekoniecznie tag obrazu CODE. Sprawdź repozytorium obrazów i tag w wartościach wydania, a następnie przypnij sprawdzoną wersję wykresu, aby móc ją ponownie zaktualizować.
Utwórz sekret o zasięgu przestrzeni nazw, korzystając z zatwierdzonego procesu zarządzania sekretami. Wartości na wykresie obsługują istniejący sekret i konfigurowalne nazwy kluczy; domyślne nazwy kluczy to usernamei . Przed instalacją passwordsprawdź, czy sekret istnieje w przestrzeni nazw.collabora
2. Ustaw opcje hosta, wejścia i serwera proxy WOPI
Utwórz my_values.yaml. Zastąp obie przykładowe nazwy hostów swoimi rzeczywistymi domenami publicznymi. Wartość aliasgroupsidentyfikuje klienta WOPI (na przykład serwer Seafile lub Nextcloud). Host Ingress server_nameidentyfikuje usługę Collabora, do której docierają przeglądarki użytkowników.
replicaCount: 1
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/upstream-hash-by: "$arg_WOPISrc"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
hosts:
- host: office.example.com
paths:
- path: /
pathType: ImplementationSpecific
autoscaling:
enabled: false
collabora:
aliasgroups:
- host: "https://files.example.com:443"
extra_params: --o:ssl.enable=false --o:ssl.termination=true
server_name: office.example.com:443
existingSecret:
enabled: true
secretName: collabora-admin
usernameKey: username
passwordKey: password
Ten przykład jest zgodny z udokumentowanym przez Collabora wzorcem NGINX dla ingressu: żądania są haszowane za pomocą WOPISrcparametru, a limity czasu odczytu i wysyłania proxy są wydłużane dla sesji dokumentów. Potwierdź nazwy adnotacji z wersją kontrolera ingressu. Jeśli używasz HAProxy, zamiast tego użyj adnotacji HAProxy i konfiguracji równoważenia z pliku README wykresu.
Opcje ssl.enable=falsei ssl.termination=truedotyczą projektu, w którym TLS kończy się na wejściu, a ruch z wejścia do kontenera jest wewnętrzny. Nie oznacza to, że publiczny punkt końcowy powinien używać protokołu HTTP. Zachowaj nazwę hosta wejścia w protokole HTTPS i nie udostępniaj usługi zwykłego protokołu HTTP kontenera bezpośrednio w internecie. Ustaw tę opcję, server_namegdy Collabora znajduje się za odwrotnym serwerem proxy lub nie może bezpośrednio wywnioskować swojej zewnętrznej nazwy hosta.
W przypadku wielu stałych replik, ustaw je replicaCountcelowo i zachowaj powinowactwo sesji. Plik README źródłowy informuje obecnie, że HPA jest wyłączone, ponieważ skalowanie może zakłócać edycję grupową i kopiowanie/wklejanie. Większa liczba replik sama w sobie nie zapewnia prawidłowego routingu; upewnij się, że ruch przychodzący wysyła żądania dotyczące tego samego dokumentu do tego samego kontenera.
3. Zainstaluj Collabora CODE
Zainstaluj wersję z oficjalnego repozytorium i poczekaj, aż wdrożenie będzie gotowe:
helm install --create-namespace \
--namespace collabora \
collabora-online collabora/collabora-online \
--values my_values.yaml
kubectl get pods -n collabora
kubectl get ingress -n collabora
Jeśli aktualizujesz istniejącą wersję, użyj helm upgradetej samej nazwy wersji, przestrzeni nazw i pliku wartości, zamiast tworzyć drugą wersję. Przed uaktualnieniem instancji produkcyjnej zapoznaj się z notatkami dotyczącymi wersji i renderowanymi zmianami na wykresie.
Sprawdź, czy kontener jest gotowy i czy Ingress zgłasza oczekiwanego hosta i adres. Jeśli nadal oczekuje, sprawdź zdarzenia i logi przed zmianą ustawień zasobów:
kubectl describe pods -n collabora
kubectl logs -n collabora deployment/<deployment-name>
Dopasuj rozmiar procesora i pamięci do obciążenia i pojemności klastra. Tabela README zawiera przykładowe żądania i limity, a nie gwarantuje ich skuteczności dla każdego wdrożenia. Uważaj na dławienie, wyłączanie pamięci operacyjnej (OOM) i ponowne uruchamianie.
4. Zweryfikuj odkrycia i edycję dokumentów
Po aktywowaniu protokołów DNS i TLS należy zażądać punktu końcowego wykrywania Collabora za pośrednictwem publicznej nazwy hosta:
curl -fsS https://office.example.com/hosting/discovery
Pomyślna odpowiedź powinna zawierać kod XML wykrywania WOPI, a nie stronę błędu wejściowego lub ostrzeżenie o certyfikacie. Następnie skonfiguruj klienta WOPI z tym samym publicznym adresem URL Collabora i upewnij się, że adres URL Collabora aliasgroupszawiera nazwę hosta HTTPS i port tego klienta. Dokładne ustawienia klienta zależą od produktu pamięci masowej.
Otwórz dokument testowy z poziomu klienta WOPI i wprowadź niewielką zmianę. Sprawdź, czy edytor się załadował. Jeśli wymagana jest współpraca, można dołączyć drugą sesję przeglądarki, a zmiana zostanie zapisana z powrotem w usłudze pamięci masowej. To kompleksowe sprawdzenie obejmuje DNS, TLS (ingressing TLS), routing sesji, autoryzację hosta WOPI oraz transfer plików.
Typowe założenia do sprawdzenia
- „Helm zainstalowany, więc Collabora jest gotowa do produkcji”. Wykres tworzy zasoby Kubernetes, ale DNS, TLS, autoryzacja hosta WOPI, routing przychodzący i rozmiar zasobów nadal zależą od klastra. Sprawdź każdą powyższą pozycję.
- „Host wejściowy i host WOPI to to samo ustawienie”. Często się różnią: host wejściowy to adres publiczny Collabora; host WOPI to serwer pamięci masowej. Umieść każdy z nich w odpowiednim polu wykresu.
- „Więcej replik automatycznie usprawnia współpracę”. Wykres upstream dokumentuje powinowactwo sesji i obecnie wyłącza HPA, ponieważ skalowanie może zakłócać wspólną edycję. Zacznij od jednej repliki lub celowo ustalonej liczby i zachowaj powinowactwo trasowania.
- „Można dostarczyć niewielki fragment XML jako konfigurację niestandardową”. Wartość wykresu
coolwsd_xml_contentzastępuje domyślny plik konfiguracyjny i wymaga pełnej zawartości pliku. Preferuj dedykowane wartości wykresu dla grup aliasów i parametrów, chyba że posiadasz kompletną, zgodną z wersją konfigurację XML.
Oficjalne źródła