Small edits (#1079)

This commit is contained in:
pollfly
2025-03-10 19:35:41 +02:00
committed by GitHub
parent d19a70b263
commit 7d49d1d095
14 changed files with 68 additions and 61 deletions

View File

@@ -5,8 +5,8 @@ title: Linux and macOS
Deploy the ClearML Server in Linux or macOS using the pre-built Docker image.
For ClearML docker images, including previous versions, see [https://hub.docker.com/r/allegroai/clearml](https://hub.docker.com/r/allegroai/clearml).
However, pulling the ClearML Docker image directly is not required. ClearML provides a docker-compose YAML file that does this.
The docker-compose file is included in the instructions on this page.
However, pulling the ClearML Docker image directly is not required. ClearML provides a `docker-compose` YAML file that does this.
The `docker-compose` file is included in the instructions on this page.
For information about upgrading ClearML Server in Linux or macOS, see [here](upgrade_server_linux_mac.md).
@@ -134,7 +134,7 @@ Deploying the server requires a minimum of 8 GB of memory, 16 GB is recommended.
sudo chown -R $(whoami):staff /opt/clearml
```
2. Download the ClearML Server docker-compose YAML file.
2. Download the ClearML Server `docker-compose` YAML file:
```
sudo curl https://raw.githubusercontent.com/clearml/clearml-server/master/docker/docker-compose.yml -o /opt/clearml/docker-compose.yml
```

View File

@@ -54,7 +54,7 @@ Deploying the server requires a minimum of 8 GB of memory, 16 GB is recommended.
mkdir c:\opt\clearml\logs
```
1. Save the ClearML Server docker-compose YAML file.
1. Save the ClearML Server `docker-compose` YAML file.
```
curl https://raw.githubusercontent.com/clearml/clearml-server/master/docker/docker-compose-win10.yml -o c:\opt\clearml\docker-compose-win10.yml

View File

@@ -13,7 +13,7 @@ without any coding. Applications are installed on top of the ClearML Server.
To run application you will need the following:
* RAM: Make sure you have at least 400 MB of RAM per application instance.
* Applications Service: Make sure that the applications agent service is up and running on your server:
* If you are using a docker-compose solution, make sure that the clearml-apps-agent service is running.
* If you are using a `docker-compose` solution, make sure that the clearml-apps-agent service is running.
* If you are using a Kubernetes cluster, check for the clearml-clearml-enterprise-apps component.
* Installation Files: Each application has its installation zip file. Make sure you have the relevant files for the
applications you wish to install.

View File

@@ -13,11 +13,11 @@ The Application Gateway is available under the ClearML Enterprise plan.
* Credentials for the ClearML/allegroai docker repository
* A valid ClearML Server installation
## Host configurations
## Host Configurations
### Docker installation
### Docker Installation
Installing docker and docker-compose might vary depending on the specific operating system youre using. Here is an example for AmazonLinux:
Installing `docker` and `docker-compose` might vary depending on the specific operating system youre using. Here is an example for AmazonLinux:
```
sudo dnf -y install docker
@@ -33,9 +33,9 @@ sudo docker login
Use the ClearML/allegroai dockerhub credentials when prompted by docker login.
### Docker-compose file
### Docker-compose File
This is an example of the docker-compose file you will need:
This is an example of the `docker-compose` file you will need:
```
version: '3.5'
@@ -103,17 +103,17 @@ Edit it according to the following guidelines:
* `CLEARML_API_ACCESS_KEY`: ClearML server api key
* `CLEARML_API_SECRET_KEY`: ClearML server secret key
* `ROUTER_URL`: URL for this router that was previously configured in the load balancer starting with `https://`
* `ROUTER_NAME`: unique name for this router
* `AUTH_ENABLED`: enable or disable http calls authentication when the router is communicating with the ClearML server
* `SSL_VERIFY`: enable or disable SSL certificate validation when the router is communicating with the ClearML server
* `AUTH_COOKIE_NAME`: the cookie name used by the ClearML server to store the ClearML authentication cookie. This can usually be found in the `value_prefix` key starting with `allegro_token` in `envoy.yaml` file in the ClearML server installation (`/opt/allegro/config/envoy/envoy.yaml`) (see below)
* `AUTH_SECURE_ENABLED`: enable the Set-Cookie `secure` parameter
* `AUTH_BASE64_JWKS_KEY`: value form `k` key in the `jwks.json` file in the ClearML server installation
* `LISTEN_QUEUE_NAME`: (optional) name of queue to check for tasks (if none, every task is checked)
* `EXTRA_BASH_COMMAND`: command to be launched before starting the router
* `TCP_ROUTER_ADDRESS`: router external address, can be an IP or the host machine or a load balancer hostname, depends on network configuration
* `TCP_PORT_START`: start port for the TCP Session feature
* `TCP_PORT_END`: end port port for the TCP Session feature
* `ROUTER_NAME`: Unique name for this router
* `AUTH_ENABLED`: Enable or disable http calls authentication when the router is communicating with the ClearML server
* `SSL_VERIFY`: Enable or disable SSL certificate validation when the router is communicating with the ClearML server
* `AUTH_COOKIE_NAME`: Cookie name used by the ClearML server to store the ClearML authentication cookie. This can usually be found in the `value_prefix` key starting with `allegro_token` in `envoy.yaml` file in the ClearML server installation (`/opt/allegro/config/envoy/envoy.yaml`) (see below)
* `AUTH_SECURE_ENABLED`: Enable the Set-Cookie `secure` parameter
* `AUTH_BASE64_JWKS_KEY`: Value form `k` key in the `jwks.json` file in the ClearML server installation
* `LISTEN_QUEUE_NAME`: (*optional*) Name of queue to check for tasks (if none, every task is checked)
* `EXTRA_BASH_COMMAND`: Command to be launched before starting the router
* `TCP_ROUTER_ADDRESS`: Router external address, can be an IP or the host machine or a load balancer hostname, depends on network configuration
* `TCP_PORT_START`: Start port for the TCP Session feature
* `TCP_PORT_END`: End port for the TCP Session feature
Run the following command to start the router:
@@ -121,11 +121,11 @@ Run the following command to start the router:
sudo docker compose --env-file runtime.env up -d
```
:::Note How to find my jwkskey
:::note How to find my jwkskey
The *JSON Web Key Set* (*JWKS*) is a set of keys containing the public keys used to verify any JSON Web Token (JWT).
In a docker-compose server installation, this can be found in the `CLEARML__secure__auth__token_secret` env var in the apiserver server component.
In a `docker-compose` server installation, this can be found in the `CLEARML__secure__auth__token_secret` env var in the apiserver server component.
:::

View File

@@ -32,9 +32,9 @@ https://raw.githubusercontent.com/clearml/clearml-enterprise-helm-charts/gh-page
--password <GITHUB_TOKEN>
```
### Prepare values
### Prepare Values
Before installing the TTR create an helm-override files named `task-traffic-router.values-override.yaml`:
Before installing the TTR, create a `helm-override` files named `task-traffic-router.values-override.yaml`:
```
imageCredentials:
@@ -55,20 +55,20 @@ tcpSession:
end:
```
Edit it accordingly to this guidelines:
Edit it accordingly to these guidelines:
* `clearml.apiServerUrlReference`: url usually starting with `https://api.`
* `clearml.apiServerUrlReference`: URL usually starting with `https://api.`
* `clearml.apiServerKey`: ClearML server api key
* `clearml.apiServerSecret`: ClearML server secret key
* `ingress.hostName`: url of router we configured previously for loadbalancer starting with `https://`
* `clearml.sslVerify`: enable or disable SSL certificate validation on apiserver calls check
* `clearml.authCookieName`: value from `value_prefix` key starting with `allegro_token` in `envoy.yaml` file in ClearML server installation.
* `clearml.jwksKey`: value form `k` key in `jwks.json` file in ClearML server installation (see below)
* `tcpSession.routerAddress`: router external address can be an IP or the host machine or a loadbalancer hostname, depends on the network configuration
* `tcpSession.portRange.start`: start port for the TCP Session feature
* `tcpSession.portRange.end`: end port port for the TCP Session feature
* `ingress.hostName`: URL of router we configured previously for load balancer starting with `https://`
* `clearml.sslVerify`: Enable or disable SSL certificate validation on apiserver calls check
* `clearml.authCookieName`: Value from `value_prefix` key starting with `allegro_token` in `envoy.yaml` file in ClearML server installation.
* `clearml.jwksKey`: Value form `k` key in `jwks.json` file in ClearML server installation (see below)
* `tcpSession.routerAddress`: Router external address can be an IP or the host machine or a load balancer hostname, depends on the network configuration
* `tcpSession.portRange.start`: Start port for the TCP Session feature
* `tcpSession.portRange.end`: End port for the TCP Session feature
::: How to find my jwkskey
:::note How to find my jwkskey
The *JSON Web Key Set* (*JWKS*) is a set of keys containing the public keys used to verify any JSON Web Token (JWT).

View File

@@ -36,7 +36,7 @@ them before exporting.
Execute the data tool within the `apiserver` container.
Open a bash session inside the `apiserver` container of the server:
* In docker-compose:
* In `docker-compose`:
```commandline
sudo docker exec -it clearml-apiserver /bin/bash

View File

@@ -100,9 +100,10 @@ Install the ClearML chart with the required configuration:
1. Prepare the `overrides.yaml` file and input the following content. Make sure to replace `<BASE_DOMAIN>` and `<SSO_*>`
with a valid domain that will have records pointing to the ingress controller accordingly.
The credentials specified in `<SUPERVISOR_USER_KEY>` and `<SUPERVISOR_USER_SECRET>` can be used to log in as the
supervisor user in the web UI.
supervisor user in the web UI.
Note that the `<SUPERVISOR_USER_EMAIL>` value must be explicitly quoted. To do so, put `\\"` around the quoted value.
For example `"\\"email@example.com\\””`
For example `"\\"email@example.com\\””`.
```
imageCredentials:
@@ -192,7 +193,7 @@ Install the ClearML chart with the required configuration:
enabled: true
```
2. Install ClearML
2. Install ClearML:
```
helm install -n clearml \\
@@ -305,9 +306,9 @@ spec:
kubernetes.io/metadata.name: clearml
```
## Applications Installation
## Application Installation
To install ClearML GUI applications, follow these steps:
To install ClearML GUI applications:
1. Get the apps to install and the installation script by downloading and extracting the archive provided by ClearML
@@ -491,7 +492,7 @@ To install the ClearML Agent Chart, follow these steps:
-d '{"name":"default"}'
```
### Tenant Namespace isolation with NetworkPolicies
### Tenant Namespace Isolation with NetworkPolicies
To ensure network isolation for each tenant, you need to create a `NetworkPolicy` in the tenant namespace. This way
the entire namespace/tenant will not accept any connection from other namespaces.

View File

@@ -43,7 +43,7 @@ should be reviewed and modified prior to the server installation
## Installing ClearML Server
### Preliminary Steps
1. Install Docker CE
1. Install Docker CE:
```
https://docs.docker.com/install/linux/docker-ce/ubuntu/
@@ -113,10 +113,10 @@ should be reviewed and modified prior to the server installation
sudo systemctl enable disable-thp
```
1. Restart the machine
1. Restart the machine.
### Installing the Server
1. Remove any previous installation of ClearML Server
1. Remove any previous installation of ClearML Server:
```
sudo rm -R /opt/clearml/
@@ -141,7 +141,7 @@ should be reviewed and modified prior to the server installation
sudo mkdir -pv /opt/allegro/config/onprem_poc
```
1. Copy the following ClearML configuration files to `/opt/allegro`
1. Copy the following ClearML configuration files to `/opt/allegro`:
* `constants.env`
* `docker-compose.override.yml`
* `docker-compose.yml`
@@ -165,10 +165,13 @@ should be reviewed and modified prior to the server installation
sudo docker login -u=$DOCKERHUB_USER -p=$DOCKERHUB_PASSWORD
```
1. Start the `docker-compose` by changing directories to the directory containing the docker-compose files and running the following command:
sudo docker-compose --env-file constants.env up -d
1. Verify web access by browsing to your URL (IP address) and port 8080.
1. Start the `docker-compose` by changing directories to the directory containing the `docker-compose` files and running the following command:
```
sudo docker-compose --env-file constants.env up -d
```
1. Verify web access by browsing to your URL (IP address) and port 8080:
```
http://<server_ip_here>:8080
@@ -191,7 +194,10 @@ the following subdomains should be forwarded to the corresponding ports on the s
* `https://app.<domain>` should be forwarded to port 8080
* `https://files.<domain>` should be forwarded to port 8081
:::warning
**Critical: Ensure no other ports are open to maintain the highest level of security.**
:::
Additionally, ensure that the following URLs are correctly configured in the server's environment file:

View File

@@ -8,7 +8,7 @@ It covers the following:
* Set up security groups and IAM role
* Create EC2 instance with required disks
* Install dependencies and mount disks
* Deploy ClearML version using docker-compose
* Deploy ClearML version using `docker-compose`
* Set up load balancer and DNS
* Set up server backup
@@ -117,10 +117,10 @@ Instance requirements:
## Load Balancer
1. Create a TLS certificate:
1. Choose a domain name to be used with the server. The main URL that will be used by the systems users will be app.\<domain\>
1. Choose a domain name to be used with the server. The main URL that will be used by the systems users will be `app.<domain>`
2. Create a certificate, with the following DNS names:
1. \<domain name\>
2. \*.\<domain name\>
1. `<domain name>`
2. `*.<domain name>`
2. Create the `envoy` target group for the server:
1. Port: 10000
@@ -284,7 +284,7 @@ log would usually indicate the reason for the failure.
## Maintenance
### Removing app containers
### Removing App Containers
To remove old application containers, add the following to the cron: