1. Koti
  2. /
  3. Uutiset
  4. /
  5. WikiJS:n asentaminen OpenShiftiin

WikiJS:n asennus OpenShift / OKD 4:lle

WikiJS:n asentaminen OpenShift / OKD 4:ssä Crunchy PostgreSQL:n avulla

Binero Groupilla työskentelemme joka päivä parantaaksemme ohjelmistojen toimitusta. Yrityksellä on avoimen lähdekoodin periaate verissään, ja tällöin pyrimme antamaan asiakkaillemme ja käyttäjille kehittämämme tuotteet mahdollisimman paljon takaisin.

Kun etsimme Kubernetes-pohjaista Wikia, törmäsimme WikiJS:ään, moderniin Wikiin, joka tukee markdown-tiedostoja ja useita tallennustakuita, kuten git ja PostgreSQL.
Verkkosivusto tarjoaa tietoa asennuksesta Kubernetesissä, mutta OpenShiftissä on joitakin lisäturvallisuusominaisuuksia, jotka on otettava huomioon ohjelmistoa asennettaessa.

Jos haluat siirtyä suoraan koodiin ja lyhyeen selitykseen, voit löytää Git-repon täältä, jonka tarinan aloitti projekti, mutta lue toki lisää, jos haluat tietää enemmän asennuksen taustasta.

Ensinnäkin haluamme käyttää tuotteita, joilla on suuri asennuskanta ja korkea automaatiotaso, jotta ohjelmiston ylläpitotyöt pysyvät mahdollisimman vähäisinä: haluamme keskittyä mahdollisimman paljon tehokkaaseen käyttöön ja hyödyntää Kubernetesin tarjoamia mahdollisuuksia. Tästä syystä valitsimme käyttää Crunchy Data Postgres -operaattoria PostgreSQL:n asentamiseen WikiJS:n tallennustakuna, koska se on parhaiten tuettu.

Sitten näytämme, miten rakennetaan docker-kuva, joka voidaan lisätä sisäiseen repositorioon tarpeen mukaan ja käyttää ns. sideloading-tilassa, mikä tarkoittaa, että asennuksen tarvitsemat tiedostot pakataan säilöön, joten internet-yhteyttä tiedostojen hakeamiseen alustuksen aikana ei tarvita. Kuva on julkisesti saatavilla Docker Hubissa ja sitä päivitetään tällä hetkellä manuaalisesti – tämä saattaa muuttua tulevaisuudessa, suositamme asettamaan rakennuksen itsellesi varmistaaksesi tarvitsemasi uusimman version.

Aloitetaan!

WikiJS Openshiftissa / OKD 4:ssä

Kuinka asentaa WikiJS Openshift 4:ään (käyttäen sideloading-tilaa)

Esivaatimukset:

  • käynnissä oleva Openshift- tai OKD-klusteri, jossa on pysyvä tallennustila asetettuna
    Esimerkit koskevat mitä tahansa OKD- tai OpenShift 4 -klusteria, kuvakaappaukset on otettu OKD:stä, joka toimii CRC:llä (nyt OpenShift local), kuten on kuvattu täällä
1. Luo projekti:
oc new-project wikijs

Vaihtoehtoisesti mene osoitteeseen https://console-openshift-console.apps-crc.testing/k8s/cluster/projects ja klikkaa Create Project ja nimeä se wikijs

2. Asenna Crunchy Postgres Kubernetes-operaattori OperatorHubista tai seuraa ohjeita tästä:

https://access.crunchydata.com/documentation/postgres-operator/v5/quickstart/

Valitse kaikki nimiavaruudet, jos haluat sen olevan käytettävissä useammassa kuin yhdessä, muuten käytä aiemmin luomaamme wikijs-nimiavaruutta

3. Asenna postgres-tietokanta seuraavasti, varmistaen, että oc-komentosi käyttää oikeaa kontekstia. Muuta arvoja tarpeen mukaan – tällä hetkellä se on 20 Gt.
oc apply -f postgres.yaml
4. Nyt sinulla pitäisi olla PostgresCluster CR asennettujen operaattoreiden välilehdellä:

Sinun pitäisi pystyä muodostamaan yhteys paikalliselta koneelta psql:llä näin (varmista, että psql on asennettu):

PG_CLUSTER_PRIMARY_POD=$(oc get pod -n wikijs -o name -l postgres-operator.crunchydata.com/cluster=wikijs,postgres-operator.crunchydata.com/role=master)

kubectl -n wikijs port-forward "${PG_CLUSTER_PRIMARY_POD}" 5432:5432 &

PG_CLUSTER_USER_SECRET_NAME=wikijs-pguser-wikijs
PGPASSWORD=$(kubectl get secrets -n wikijs "${PG_CLUSTER_USER_SECRET_NAME}" -o go-template='{{.data.password | base64decode}}') PGUSER=$(kubectl get secrets -n wikijs "${PG_CLUSTER_USER_SECRET_NAME}" -o go-template='{{.data.user | base64decode}}') PGDATABASE=$(kubectl get secrets -n wikijs "${PG_CLUSTER_USER_SECRET_NAME}" -o go-template='{{.data.dbname | base64decode}}') psql -h localhost

Sinun pitäisi saada shell, joka näyttää, että yhteys käyttää TLS:ää, mikä on tämän operaattorin oletus.

5. Minulle ei toiminut, että WikiJS yhdistäisi PostgreSQL:ään SSL:llä, minun piti lisätä CA-sertifikaatti, kuten dokumentaatiossa on kuvattu:

(DB_SLL_CA - Tietokannan CA-sertifikaatin sisältö, yhtenä rivinä ilman välilyöntejä tai rivinvaihtoja, ilman etu- ja loppurivejä. (valinnainen, vaatii version 2.3+))

Tämä tallennetaan pgo-root-cacert-salaisuuteen, suorita skripti saadaksesi sen oikeaan muotoon:

./getPsqlRootCAString.sh

Se antaa jotakin tällaista:

MIIBgTCCASegAwIBAgIQFlUx8CFOhxtbNv8baQQh7jA
KBggqhkjOPQQDAzAfMR0wGwYDVQQDExRwb3N0Z3
Jlcy1vcGVyYXRvci1jYTAeFw0yMjExMjUxMjM1NDNaFw
0zMjExMjIxMzM1NDNaMB8xHTAbBgNVBAMTFHBvc3
RncmVzLW9wACBhdG9yLWNhMFkwEwNHKoZIzj0CA
QYIKoZIzj0DAQcDQgAElokygIJH/U06gVTTQRZB0B1
cdSV8bP/HWVJ7BYOhcuOUymQsPnKDg27DgQSa9z
VVLADHf24vuMg8Uo/NDfjaf6NFMEMwDgYDVR0PAQ
H/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFN/HmCEkp7HKceaU/QACugp4tu/
LMAoGCCqGSM49BAMDA0gAMEUCIQC/qZJx55pqz
B0QmSRL6UmhnSeUl85rf2+X3eods2miKgIgM3swV3
UuTMgdDm8scsW1aDwhkPpCkwOXbaM0mX2jDvM=

Lisää tämä deploymentConfig.yaml-tiedostoon, katkelma:

- name: DB_SSL_CA
value:
MIIBgTCCASegAwIBAgIQFlUx8CFOhxtbNv8baQQh7jA
KBggqhkjOPQQDAzAfMR0wGwYDVQQDExRwb3N0Z3
Jlcy1vcGVyYXRvci1jYTAeFw0yMjExMjUxMjM1NDNaFw
0zMjExMjIxMzM1NDNaMB8xHTAbBgNVBAMTFHBvc3
RncmVzLW9wACBhdG9yLWNhMFkwEwNHKoZIzj0CA
QYIKoZIzj0DAQcDQgAElokygIJH/U06gVTTQRZB0B1
cdSV8bP/HWVJ7BYOhcuOUymQsPnKDg27DgQSa9z
VVLADHf24vuMg8Uo/NDfjaf6NFMEMwDgYDVR0PAQ
H/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFN/HmCEkp7HKceaU/QACugp4tu/
LMAoGCCqGSM49BAMDA0gAMEUCIQC/qZJx55pqz
B0QmSRL6UmhnSeUl85rf2+X3eods2miKgIgM3swV3
UuTMgdDm8scsW1aDwhkPpCkwOXbaM0mX2jDvM=

Nyt olemme valmiita ottamaan sen käyttöön.

6. Julkaisutiedosto sisältää viittauksen mainitun viittauksen tekijän tekemään docker-kuvaan. Kuten mainittu, tämän voi rakentaa mukana tulevasta Dockerfilestä.

Mukavuuden vuoksi voimme käyttää kyseistä kuvaa, tai käyttäjän omansa, rakentaa kuvan ja merkitä sen:
docker build -t käyttäjänimi/repository-nimi .

Käytin docker hubia :

docker build -t vgerris/wikijs:2 .

sitten työntää sen haluamaasi rekisteriin ja päivittää viittaus julkaisutiedostossa
lisätietoja : https://docs.docker.com/engine/reference/commandline/push/

docker push vgerris/wikijs:2

Ota käyttöönotto nyt käyttöön:

oc apply -f deploymentConfig.yaml
7. Nyt kun sovellus on otettu käyttöön, voimme lisätä palvelun ja reitin, jotta se voidaan julkaista. Päivitä reittitiedosto palvelimesi URL-osoitteella:
oc apply -f service.yaml
oc apply -f route.yaml

Sovelluksen pitäisi nyt olla käynnissä ja reitillä saatavilla, voit viimeistellä sen asetukset.

Nauti WikiJS:stä!

Valinnainen
Jos sinulla on olemassa oleva kokoelma Markdown-tiedostoja (MD), voi olla hyödyllistä lisätä ne wikiin. Lisätietoja siitä, miten se asetetaan gitissä tallennettaessa, löytyy täältä.
Tiedostot indeksoidaan ja lisätään WikiJS:ään, ja niitä voi muokata suoraan Markdown-editorilla. Bonuksena WikiJS:ssä on diagrammi-lisäosa, joka tekee draw.io-pohjaisten diagrammien lisäämisestä suoraan asiakirjoihin todella helppoa.

OpenID-yhteyden käyttöönotto esimerkiksi Keycloakilla on myös melko helppoa.
Hallinnassa mene kohteeseen todennus, lisää strategia ja valitse Keycloak.
Luo Keycloakissa asiakas ja täytä vaaditut kentät.
Poista vieraskäyttäjä käytöstä, jos et halua, että wikisivusto on julkinen, katso:
https://docs.requarks.io/groups ( Yksityinen Wiki)

 

Binero Group tarjoaa OKD:n Binero-pilven päällä ja myös täysin tuetun Red Hat OpenShift Container Platformin isännöitynä tai täysin hallinnoituna ratkaisuna Ruotsin datakeskuksissa, GDPR-yhteensopivana.

Kokeile Binero-pilveä ja ota meihin yhteyttä, jos sinulla on kysyttävää, autamme mielellämme!

Luo tili Binero-pilvessä

Jaa tämä artikkeli

Aiheeseen liittyvät artikkelit

Haluatko tietää lisää?

Meitä ajaa halu auttaa asiakkaitamme saavuttamaan enemmän innovaatioita ja kustannustehokasta IT:tä. Haluaisitko sinäkin hyödyntää uusimpia korkeasuorituskykyisiä pilvipalveluita?