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: