The Kubernetes command-line tool, kubectl, allows you to run commands against Kubernetes clusters.Find installation instructions for your OS here.
2
Setup your Kubernetes cluster
There are many flavours of Kubernetes available that you can choose from. Setup the one that best suits your needs. Here are few popular Kubernetes services and distributions.
Setup a container registry by creating a secret for Limina’s private registry. Only after this step, you’ll be able to pull Limina’s private docker images.
Log into the Limina Customer portal and download your license file.Once you’ve downloaded the file (license.json), open the file in a text editor and paste the contents of the file in a license manifest pai-license.yamlIt should look something like this:
Limina supports installation to a Kubernetes cluster via Helm. Before you begin, ensure that you have helm installed.Our public Helm chart is hosted here. Simply pull the chart, replace the placeholder license with your license file (from your customer portal) and run
Once deployed successfully, you’ll be able to check the status of pods with this command:
Kubernetes Command
Copy
kubectl get pods
expected output
Output
Copy
NAME READY STATUS RESTARTS AGE<pod-name> 1/1 Running 0 1m
To check the logs, run this command with your pod name
Kubernetes Command
Copy
kubectl logs <pod-name> # change <pod-name> with the name of pod from the command above
expected output
Output
Copy
Log level is: infoImage Version: <version>INFO: Started server process [9]INFO: Waiting for application startup.INFO: Application startup complete.INFO: Uvicorn running on http://ip:port (Press CTRL+C to quit)INFO: ip:port - "GET /healthz HTTP/1.1" 200 OK model time is 44.28 ms or 89.05 percent, rx time is 0.42 ms or 0.85 percent, total time: 49.73 msAuth call to Limina servers took 154.39 msGot 100000 calls from PAI auth system 1 API calls used, 99999 remaining until next auth call. Total processing time is 0.05 secs, 19.91 API calls per sec.INFO: ip:port - "POST /deidentify_text HTTP/1.1" 200 OK
The above deploy-private-ai.yaml also creates a LoadBalancer service which exposes an IP address to access your application. To check the external IP, run this:
Kubernetes Command
Copy
kubectl get svc
expected output
Output
Copy
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEdeid-ip LoadBalancer <cluster-ip> <external-ip> 80:30456/TCP 27m
Your can use external-ip (from the command above) of LoadBalancer service to make requests to deidentify text.
Copy
{ "text": [ "Hi John, Grace this side. It's been a while since we last met in Berlin." ]}
You can expect a response like this:
Response
Copy
[ { "processed_text": "Hi [NAME_1], [NAME_2] this side. It's been a while since we last met in [LOCATION_CITY_1].", "entities": [...], "entities_present": true, "characters_processed": 1234, "languages_detected": {...} }]