Dienste über die ICC zur Verfügung stellen

Allgemeine Hinweise

Durch die Verwendung von kubectl proxy oder kubectl port-forward ist es möglich auf Ihre Dienste innerhalb der ICC zuzugreifen. Sollte es notwendig sein, dass Ihre Dienste auch über HTTPS erreichbar sind, dann müssen Sie für Ihren Dienst einen Ingress anlegen. Dazu finden Sie im nachfolgenden einen Anleitung dafür.

Rechtliche Auflagen

Um den Datenschutz und den Wettbewerbsregeln gerecht zu werden, muss der von Ihnen zu Verfügung gestellte Dienst entweder über eine Zugangsbeschränkung oder über ein korrektes Impressum mit Informationen zum Datenschutz verfügen.

Eine Zugangsbeschränkung muss den Zugriff auf den Dienst auf den Kreis der berechtigten Personen beschränken, z.B. über die Verwendung eines Passwortes. Für die Form und den Inhalt des Impressums wenden Sie sich bitte an die Rechtsabteilung der HAW.

Vorlagen für Impressum und Datenschutzerklärung

Impressum (docx) | Impressum (pdf)

Datenschutzerklärung (docx) | Datenschutzerklärung (pdf)

Anleitung

Die Domäne müssen Sie extern verwalten oder bei uns einrichten lassen. Für die Einrichtung nutzen Sie die Kanäle, die unter dem Punkt Support aufgelistet sind. Für das zugehörige Zertifikat verfügt die ICC über einen Mechanismus zur Erzeugung von weltweit gültigen Let's Encrypt Zertifikaten. Wenn Ihre Domain extern verwaltet wird, dann müssen Sie einen CNAME Eintrag von Ihrer Domain auf 'icc-k8s-api.informatik.haw-hamburg.de' vornehmen.

Damit Ihr Dienst per HTTP erreichbar wird, müssen Sie einen Ingress anlegen. Erstellen Sie dazu eine yaml-Datei mit dem nachfolgenden Inhalt und ersetzen Sie die Felder durch Ihre Werte.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: <ingress-name>
  namespace: <space-name>
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-production
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: <Ihre vollständige domain (Bsp. test.informatik.haw-hamburg.de)>
    http:
      paths:
      - pathType: Prefix
        path: <Pfad unter dem Ihr Dienst erreichbar ist>
        backend:
          service:
            name: <Der Name Ihres Services>
            port:
              number: <Port unter dem Ihr Service erreichbar ist>
  tls: 
  - hosts:
    - <Ihre vollständige domain (Bsp. test.informatik.haw-hamburg.de)>
    secretName: <Name für das Secret, welches das Zertifikat enthalten wird>
  • Ersetzen Sie das Feld <space-name> mit dem Namen des Spaces, indem der Ingress angelegt werden soll.
  • Wählen Sie für <ingress-name> einen sprechenden Namen.
  • Ersetzen Sie alle anderen Angaben, die mit < > gekennzeichnet sind.

Führen Sie anschließend der nachfolgenden Befehl aus, um den Ingress ins Cluster zu schreiben.

1
kubectl apply -f <Ihre yaml-Datei>

Anschließend müssen Sie wenige Minuten warten bis das Zertifikat erstellt worden ist. Während der Erstellung werden in dem Space, der in Ihre yaml-Datei angegebenen ist, 'acme'-Pods gestartet, diese sind für die Erstellung der Zertifikate notwendig und dürfen nicht gelöscht werden. Diese werden nach der erfolgreichen Erstellung der Zertifikate automatisch gelöscht.