Instalando o controlador do Ingress NGINX no cluster Kubernetes

Este tópico descreve como instalar o controlador de ingresso NGINX no cluster Kubernetes e expor as cargas de trabalho do IBM Control Desk fora do cluster Kubernetes.

Sobre Esta Tarefa

Procedimento

  1. Instale o controlador de ingresso NGINX. Consulte Documentação NGINX para obter mais detalhes.
  2. Criar um novo arquivo de instalação de ingresso, nomeá-lo icd-ingress.yaml. Ele é usado para expor as cargas de trabalho IBM® Control Desk fora do cluster. Consulte o conteúdo abaixo:
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: icd-ingress
      namespace: icd
      annotations:
        kubernetes.io/ingress.class: "nginx"
        nginx.ingress.kubernetes.io/affinity: "cookie"
        nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
        nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
        nginx.ingress.kubernetes.io/ssl-redirect: "false"
        nginx.ingress.kubernetes.io/affinity-mode: persistent
        nginx.ingress.kubernetes.io/session-cookie-hash: sha1
        nginx.ingress.kubernetes.io/secure-backends: "true"
        nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
        ingress.kubernetes.io/backend-protocol: "HTTPS"
        kubernetes.io/tls-acme: "true"
    spec:
      tls:
      - hosts:
        - icd.ibm.com
        secretName: icd-secret
      rules:
      - host: icd.ibm.com
        http:
          paths:
          - path: /maximoapi
            backend:
              serviceName: icd-api
              servicePort: 9080
          - path: /cron
            backend:
              serviceName: icd-cron
              servicePort: 9080
          - path: /mea
            backend:
              serviceName: icd-mea
              servicePort: 9080
          - path: /
            backend:
              serviceName: icd-ui
              servicePort: 9080
    
    Aqui, icd.ibm.com é o nome do host e o protocolo http usados para expor serviços diferentes como icd-ui na porta de serviço 9080. O nome do segredo icd-secret contém o segredo do TLS.
  3. Aplicar o icd-ingress usando o comando abaixo. Isso possibilitará o ingresso em seu cluster para cargas de trabalho IBM Control Desk :
    kubectl apply -f icd-ingress.yaml
  4. Da mesma forma, Crie um recurso ingresso para Portal de Serviços, nomeia-o como sp-ingress.yaml. Esse ingresso seria necessário para acessar o front-end do portal de serviços. Consulte o conteúdo abaixo:
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: ssp-ingress
      namespace: icd
      annotations:
        kubernetes.io/ingress.class: "nginx"
        nginx.ingress.kubernetes.io/secure-backends: "true"
        nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
        ingress.kubernetes.io/backend-protocol: "HTTPS"
        kubernetes.io/tls-acme: "true"
    spec:
      tls:
      - hosts:
        - ssp.ibm.com
        secretName: icd-secret
      rules:
      - host: ssp.ibm.com
        http:
          paths:
          - path: /
            backend:
              serviceName: icd-ssp
              servicePort: 3000 
    
    Aqui, ssp.ibm.com é o nome do host e o protocolo http é usado para expor serviços diferentes como icd-ssp na porta de serviço 3000. O nome do segredo icd-secret contém o segredo do TLS.
  5. Aplicar o ssp-ingress usando o comando abaixo:
    kubectl apply -f sp-ingress.yaml

Resultados

Após ativar as etapas acima, o ingresso é ativado na configuração do Kubernetes. IBM Control Desk e as interfaces de usuário do Service Portal podem ser acessadas usando ingresso.
Nota: As entradas para icd.ibm.com e ssp.ibm.com com os endereços IP dos nós do trabalhador são necessárias para serem adicionadas no arquivo hosts da máquina para resolver nomes de hostnames.