${OVERLEAF_SITE_URL}/git/<project id> kautta; Ayakaleaf Pro -pod välittää nämä pyynnöt git-bridgelle, ja git-bridge kutsuu takaisin podia projektin sisältöä ja historiaa varten. Sen käyttöönotto ottaa käyttöön myös MCP-palvelimen, ja GitHub-, GitLab-, Gitea- ja Dropbox-synkronointi edellyttävät sitä.
Tämä sivu laajentaa sivun Kubernetesin käyttäminen yhden replikan asennusta. Useita replikoita varten katso Horisontaalinen skaalaus.
1
Ota git-bridge käyttöön
45-git-bridge.yaml
10.96.100.80 on oltava vapaa osoite klusterisi service-CIDR-alueella (kubeadmin oletus on 10.96.0.0/12).2
Osoita Ayakaleaf Pro siihen
Lisää tiedostoon
30-config.yaml:30-config.yaml (additions)
3
Kloonaa projekti
Luo Git-todennustunniste kohdassa Account Settings ja suorita sitten:Käytä käyttäjänimenä
git ja salasanana tunnistetta.Miksi manifesti näyttää tältä
- Kiinteä ClusterIP
GIT_BRIDGE_HOST-arvona. Ayakaleaf Pro -imagen sisäinen nginx välittää/git/-pyynnöt resolverilla, joka on asetettu osoitteeseen127.0.0.11, Dockerin sisäänrakennettuun DNS:ään. Kubernetesissa siellä ei ole DNS-palvelinta, joten isäntänimi kutengit-bridgeepäonnistuu virheellä502, ja tiedostossa/var/log/nginx/error.lognäkyy ”git-bridge could not be resolved”. IP-osoite ei tarvitse nimihakua. overleaf-internal. git-bridge tarvitsee Ayakaleaf Pro -podin portit3000(web-API) ja3100(historia). Erillinen ClusterIP-Service pitää ne klusterin sisällä; niiden lisääminen NodePort-Serviceen julkaisisi ne jokaisella solmulla.enableServiceLinks: false. Servicegit-bridgesaisi Kubernetesin lisäämään podiin muuttujanGIT_BRIDGE_PORT=tcp://10.96.100.80:8000; git-bridge lukeeGIT_BRIDGE_PORT-arvon kuunteluporttinaan ja pysähtyy virheeseenMalformedJsonException ... path $.port.- Yksi replika omalla taltiollaan. git-bridge säilyttää levyllä git-repositorion jokaista kloonattua projektia kohden, eikä sitä saa ajaa kahtena instanssina. Varmuuskopioi sen taltio.
Testattu Kubernetesissa
Kubernetes 1.37:ssä kolmella replikalla HAProxyn takana ja git-bridgeoverleaf-0:n sisarena Git-integraation päästä päähän -testimme menevät läpi (19 tapausta), myös kun git-bridge siirrettiin porttiin 8001, jolloin nginxin on käytettävä arvoja GIT_BRIDGE_HOST ja GIT_BRIDGE_PORT: Git-tunnisteet tilin asetuksissa, kloonauskomento editorissa, kloonaus, push ja pull, binääritiedostot ja kansiot, uudelleennimeämiset ja poistot, vanhentuneiden pushien hylkääminen, roolin mukainen pääsy (kutsutut muokkaajat ja linkin kautta tulleet muokkaajat voivat pushata, katselijat ja arvioijat voivat vain kloonata, käyttäjät ilman pääsyä hylätään), väärien ja poistettujen tunnisteiden hylkääminen, git-bridgen sisäisten reittien pitäminen nginxin takana sekä jäädytetyt tilit. Itse Git-todennustunnisteet (luominen, listaus, käyttäjäkohtainen raja, poistaminen, vanheneminen, tarkistus, jota git-bridge pyytää webiltä, sekä jäädytettyjen ja poistettujen tilien tunnisteet) menevät läpi yhdellä replikalla (16 tapausta).
Kysymyksiä ja vastauksia
git clone palauttaa 502.
git clone palauttaa 502.
Vastaus: Tarkista
GIT_BRIDGE_HOST: sen on oltava git-bridge-Servicen IP-osoite, ei sen nimi, katso yllä. kubectl -n overleaf exec deploy/overleaf -- tail /var/log/nginx/error.log näyttää syyn.
