1. Keine Credits
Im Container oder Cluster kann der Core unter Umständen keine Credits sammeln. Folgende Fälle sind bekannt:
1.1. Keine Credits im Container
In einigen Container Umgebungen kann der Core keine Credits sammeln.
In diesem Fall muss der Container zwingend im Host-Network Modus laufen.
1.2. Keine Credits trotz Upload (weitere Ursachen)
Der Core vergibt Upload-Credits nur für Peers mit öffentlicher IP. Sieht der Core als Absender eine private Adresse, werden keine Credits gutgeschrieben, auch wenn der Upload läuft.
Mögliche Ursachen:
- Etwas zwischen Internet und Core ersetzt die IP des Peers, z. B. NAT oder ein Proxy im Router, in der VM oder im Cluster (bei Kubernetes siehe Punkt 1.3)
- Rootless Docker oder Podman: der Core sieht dort immer eine interne IP
- Der Host hat ein VPN oder ein Netz mit sehr großem Subnetz, der Core hält Peers dann für lokal
- Der Peer sitzt im eigenen LAN, Uploads ins LAN geben nie Credits
1.3. Keine Credits trotz Upload (Kubernetes / k3s)
kube-proxy ersetzt die Quell-IP der Peers durch eine interne IP, der Core vergibt dann keine Credits.
Lösung: im Service externalTrafficPolicy: Local setzen.
apiVersion: v1
kind: Service
metadata:
name: applejuice-core
spec:
type: LoadBalancer
externalTrafficPolicy: Local
selector:
app: applejuice-core
ports:
- name: p2p
port: 9850
targetPort: p2p
protocol: TCP
2. Container Volumes haben keinen Inhalt
Wenn Volumes in den Container gemountet wurden und diese keinen Inhalt anzeigen,
dann stimmen die Berechtigungen nicht überein.
Der Container läuft standardmäßig mit den UID 1000 und GID 1000 Umgebungsvariablen.
Diese Umgebungsvariablen müssen im Regelfall an die UID eines Nutzers angepasst werden,
welcher das Volume auch einsehen kann.
3. Wie grenze ich RAM des Core im Container ein?
Der RAM des Cores im Container kann ausschließlich beim Erstellen des Containers wie folgt eingeschränkt werden:
--memory="2GB" (Beispiel für 2 GB RAM), siehe auch docker.com
Damit das wirklich funktioniert, müssen unter Linux zwingend die cgroups aktiviert sein.
cgroups sind bei den meisten Linux-Distributionen standardmäßig aktiviert.
Ob die cgroups aktiviert sind, kann mit folgendem Befehl überprüft werden:
cat /proc/cgroups (Wenn eine Liste erscheint, sind die cgroups aktiviert)
4. Passwort Änderung wird nicht angenommen
- Problem: Passwort Änderung wird nicht angenommen
- Ursache: Wenn das Passwort über
docker attach ajcoregeändert wird, werden keine Großbuchstaben akzeptiert - Lösung: Passwort über ein GUI ändern