Zum Hauptinhalt springen

Ingress in Managed Namespace

Mayope Namespace unterstützt Sie bei dem Bereitstellen von http Diensten im Internet.

Ingress mit dynamischer Domain deployen#

Falls Sie noch keine eigene Domäne besitzen, können Sie die dynamischen Domänen von Mayope benutzen.

Erstellen#

  1. Menu Namespace auswählen
  2. Gewünschten Namespace auswählen
  3. Das Domänen Fach am unter der Detailansicht ausklappen
  4. Auf Dynamische Domain Erstellen klicken,
  5. Gewünschtes Domain-Prefix eingeben und mit erstellen bestätigen
  6. Die Domäne sollte jetzt in der Übersicht erscheinen
  7. Nun können Sie ihren Ingress wie folgt Erstellen
# Create hello world deploymentapiVersion: apps/v1kind: Deploymentmetadata:  name: nginxspec:  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:        - name: nginx          image: nginxdemos/hello          ports:            - name: http              containerPort: 80---# Create service for hello-world deploymentapiVersion: v1kind: Servicemetadata:  name: nginxspec:  ports:    - name: http      port: 80      protocol: TCP      targetPort: 80  selector:    app: nginx  type: ClusterIP---# Create an ingress to expose the serviceapiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata:  name: nginx  annotations:    kubernetes.io/ingress.class: "nginx"spec:  rules:    - host: {{HOST}} # Host from the first column of the table      http:        paths:          - path: /            backend:              serviceName: nginx              servicePort: 80

Nach ein paar Minuten können Sie ihren Ingress unter: https://{{HOST}} erreichen.

Der Dienst wird automatisch mittels https abgesichert. Wenn Sie dies nicht möchten, können Sie dies mit einer Annotaion deaktiverien

Eigene Domain verwenden#

Sie können auch ihre eigene Domain zum Hosten ihres Dienstes verwenden. Um sicherzustellen, dass es sich dabei um ihre Domain handelt müssen Sie diese im Mayope Domain Dashboard registrieren: .

  1. Menü Domänen auswählen
  2. Domäne in das Formular ganz unten Eigene Domäne hinzufügen ausfüllen
  3. Mittels Domäne anfragen bestätigen
  4. Sie müssen nun einen TXT Resource Record in dieser Domäne anlegen (um die Inhaberschaft zu verifizieren). Welchen Wert Sie eintragen müssen sehen Sie in der Tabelle Domain-Anfragen Übersicht
  5. Nach ein paar Minuten sollte ihre Domäne in der Übersicht Domänen auftauchen
  6. Sie können diese Domäne jetzt in ihrem Ingress verwenden
  7. Damit die Domäne auf die richtige IP verweist, müssen sie nun A Record in diese Domäne mit der LoadBalancer-Ip aus Namespace-Detail Ansicht erstellen
# Create hello world deploymentapiVersion: apps/v1kind: Deploymentmetadata:  name: nginxspec:  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:        - name: nginx          image: nginxdemos/hello          ports:            - name: http              containerPort: 80---# Create service for hello-world deploymentapiVersion: v1kind: Servicemetadata:  name: nginxspec:  ports:    - name: http      port: 80      protocol: TCP      targetPort: 80  selector:    app: nginx  type: ClusterIP---apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata:  name: nginx  annotations:    kubernetes.io/ingress.class: "nginx"spec:  rules:    - host: "my-host.org"      http:        paths:          - path: /            backend:              serviceName: "nginx"              servicePort: 80

Das TLS-Zertifikat wird automatisch durch Let's Encrypt erstellt.

Automatische TLS-Zertifikat Erstellung deaktivieren#

Um die automatische TLS-Zertifikat-Erstellung zu deaktivieren können Sie folgende Annotation im Ingress setzten mayope.managekubernetes.net/automatic-tls : false.

apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata:  name: nginx  annotations:    kubernetes.io/ingress.class: "nginx"    mayope.managekubernetes.net/automatic-tls: "false"spec:  rules:    - host: "my-host.org"      http:        paths:          - path: /            backend:              serviceName: "nginx"              servicePort: 80