mirror of
https://github.com/clearml/clearml-docs
synced 2025-05-17 18:55:10 +00:00
Update app gateway deployment on K8s
This commit is contained in:
parent
c3b4224a6f
commit
e321aa5532
@ -6,13 +6,13 @@ title: Kubernetes Deployment
|
||||
The AI Application Gateway is available under the ClearML Enterprise plan.
|
||||
:::
|
||||
|
||||
This guide details the installation of the ClearML App Gateway Router.
|
||||
The App Gateway Router enables access to your AI workload applications (e.g. remote IDEs like VSCode and Jupyter, model API interface, etc.).
|
||||
This guide details the installation of the ClearML App Gateway.
|
||||
The App Gateway enables access to your AI workload applications (e.g. remote IDEs like VSCode and Jupyter, model API interface, etc.).
|
||||
It acts as a proxy, identifying ClearML Tasks running within its [K8s namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)
|
||||
and making them available for network access.
|
||||
|
||||
:::important
|
||||
The App Gateway Router must be installed in the same K8s namespace as a dedicated ClearML Agent.
|
||||
The App Gateway must be installed in the same K8s namespace as a dedicated ClearML Agent.
|
||||
It can only configure access for ClearML Tasks within its own namespace.
|
||||
:::
|
||||
|
||||
@ -27,35 +27,31 @@ It can only configure access for ClearML Tasks within its own namespace.
|
||||
|
||||
## Optional for HTTPS
|
||||
|
||||
* A valid DNS entry for the new App Gateway Router instance
|
||||
* A valid DNS entry for the new App Gateway instance
|
||||
* A valid SSL certificate
|
||||
|
||||
## Helm
|
||||
|
||||
### Login
|
||||
|
||||
```
|
||||
helm repo add clearml-enterprise \
|
||||
https://raw.githubusercontent.com/clearml/clearml-enterprise-helm-charts/gh-pages \
|
||||
--username <GITHUB_TOKEN> \
|
||||
--password <GITHUB_TOKEN>
|
||||
``` bash
|
||||
helm repo add clearml-enterprise https://raw.githubusercontent.com/clearml/clearml-enterprise-helm-charts/gh-pages --username <GITHUB_TOKEN> --password <GITHUB_TOKEN>
|
||||
```
|
||||
|
||||
Replace `<GITHUB_TOKEN>` with your valid GitHub token that has access to the ClearML Enterprise Helm charts repository.
|
||||
|
||||
### Prepare Values
|
||||
|
||||
Before installing the App Gateway Router, create a Helm override file:
|
||||
Before installing the App Gateway, create a Helm override `clearml-app-gateway-values.override.yaml` file:
|
||||
|
||||
```
|
||||
```yaml
|
||||
imageCredentials:
|
||||
password: ""
|
||||
clearml:
|
||||
apiServerKey: ""
|
||||
apiServerSecret: ""
|
||||
apiKey: ""
|
||||
apiSecret: ""
|
||||
apiServerUrlReference: ""
|
||||
authCookieName: ""
|
||||
sslVerify: true
|
||||
ingress:
|
||||
enabled: true
|
||||
hostName: ""
|
||||
@ -71,13 +67,12 @@ tcpSession:
|
||||
**Configuration options:**
|
||||
|
||||
* `imageCredentials.password`: ClearML DockerHub Access Token.
|
||||
* `clearml.apiServerKey`: ClearML server API key.
|
||||
* `clearml.apiServerSecret`: ClearML server secret key.
|
||||
* `clearml.apiKey` and `clearml.apiSecret`: API credentials created in the ClearML web UI by an Admin user or Service
|
||||
Account with admin privileges. Make sure to label these credentials clearly, so that they will not be revoked by mistake.
|
||||
* `clearml.apiServerUrlReference`: ClearML API server URL starting with `https://api.`.
|
||||
* `clearml.authCookieName`: Cookie used by the ClearML server to store the ClearML authentication cookie.
|
||||
* `clearml.sslVerify`: Enable or disable SSL certificate validation on `apiserver` calls check.
|
||||
* `ingress.hostName`: Hostname of router used by the ingress controller to access it.
|
||||
* `tcpSession.routerAddress`: The external router address (can be an IP, hostname, or load balancer address) depending on your network setup. Ensure this address is accessible for TCP connections.
|
||||
* `ingress.hostName`: Hostname of App Gateway used by the ingress controller to access it.
|
||||
* `tcpSession.routerAddress`: The external App Gateway address (can be an IP, hostname, or load balancer address) depending on your network setup. Ensure this address is accessible for TCP connections.
|
||||
* `tcpSession.service.type`: Service type used to expose TCP functionality, default is `NodePort`.
|
||||
* `tcpSession.portRange.start`: Start port for the TCP Session feature.
|
||||
* `tcpSession.portRange.end`: End port for the TCP Session feature.
|
||||
@ -85,33 +80,28 @@ tcpSession:
|
||||
|
||||
The full list of supported configuration is available with the command:
|
||||
|
||||
```
|
||||
helm show readme allegroai-enterprise/clearml-enterprise-task-traffic-router
|
||||
``` bash
|
||||
helm show readme clearml-enterprise/clearml-enterprise-app-gateway
|
||||
```
|
||||
|
||||
### Install
|
||||
|
||||
To install the App Gateway Router component via Helm use the following command:
|
||||
To install the App Gateway component via Helm use the following command:
|
||||
|
||||
```
|
||||
helm upgrade --install \
|
||||
<RELEASE_NAME> \
|
||||
-n <WORKLOAD_NAMESPACE> \
|
||||
allegroai-enterprise/clearml-enterprise-task-traffic-router \
|
||||
--version <CHART_VERSION> \
|
||||
-f override.yaml
|
||||
``` bash
|
||||
helm upgrade --install <RELEASE_NAME> -n <WORKLOAD_NAMESPACE> clearml-enterprise/clearml-enterprise-app-gateway --version <CHART_VERSION> -f clearml-app-gateway-values.override.yaml
|
||||
```
|
||||
|
||||
Replace the placeholders with the following values:
|
||||
|
||||
* `<RELEASE_NAME>` - Unique name for the App Gateway Router within the K8s namespace. This is a required parameter in
|
||||
Helm, which identifies a specific installation of the chart. The release name also defines the router’s name and
|
||||
* `<RELEASE_NAME>` - Unique name for the App Gateway within the K8s namespace. This is a required parameter in
|
||||
Helm, which identifies a specific installation of the chart. The release name also defines the App Gateway’s name and
|
||||
appears in the UI within AI workload application URLs (e.g. Remote IDE URLs). This can be customized to support multiple installations within the same
|
||||
namespace by assigning different release names.
|
||||
* `<WORKLOAD_NAMESPACE>` - [Kubernetes Namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)
|
||||
where workloads will be executed. This namespace must be shared between a dedicated ClearML Agent and an App
|
||||
Gateway Router. The agent is responsible for monitoring its assigned task queues and spawning workloads within this
|
||||
namespace. The router monitors the same namespace for AI workloads (e.g. remote IDE applications). The router has a
|
||||
Gateway. The agent is responsible for monitoring its assigned task queues and spawning workloads within this
|
||||
namespace. The App Gateway monitors the same namespace for AI workloads (e.g. remote IDE applications). The App Gateway has a
|
||||
namespace-limited scope, meaning it can only detect and manage tasks within its
|
||||
assigned namespace.
|
||||
* `<CHART_VERSION>` - Version recommended by the ClearML Support Team.
|
Loading…
Reference in New Issue
Block a user