Artículo
· 13 nov, 2024 Lectura de 3 min

IKO & IAM - recordad incluir un sidecar

IAM - InterSystems API Manager es una gran herramienta para monitorear vuestro tráfico. Si estáis intentando usarla en vuestro clúster de Kubernetes, es posible que hayáis intentado hacer un despliegue similar a este:

apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
  name: iris
spec:
  licenseKeySecret:
    name: iris-key-secret
  configSource:
    name: iris-cpf
  imagePullSecrets:
    - name: intersystems-pull-secret
  topology:
    data:
      image: containers.intersystems.com/intersystems/iris-arm64:2024.1
      compatibilityVersion: "2024.1.2"
      mirrored: false

    webgateway:
      replicas: 1
      image: containers.intersystems.com/intersystems/webgateway-nginx-arm64:2024.1
      type: nginx
      applicationPaths:
        - /csp/sys
        - /csp/broker
        - /api
        - /isc
        - /oauth2
        - /ui
        - /csp/healthshare
      alternativeServers: LoadBalancing
      loginSecret:
        name: iris-webgateway-secret

    iam: 
      image: containers.intersystems.com/intersystems/iam-arm64:3.4
      replicas: 1
  serviceTemplate:
    spec:
      type: LoadBalancer

Sin embargo, al ir al Panel de IAM veréis:

 

Estáis en modo gratuito. La licencia de IRIS no se pasó a Kong. Para hacer eso, necesitáis aseguraros de tener un sidecar configurado. Podéis añadir un sidecar:

apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
  name: iris
spec:
  licenseKeySecret:
    name: iris-key-secret
  configSource:
    name: iris-cpf
  imagePullSecrets:
    - name: intersystems-pull-secret
  topology:
    data:
      image: containers.intersystems.com/intersystems/iris-arm64:2024.1
      compatibilityVersion: "2024.1.2"
      mirrored: false

      webgateway:
        image: containers.intersystems.com/intersystems/webgateway-nginx-arm64:2024.1
        type: nginx
        applicationPaths:
          - /csp/sys
          - /csp/broker
          - /api
          - /isc
          - /oauth2
          - /ui
          - /csp/healthshare
        loginSecret:
          name: iris-webgateway-secret

    webgateway:
      replicas: 1
      image: irepo.intersystems.com/intersystems/webgateway-nginx-arm64:2024.1
      type: nginx
      applicationPaths:
        - /csp/sys
        - /csp/broker
        - /api
        - /isc
        - /oauth2
        - /ui
        - /csp/healthshare
      alternativeServers: LoadBalancing
      loginSecret:
        name: iris-webgateway-secret
        
    iam: 
      image: irepo.intersystems.com/intersystems/iam-arm64:3.4
      replicas: 1
  serviceTemplate:
    spec:
      type: LoadBalancer

o incluso podéis decidir que vuestro Web Gateway independiente no es necesario y que todo el trabajo puede ser realizado por el sidecar:

apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
  name: iris
spec:
  licenseKeySecret:
    name: iris-key-secret
  configSource:
    name: iris-cpf
  imagePullSecrets:
    - name: intersystems-pull-secret
  topology:
    data:
      image: containers.intersystems.com/intersystems/iris-arm64:2024.1
      compatibilityVersion: "2024.1.2"
      mirrored: false

      webgateway:
        image: containers.intersystems.com/intersystems/webgateway-nginx-arm64:2024.1
        type: nginx
        applicationPaths:
          - /csp/sys
          - /csp/broker
          - /api
          - /isc
          - /oauth2
          - /ui
          - /csp/healthshare
        loginSecret:
          name: iris-webgateway-secret
        
    iam: 
      image: irepo.intersystems.com/intersystems/iam-arm64:3.4
      replicas: 1
  serviceTemplate:
    spec:
      type: LoadBalancer

El resultado en términos de IAM es el mismo, aunque tened en cuenta que cada enfoque tiene ventajas y desventajas. Cualquiera que elijáis, ahora deberíais ver una licencia activa en IAM:

Comentarios (0)1
Inicie sesión o regístrese para continuar