Próbuję uruchomić Nexusa na podstawie tego obrazu w Kubernetes, ale nie działa to z:
mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied
mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permission denied
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to No such file or directory
Z dokumentacji wynika, że proces działa z UID 200 i wolumin musi być podłączony z tymi uprawnieniami:
A persistent directory, /nexus-data, is used for configuration,
logs, and storage. This directory needs to be writable by the Nexus
process, which runs as UID 200.
Próbowałem przeszukać dokumentację, aby znaleźć sposób na zamontowanie woluminu z tymi uprawnieniami, jednak nie mogłem znaleźć żadnego sposobu, aby to zrobić.
Czy ktoś wie, czy w konfiguracji PCV / PV lub wdrożenia można określić, z jakim identyfikatorem UID należy zamontować wolumin? Jeśli tak to jak?
permissions
kubernetes
disk-volume
pv
srkiNZ84
źródło
źródło
command: ["sh", "-c", "chmod 777 /nexus && chown 200:200 /nexus"]
aby upewnić się, że folder jest zapisywalny.Jak powiedział Anton, chociaż nie możemy ustawić UID przy użyciu definicji Pod. Oto kolejne obejście tego tematu.
Proszę odnieść się do oficjalnego dokumentu Kubernetes Konfigurowanie kontekstu bezpieczeństwa dla zasobnika lub pojemnika
Użyłem definicji strąka:
Definicja usługi:
A następnie utwórz pod i usługę bez odmowy dostępu lub innych błędów:
Spróbuj zalogować się do kontenera Nexus3 i sprawdź właściciela / pozwolenie / nexus-data:
Jak widać, katalog należy do katalogu root: nexus, a także można sprawdzić pliki w katalogu:
Taka jest moc SetGID :)
Teraz sprawdźmy, czy usługa działa, czy nie. Używam Minikube do uruchamiania klastra Kubernetes:
Usługa działa zgodnie z oczekiwaniami.
źródło
Odnośnie Torsten Bronger „s komentarzem , podczas konfigurowania ConfigMaps sekrety i wolumenów w macierzy pod spec można określić uprawnienia, aby umożliwić dostęp chcesz korzystania z
defaultMode
nieruchomości, więc gdy nie można ustawić grupę, a użytkownik własności, ty może zezwalać procesom w zasobniku na odczytywanie plików w tych instalacjach. Zapis do tajnej mapy lub konfiguracji nie ma sensu, a domyślny tryb uprawnień to 755, więc czytanie nie powinno stanowić problemu dla żadnego użytkownika.źródło