Webinar Trident: El orquestador de almacenamiento para contenedores
El proceso de instalación de Trident puede consultarse en la web oficial. Los pasos realizados para la demo han sido lo siguiente.
Creación de nu nuevo namespace llamado 'trident'.
oc create namespace tridentDescargar la última versión de Trident y descomprimirlo.
wget https://github.com/NetApp/trident/releases/download/v20.04.0/trident-installer-20.04.0.tar.gz
tar -xf trident-installer-20.04.0.tar.gz
cd trident-installerInstalar trident con el cliente 'tridentctl' sobre el namespace 'trident'
./tridentctl install -n tridentSe puede observar desde OpenShift los PODs que se ejecutan dentro de Deployment y DaemonSet.
Se han definido dos backends de almacenamiento, uno con el driver ontap-san, y otro con el driver ontap-nas.
tridentctl create backend --filename backend-nas.json -n trident
tridentctl create backend --filename backend-san.json -n tridentSe han definido dos clases de almacenamiento, usando el aprovisionador CSI Trident y referenciando a los backends de almacenamiento previamente creados.
oc apply -f sc-san.yaml
oc apply -f sc-nas.yamlVerificar las Storage Classes desde OpenShift
oc create namespace 1-webinar
oc apply -f ../templates/hello-world-persistent-data-example.yaml -n 1-webinaroc create namespace 2-webinar
oc apply -f ../templates/todo-app-3tier-architecture.yaml -n 2-webinaroc create namespace 3-webinar
oc apply -f ../templates/legacy-web.yaml -n 3-webinarSe prepara la página web legacy desde el jumhopst 10.67.217.190
mkdir -p /mnt/website
mount -t nfs 10.67.217.6:website /mnt/website
git clone https://github.com/pablogarciaarevalo/demo-trident/
cp -R demo-trident/making/netapp_website/v1/* /mnt/website/
docker run --name docker-nginx -p 80:80 -d -v /mnt/website:/usr/share/nginx/html nginxoc create namespace 4-webinar
oc apply -f ../templates/jupyter-covid.yaml -n 4-webinar
chmod +x ../5_CSI_Snapshot/get-jupyter-tokens.shSe prepara el datalake desde el jumhopst 10.67.217.190
mkdir -p /mnt/datalake
mount -t nfs 10.67.217.6:datalake /mnt/datalake
git clone https://github.com/CSSEGISandData/COVID-19.git
cp COVID-19/csse_covid_19_data/csse_covid_19_daily_reports/*.csv /mnt/datalake/Se crea la clase de snapshots:
oc apply -f volumesnapshotclass.yamlInstalar k3s y configurar Trident
curl -sfL https://get.k3s.io | sh -
kubectl create ns trident
./tridentctl install -n trident
tridentctl create backend --filename backend-cloud.json -n trident
kubectl apply -f apply -f sc-nas.yamlHacer dos clones del volumen website replicado e importarlos en Kubernetes
tridentctl import volume BackendForNAS website_clone_1 -f pvc-clone-1.yaml -n trident
tridentctl import volume BackendForNAS website_clone_2 -f pvc-clone-2.yaml -n tridentSe montan los clones y se modifica el contenido del clone2.
mkdir -p /mnt/web-clone-1
mount -t nfs 172.30.2.154:/trident_pvc_a0f5fd01_0008_488f_8f97_455c40d4081e /mnt/web-clone-1
mkdir -p /mnt/web-clone-2
mount -t nfs 172.30.2.154:/trident_pvc_ce929c42_17a0_46d2_afe3_9dd0763c925b /mnt/web-clone-2
cp -R /root/demo-trident/making/netapp_website/v2/* /mnt/web-clone-2/Se crean los servicios usando los PV clonados
kubectl apply -f service_cloned_1.yaml
kubectl apply -f service_cloned_2.yaml
kubectl get all -n webSe instala el dashboard de Kubernetes y se proporciona acceso:
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/alternative/kubernetes-dashboard.yaml
kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
kubectl proxy --address 0.0.0.0 --accept-hosts '.*' &Tras todo esto, se explican los diferentes modos de acceso al almacenamiento.

