Pass on the tutorials to (i) verify that all parts are complete (did not run...
Pass on the tutorials to (i) verify that all parts are complete (did not run the installation procedures); (ii) updated instructions on how to select the Python version; (iii) general aestetic changes.
__Important__: Original H2020-TeraFlow project hosted on GitLab.com has been archieved and will not receive further
contributions/updates. Please, clone from ETSI-hosted GitLab code repository.
__Important__: The original H2020-TeraFlow project hosted on GitLab.com has been
archieved and will not receive further contributions/updates.
Please, clone from [ETSI-hosted GitLab code repository](https://labs.etsi.org/rep/tfs/controller).
## 1.3.3. Checkout the appropriate Git branch
By default 'master' branch is checked out. If you want to deploy 'develop' that incorporates the most up-to-date code
By default the *master* branch is checked out.
If you want to deploy the *develop* branch, that incorporates the most up-to-date code
contributions and features, run the following command:
```bash
cd ~/tfs-ctrl
git checkout develop
```
__Important__: During the elaboration and validation of the tutorials, you should checkout branch
"feat/microk8s-deployment". Otherwise, you will not have important files such as "my_deploy.sh" or
"deploy.sh". As soon as the tutorials are completed and approved, we will remove this note and merge the
"feat/microk8s-deployment" into "develop" and later into "master", and then the previous step will be
effective.
## 1.3.4. Prepare a deployment script with the deployment settings
Create a new deployment script, e.g., `my_deploy.sh`, adding the appropriate settings as follows. This script, by
default, makes use of the private Docker registry enabled in MicroK8s, as specified in `TFS_REGISTRY_IMAGE`. It builds
the Docker images for the subset of components defined in `TFS_COMPONENTS`, tags them with the tag defined in
`TFS_IMAGE_TAG`, deploys them in the namespace defined in `TFS_K8S_NAMESPACE`, and (optionally) deploys the extra
Kubernetes manifests listed in `TFS_EXTRA_MANIFESTS`. Besides, it lets you specify in `TFS_GRAFANA_PASSWORD` the
password to be set for the Grafana `admin` user.
Create a new deployment script, e.g., `my_deploy.sh`, adding the appropriate settings as
follows.
This script, by default, makes use of the private Docker registry enabled in MicroK8s,
as specified in `TFS_REGISTRY_IMAGE`.
It builds the Docker images for the subset of components defined in `TFS_COMPONENTS`,
tags them with the tag defined in `TFS_IMAGE_TAG`, deploys them in the namespace defined
in `TFS_K8S_NAMESPACE`, and (optionally) deploys the extra Kubernetes manifests listed
in `TFS_EXTRA_MANIFESTS`.
Besides, it lets you specify in `TFS_GRAFANA_PASSWORD` the password to be set for the
Grafana `admin` user.
```bash
cd ~/tfs-ctrl
@@ -58,10 +58,12 @@ EOF
## 1.3.5. Deploy TFS controller
First, source the deployment settings defined in the previous section. This way, you do not need to specify the
environment variables in each and every command you execute to operate the TFS controller. Be aware to re-source the
file if you open new terminal sessions.
Then, run the following command to deploy TeraFlowSDN controller on top of the MicroK8s Kubernetes platform.
First, source the deployment settings defined in the previous section.
This way, you do not need to specify the environment variables in each and every command
you execute to operate the TFS controller.
Be aware to re-source the file if you open new terminal sessions.
Then, run the following command to deploy TeraFlowSDN controller on top of the MicroK8s
Kubernetes platform.
```bash
cd ~/tfs-ctrl
@@ -69,16 +71,14 @@ source my_deploy.sh
./deploy.sh
```
The script does the following steps:
1. Build the Docker images for the components defined in `TFS_COMPONENTS`
2. Tag the Docker images with the value of `TFS_IMAGE_TAG`
3. Push the Docker images to the repository defined in `TFS_REGISTRY_IMAGE`
4. Create the namespace defined in `TFS_K8S_NAMESPACE`
5. Deploy the components defined in `TFS_COMPONENTS`
6. Create the file `tfs_runtime_env_vars.sh` with the environment variables for the components defined in
`TFS_COMPONENTS` defining their local host addresses and their port numbers.
7. Create an ingress controller listening at port 80 for HTTP connections to enable external access to the TeraFlowSDN
WebUI, Grafana Dashboards, Context Debug endpoints, and Compute NBI interfaces.
The script performs the following steps:
1. Builds the Docker images for the components defined in `TFS_COMPONENTS`
2. Tags the Docker images with the value of `TFS_IMAGE_TAG`
3. Pushes the Docker images to the repository defined in `TFS_REGISTRY_IMAGE`
4. Creates the namespace defined in `TFS_K8S_NAMESPACE`
5. Deploys the components defined in `TFS_COMPONENTS`
6. Creates the file `tfs_runtime_env_vars.sh` with the environment variables for the components defined in `TFS_COMPONENTS` defining their local host addresses and their port numbers.
7. Create an ingress controller listening at port 80 for HTTP connections to enable external access to the TeraFlowSDN WebUI, Grafana Dashboards, Context Debug endpoints, and Compute NBI interfaces.
8. Initialize and configure the Grafana dashboards
9. Report a summary of the deployment (see
[1.5. Show Deployment and Log per Component](./1-5-deploy-logs-troubleshooting.md))