🐦 Add ldapweb on hscloud.ovh tutorial
parent
2dc1cd7abb
commit
f0d3652737
|
@ -0,0 +1,103 @@
|
||||||
|
# Tworzenie publicznej usługi w hscloud
|
||||||
|
|
||||||
|
W tym rozdziale przedstawię, jak stworzyć usługę, która będzie dostępna publicznie w Internecie.
|
||||||
|
|
||||||
|
## Tworzenie kopii ldapweb
|
||||||
|
|
||||||
|
Zaczynamy od włączenia środowiska nix-shell:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd hscloud
|
||||||
|
nix-shell
|
||||||
|
```
|
||||||
|
|
||||||
|
Zaczynamy w katalogu `hscloud`, z włączonym środowiskiem `nix-shell`. Jeśli w folderze `//personal` jeszcze nie masz swojej przestrzeni nazw, to ją tworzymy:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir personal/$hs_username
|
||||||
|
```
|
||||||
|
|
||||||
|
Kopiujemy do przestrzeni roboczej konfigurację usługi `ldapweb`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp -r hswaw/ldapweb/ personal/$hs_username/
|
||||||
|
cd personal/$hs_username/ldapweb/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Modyfikacja usługi
|
||||||
|
|
||||||
|
Konfiguracja `ldapweb` zawiera się w pliku `prod.jsonnet`. Format `jsonnet` jest bardzo podobny do `json`, ale pozwala na użycie zmiennych, funkcji oraz importowanie innych plików.
|
||||||
|
|
||||||
|
Interesuje nas początkowy fragment pliku:
|
||||||
|
|
||||||
|
```jsonnet
|
||||||
|
local kube = import "../../kube/kube.libsonnet";
|
||||||
|
|
||||||
|
{
|
||||||
|
local top = self,
|
||||||
|
local cfg = self.cfg,
|
||||||
|
|
||||||
|
cfg:: {
|
||||||
|
name: 'ldapweb',
|
||||||
|
namespace: 'ldapweb',
|
||||||
|
domain: 'profile.hackerspace.pl',
|
||||||
|
image: 'registry.k0.hswaw.net/radex/ldap-web:1695486391',
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Import następuje z pliku `kube.libsonnet` w folderze `kube` w folderze `hscloud`. Aby w tym wypadku import przebiegał poprawnie, potrzebujemy cofnąć się o jeden folder więcej: `../../../kube/kube.libsonnet`.
|
||||||
|
|
||||||
|
Konfiguracja `hscloud` pozwala na przestrzeń nazw jedynie w formacie `personal-$hs_username`. Dodatkowo, musimy zmienić domenę na `test.hscloud.ovh`. Na końcu, zmieniamy nazwę usługi na `test`.
|
||||||
|
|
||||||
|
Ostatecznie, powyższy fragment pliku `prod.jsonnet` powinien wyglądać tak (pamiętaj o podmianie `$hs_username` na swoją nazwę użytkownika!):
|
||||||
|
|
||||||
|
```jsonnet
|
||||||
|
local kube = import "../../../kube/kube.libsonnet";
|
||||||
|
|
||||||
|
{
|
||||||
|
local top = self,
|
||||||
|
local cfg = self.cfg,
|
||||||
|
|
||||||
|
cfg:: {
|
||||||
|
name: 'test',
|
||||||
|
namespace: 'profile-$hs_username',
|
||||||
|
domain: '$hs_username-test.hscloud.ovh',
|
||||||
|
image: 'registry.k0.hswaw.net/radex/ldap-web:1695486391',
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Logujemy się do klastra:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
prodaccess -username $hs_username
|
||||||
|
```
|
||||||
|
|
||||||
|
Z pliku `prod.jsonnet` generujemy plik `deployment.json`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubecfg show prod.jsonnet > deployment.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Wywołujemy komendę zastosowania zmian:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl apply -f deployment.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Nasza usługa powinna być pod adresem `https://$hs_username-test.hscloud.ovh/`. W trakcie pierwszych paru minut dostaniemy informację o niepoprawnym certyfikacie, ponieważ usługa Let's Encrypt nie zdążyła jeszcze wygenerować certyfikatu dla naszej domeny.
|
||||||
|
|
||||||
|
Aby usunąć usługę, należy wywołać:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl delete -f deployment.json
|
||||||
|
```
|
||||||
|
|
||||||
|
lub
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl delete service $hs_username-test -n personal-$hs_username
|
||||||
|
```
|
|
@ -10,3 +10,7 @@ Wprowadzenie do tworzenia usług w hscloud. Niniejszy zestaw dokumentów ma na c
|
||||||
## Przygotowywanie narzędzi
|
## Przygotowywanie narzędzi
|
||||||
|
|
||||||
- [Budowa środowiska](02-build-environment.md)
|
- [Budowa środowiska](02-build-environment.md)
|
||||||
|
|
||||||
|
## Wdrażanie przykładowej usługi
|
||||||
|
|
||||||
|
- [Wdrażanie usługi ldapweb](03-create-service.md)
|
Loading…
Reference in New Issue