mirror of
https://github.com/clearml/clearml-docs
synced 2025-06-26 18:17:44 +00:00
Small edits (#1079)
This commit is contained in:
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 you’re using. Here is an example for AmazonLinux:
|
||||
Installing `docker` and `docker-compose` might vary depending on the specific operating system you’re 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.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
@@ -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 system’s 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 system’s 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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user