Posts by michaeleifel

    Betreibt jemand zufällig eine Gitea Instanz auf dem Webhosting oder kennt sich sehr gut aus und kann mir paar Kickoff Tipps geben?


    Normalerweise nutze ich ja Ansible / Docker / Kubernetes für Setups, aber brauche aktuell was Server unabhängiges wo ich paar private Ansible Playbooks hosten kann und wollte dafür das Webhosting Paket "missbrauchen".


    Danke

    Ich hoffe es ist OK dass ich hier einen neuen Beitrag verfasse anstatt den alten anzupassen.


    Heute morgen war es wieder soweit, ich hatte eine Deadlock Kombination zwischen 2 Servern gehabt, die im selben Moment meinten Master werden zu müssen. Zwar haben sie sich innerhalb von 1 sek geeinigt, der SOAP Call war allerdings trotzdem schon unterwegs. Aufgrund dessen habe ich weitere Anpassung im Keepalived Setup vorgenommen und ein rudimentäres Shellskript geschrieben.



    Es deckt rudimentär meine Funktionen ab die ich brauche und hat zumindest ein paar simple Checks (netcup API / URL da) drin statt nur einen einfach Curl Request. Zudem habe ich den Parameter "notify_master_rx_lower_pri" ebenfalls auf das Skript angesetzt. Allerdings kann ich die Aussage:


    Quote

    Bei einer MAC von 00:00:00:00:00:00 wird die IP aus der Routingtabelle gelöscht und diese muss vor einer weiteren Verwendung erst neu zugeordnet werden. Beim Löschauftrag muss als destinationVserverName der Server angegeben werden, auf den die IP aktuell geroutet ist.

    von https://www.netcup-wiki.de/wik…rvice#Web_Service_Methods noch nicht bestätigen. Trigger ich den entsprechenden SOAP Call auf einer Node, welche aktuell nicht die FloatingIP hat, so wird diese vom anderen Server getrennt. Für Anregungen / Ideen bin ich weiterhin offen.


    Die entsprechenden referenzierten XML Files werden per Ansible (Vault) mit den Parametern gefüttert. Finde ich "persönlich" lesbarer als InlineCode.


    Gruß

    Die Problematik kenne ich. Darüber bin ich damals auch bei meinen Keepalived Setups gestolpert. Was aber helfen könnte, wäre folgende Option


    ```
    preempt_delay 60

    ```


    Das sollte das zu häufige "Flappen" des Masters etwas abmildern. Bei Bedarf noch etwas höher setzen.

    Aus meiner Erfahrung gewinnt immer der erste SOAP Befehl, solange dieser noch "in Arbeit" ist. Bei mir hatte das damals immer so um die 30 Sekunden gedauert, bis die Failover IP Adresse erfolgreich zugewiesen wurde. Wenn dann zwischenzeitlich Keepalived die Floating IP selbst wieder gewechselt hat, hat sie aber trotzdem auf den falschen Server gezeigt und der Service war schlussendlich nicht erreichbar.


    Vielen Dank für den Input. Bei mir verhielt es sich wegen der IP ähnliich, weswegen ich mittendrin sogar mit Dummy IPs im VRRP Service gearbeitet hatte. Hab mein Setup gestern mal entsprechend angepasst und werde berichten.


    Falls jemand Interesse hat kann ich dass mal auf Github packen. Dass ganze ist momentan ein Helm Chart was ich aus einem anderen Github Projekt für Netcup leicht angepasst habe. Die Informationen welche für die SOAP Kommunikation noch notwendig sind (vServer, MAC Adresse) werden vom Container selbst beim Start vom Hostsystem gelesen.

    Hallo zusammen,


    ich bastele aktuell an meinem Keepalived Setup wieder. Die Healthchecks etc. laufen bereits alle selber und alle notwendigen Checks sind in Verwendung.


    Leider hab ich ein paar Dinge entdeckt welche ich noch gerne verbessern würde und wollte mal fragen ob jemand mir da evtl. Tipps geben kann

    oder man sich zum Setup austauschen kann. Auch für Hinweise in der Dokumenation bin ich dankbar.:)



    Aktuell hab ich folgendes Setup:

    - Jede Node hat Healthchecks wie bspw Kubernetes API Erreichbarkeit, Ingress Status, Healthchecks vom Monitoringagent

    - Jede Node hat bereit die notwendingen FloatingIPs konfiguriert, da ich Probleme hatte wenn ich diese dynamische von Keepalived verwalten lasse

    - Alle Nodes sprechen per CloudVLAN miteinander und einigen sich, wer der Master ist

    - Beim Übergang zum Masterstate führe ich dann per Curl den SOAP Request aus welche die Zuweisung der IP auf diese Node dann vornimmt (notwendige Informationen sind automatisiert, dynamisch über System Informationen ausgelesen)


    Aktuelle "Nichtigkeiten":

    - Curl Befehl wird ausgeführt (/usr/bin/curl -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction:' -d @/etc/keepalived/netcup_failover.xml -X POST https://www.servercontrolpanel.de:443/WSEndUser)

    - Dieser gibt innerhalb von 1 Sek bereits einen Statuscode zurück, weswegen aus keepalived sicht der prozess abgeschlossen ist

    - Innerhalb der nächsten 10 Sekunden kommt es zu einem erneuten Masterstate wechsel, weswegen die nächste Node den Curl Befehl absetzt



    Wie kann ich bspw ein skript formulieren, welches erst wenn die FloatingIP der Node "wirklich" zugewiesen ist terminiert?:/


    Und wie handelt die Netcup SOAP diese Befehle?

    - gewinnt automatisch der letzte Befehl?:?:

    - werden weitere Anweisungen der IP Zuweisung blockiert wenn der Vorgang noch nicht abgeschlossen ist?:?:



    Gruß

    Als aktuelles Beispiel von mir selber:

    - 3 Debian 10 RS 4000 Maschinen melden zum selben Zeitpunkt eine Störung des DNS Resolvers beim Versuch google.de aufzulösen:

    - IPs und DNS Resolver sind statisch konfiguriert

    - Nur 1 von 3 DNS Resolver ist gestört gewesen


    resolver.png


    Nächster Check war dann wieder grün.

    Ich glaube es würde helfen weitere Details zu kennen, vorher ist es Rätselraten:


    - Läuft Windows auf der kIste?

    - IP statisch konfiguriert?

    - IPv6 konfiguriert?

    - Was sagt das Monitoring zu dieser Zeit (falls vorhanden)

    - Sind es nur pings oder welche Ressourcen sind nicht ansprechbar?

    - Was für ne Maschine ist es (vps 200 g8?)

    - Trtt das Problem nur bei Verbindung zu bestimmten Providern auf?

    - Was läuft alles auf der Kiste?

    - Welcher Netzwerktreiber ist im SCP eingestellt?

    - Wurden Updates auf dem System eingespielt welche evtl. dieses Problem verursachen?

    - Tritt das Problem nur auf 1 Server auf?

    Kurze Frage: Hast du die Generationen gewechselt? Ansonsten bietet sich doch ein Sidegrade an. Das dauert eigentlich max ~5 Min ( habs schon mehrmals gemacht). Die Gefahr bei Umzug innerhalb der Generationen ist halt bspw dass Interface Namen sich ändern, die Platte vda statt sda heißt etc. was dann auch Supportaufwand erzeugt.


    Mir ist bisher auch kein Provider in der Preisregion bekannt der solche Aktionen unterstützt, wen nur als aufpreispflichtiger Service der pro Stunde dann abgerechnet wird. Die Beträge da sind dann natürlich vielfaches von den monatlichen Kosten. (45€ für ein Debian installer iso mounten bspw!). Hatte da schon im geschäftlichen Umfeld "viel Spaß".


    Zum glück kann man bei Netcup ISO mounten, per preseed + ansible hab ich neue Server in ~7 min fertig und kann dann den Datenrestore per restic / rclone anschmeißen.

    Hallo Rudi,

    nicht verzweifeln. Ich habe hier eine Wordpress Anleitung gefunden bei youtube:

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Von den Schritten her könnte dir das auf die Sprünge helfen. Dass du momentan die WCP Seite siehst, könnte dran liegen dass entweder bspw. der DNS noch nicht auf das richtige Ziel zeigt oder im Webhosting Backend dann noch nicht der Pfad auf die Joomla Installation zeigt.


    Gruß

    Wie hast du den Wechsel durchgeführt? Die RKE-Doku sagt, dass der Network Provider nicht verändert werden kann und in der Flannel-Doku steht auch, dass man das Backend nicht im Betrieb ändern soll.

    Hab das beim "rke up" gesetzt. Die Doku schreibt den Satz halt rein weil es halt zu einer Unterbrechung kommt wenn bspw von Calico -> Flannel gehst etc oder auch beim Backendtype. Sofern man sich aber etwas "auskennt", lässt sich das nachts in einer geplanten Aktion einfach durchziehen. In der RKE config sieht das bei mir wie folgt dann aus (eth1 ist das cloud vlan, hab net.ifnames=0 in der grub und deswegen die alten Interface Namen.):



    Code
    network:
      plugin: canal
      options:
        canal_iface: eth1
        canal_flannel_backend_type: host-gw

    Der relevante Eintrag stammt aus der Flannel Doku ( https://github.com/coreos/flan…Documentation/backends.md)


    Im laufenden Betrieb (falls keine andere Möglichkeit sich ergibt) würde ich erst alle Deployments auf 0 setzen so dass nur der Kubernetes Core läuft (api, coredns, nodelocaldns), warten bis Ceph / Longhorn alles synced hat und dann die Änderung vornehmen. Weave hat anscheinend aktuell nen kleinen Bug der sich durch das bearbeiten des Daemonsets beheben lässt: https://github.com/weaveworks/weave/issues/3816


    Gruß

    michaeleifel Läuft das dann bei dir trotzdem über das Cloud-VLAN? Ich hatte auch mal überlegt, per Wireguard über die Public Interfaces zu kommunizieren, aber dann hat man auch wieder eine zusätzliche Fehlerquelle.

    Hab mir extra dafür das (https://www.netcup.de/bestellen/produkt.php?produkt=2298 ) gegönnt da ich noch auf längere Zeit an G8 Server gebunden bin ( hatte kleine Fehlplanung und kurz vor G9 Launch fertig umgebaut...)


    Ich nutze auf allen Systemen ein selbst provisioniertes Debian per preseed bei allen Providern am laufen das danach durch Ansible ergänzt wird. Somit hab ich überall das gleiche System und kann Fehlerquellen schnell eingrenzen. RancherOS hatte ich mal testweise am laufen aber irgendwie komme ich dann doch immer wieder zu Debian zurück, zumal nach der Installation es nur 800 mb an Festplatte nutzt da es minimalistisch gehalten ist. Per Backprots paar aktuelle Pakete wie Kernel.


    Seit dem Wechsel auf Host Gw als Backend hab ich keine Probleme mehr. Wireguard hatte ich auch ne Zeit lang im Einsatz, das hatte allerdings bei nem anderen Provider Startup Zeiten von 30 Sekunden (liegt am eingesetzten Hypervisor des Provider Virt..zo) und deswegen habe ich micht einfachheitshalber für das Cloud VLAN entschieden. Kann mich nicht beschweren, keine wegknallenden Volumes, hier nen kleiner fio test:


    Ich nutze aktuell ein aktuelles Debian ohne dem Cloud vLAN.

    Denkt ihr das Cloud vLAN würde was bringen, aktuell ist es so, dass das Free Cloud vLAN bei 100 Mbit langsamer wäre wie die aktuellen 1GBit die wir sowieso schon haben. Deswegen zögere ich da noch das auszuprobieren.

    Meint ihr Cloud vLAN wäre trotzdem sinnvoll? Wenn es wirklich was bringt kann man sich ja noch immer ein schnelleres (bis 2,5 Gbit) besorgen.

    Ich würde nicht nur die Geschwindigkeit an der Stelle beachten sondern auch wie die Anbindungen sind bzgl Latenz, Routing etc.

    Bspw habe ich bei nem anderen Provider das Problem das wenn ich deren public interface nutze die Kommunikationswege zwischen den Nodes auch nur mit 99% SLA abgedeckt sind. Erst durch deren zusätzliches internes Netzwerk ist sichergestellt dass der kürzeste Weg zwischen den Nodes genommen wird was man auch massiv in der Latenz spürt. Eigentlich würde ich ja erwarten dass wenn das andere Ziel innerhalb vom RZ ist der Traffic nicht 1mal bis Frankfurt und zurück geht, allerdings kenne ich da einen Anbieter wo das tatsächlich der Fall ist, aber da sind auch DNS Resolv Zeiten von 2 Sekunden für die Hotline "normal".


    Zuerst habe ich auch mit dem Free ausprobiert, aber eher halt bezogen auf Latenzen, Stabilität etc. Über das VLAN läuft auch sämtliche Kommunikation meiner Nodes und nach außen auf dem Public sind es dann nur eine handvoll Ports die dort überhaupt "lauschen". Ausprobieren mit dem Free kann ja nicht schaden, nur halt nicht Wunder erwarten bei der Geschwindigkeit.


    Gruß

    Hallo zusammen,

    welches OS verwendet ihr denn? Nutzt ihr nen VLAN für die Kommunikation zwischen den Nodes oder das Public Interface?


    Ich habe RKE (https://github.com/rancher/rke) im Einssatz (was ja bei Rancher zuerst deplyoed wird) mit Canal als CNI und Backend Host-GW ( https://coreos.com/flannel/docs/latest/backends.html ) Mit VxLAN, was der default ist, hatte ich in der Tat auch leichte Probleme.


    Als Storage nutze ich Ceph und das läuft saustabil.

    Gruß

    Vielen Dank für die Kommentare und den Input.


    Ich hatte mir das intern auch schon gedacht. Leider konnte ich den SOA Eintrag nicht modifizeren da dies vom bisherigen Anbieter "aus Sichterheitsgründen" nicht supported wird. Die Einträge selber haben bei mir in der Regel eine TTL von ~30 min ( für Lesestoff: https://blog.apnic.net/2019/11…idiculously-low-dns-ttls/). Als negatives Beispiel führe ich gerne das hier an:


    Code
    paymenthub.****.com. 300 IN     CNAME   ***.cloudapp.net.
    ***.cloudapp.net. 10 IN A XXX.XXX.XXX.XXX

    Das verursacht einen Großteil unnötigen Traffic aus meiner Sicht und wäre mit einem LB eleganter gelöst da die Applikation ständig nur DNS am resolven und lässt sich nicht vernünftig cachen.


    Die Domain löst nach den abgelaufenen 24 Stunden jetzt auch bei Netcup sauber auf. Falls jemand weiß welchen Upstream die nutzen könnte man evtl ja darüber die Sache was "beschleunigen".


    Gruß

    Hallo zusammen,

    ich habe bereits im Forum recherchiert zu dem Thema DNS. Aktuell hab ich eine Domain von Provider 1 zu Provider 2 Nameserver technisch umgezogen. TTL etc. hatte ich auf niedrigen Werten. Alle Internet Resolver liefern auch schon brave die neuen Einträge, allerdings hängen die im Wiki genannten Server ( https://www.netcup-wiki.de/wiki/Nameserver ) aktuell auf "SERVFAIL" fest. <X,was auch kleine Lücken im Monitoring auslöst Da ich prinzipiell natürllich lieber die RZ internen Resolver nutzen wollte, stellte sich mir die Frage ob ich irgendwie "flush" ähnlich wie bei google, opendns etc. machen kann. Im Forum bin ich nur über ( https://forum.netcup.de/netcup…aum-domainumzug/?pageNo=1 ) gestolpert.


    Die Domäne selber ist bei Netcup gekauft und nur die NS Einträge zeigen auf die externen Provider zwecks Vermeidung Single Point of Failures bei einzigem DNS Anbieter. Wäre nice wenn es dort was geben würde..


    Hat jemand evtl. weiteren Input für mich oder hat schon mal die Situation gehabt?


    Gruß,

    Michael

    Ich gehe mal von aus dass die Konfiguration entsprechend auf die internen Interface gelegt ist und nicht rein zufällig doch die public nutzt?


    Hatte zuerst glusters, mittlerweile Ceph und kann mich nicht über Performance beschweren. MTR zeigt avg. 0.4ms zwischen den Nodes bei meinen AdHoc Tests:


    Code
    HOST: srv1               Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- 172.16.0.11       0.0%   100    0.4   0.4   0.3   0.7   0.1

    Hab auch mal in mein altes Ansible Playbook für glusterfs geguckt. Hab dabei immer die Internen IPs und keine Hostnamen etc. verwendet für alle Fälle. Hast du paar Details bereit welches OS, GlusterFS Version etc?

    Did you made a reboot to the server, after you had configured it?

    Have you told this to the support?


    [netcup] Felix P. Because it seems that this is an bigger issue - may we can have a statement of netcup? Are there any other known reasons for this problems?

    Yes, the Server were all completely shut down, also with the SCP Button "Power off" after being configured.

    Funny things is that it seems random if it works currently or not. Like right now 1 of the 6 servers i can reach with IPv6, even though it takes a few seconds before the first ping comes back. And all of them can do ping6 netcup.de, but this does not mean i can also ping them from my home.


    I did not reach out to Support yet for this as i happily don't need to rely on IPv6 only.