SkillAgentSearch skills...

LabNetApp

Hands-on lab to try all Trident's features & architectures

Install / Use

/learn @YvosOnTheHub/LabNetApp

README

LabNetApp

<p align="center">:boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom:</p>
WARNING:  
- There is currently a problem in Lab on Demand with the repo mirror.  
- Direct impact: DNF cannot be used to install packages. Most automation scripts have been modified to take this into account
<p align="center">:boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom:</p>

This repo was created to help you better understand the benefits you can get from Trident, for both the end-user & the admin teams. You will find several exercises, described in a step-by-step fashion, that you can use on the NetApp Lab-on-Demand or on your own environment.

With the introduction of Trident Protect in November 2024, extra scenarios have been added to see how you can protect stateful applications!

<!-- ## A. Kubernetes v6 (with CSI) :new: -->

The section has been tested with the Lab-on-Demand Using Trident with Kubernetes Advanced v6.0 which comes with Trident :trident: 24.02.0 already installed on Kubernetes 1.29.4.

Most labs will be done by connecting with Putty to the RHEL3 host (root/Netapp1!).
I assume each scenario will be run in its own directory. Also, you will find a README file for each scenario.

Last, there are plenty of commands to write or copy/paste.
Try using some of the shortcuts you will find in the the Addenda0 !

<p align="center">:boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom:</p>
- You may have seen that starting in November 2020, there are now limits on how many pull requests can be done on the Docker Hub.  
- As this lab was created with an _anonymous_ user, please read carefully the Addenda08 before starting this lab.
<p align="center">:boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom: :boom:</p>

Trident Scenarios (Dynamic Storage Provisionning)

0. Best Practices & Advices
1. Install Trident (26.02.0)
2. NAS backends for Trident & Storage Classes for Kubernetes
3. Prometheus, Grafana & Harvest integration
4. Create your first NAS Apps
5. Block backends for Trident & Storage Classes for Kubernetes
6. Create your first SAN Apps
7. Importing data with Trident
8. Consumption control
9. Expanding Persistent Volumes
10. Using Virtual Storage Pools
11. StatefulSets & Storage consumption
12. Dynamic export policy management
13. Snapshots here & snapshots there, snapshots everywhere
14. About security
15. Dude, where is my PVC?
16. Performance control
17. How to configure HAProxy between Trident & ONTAP
18. Kubernetes, Trident & GitOps
19. Let's talk about protocols & access modes!
20. About Generic Ephemeral Volumes
21. Persistent Volumes and Multi Tenancy
22. Crossing the borders
23. Naming conventions
24. Migrating volumes (snapmirror integration)
25. Storage & Policy Management
26. Working in parallel
27. Demystifying Virtual Machines
28. Automated workload failover
29. Space Management

Trident Protect Scenarios (Application data protection)

1. Lab Setup
2. Trident Protect installation
3. S3 Bucket connectivity
4. Monitoring
5. Tests scenario with Busybox (without hooks)
6. Hook me up before you go-go!
7. Be Selective
8. Protecting Applications with GitOps
9. Pacman to the rescue
10. One bucket or two buckets, that is the question
11. Protecting Virtual Machines

Addendum

0. Useful commands
1. Add a node to the cluster
2. Specify a default storage class
3. Allow user PODs on the master node
4. Install Ansible on RHEL3 (Kubernetes Control Plane)
5. Install the Kubernetes dashboard
6. Install cool tools
7. How to install & prepare HAProxy
8. How to run this lab with the Docker hub rate limiting
9. How to create a S3 Bucket on ONTAP (svm_S3)
10. Set up a simple Source Code Repository
11. Install ArgoCD in this lab
12. Create a second Kubernetes cluster on the hosts RHEL4 & RHEL5
13. Create a new SVM (svm_secondary)
14. Upgrade Kubernetes
15. Install and configure KubeVirt

<!-- OLD CONTENT Kubernetes v5: https://labondemand.netapp.com/node/240 Scenarios --------- [0.](Kubernetes_v5/Scenarios/Scenario00) Best Practices & Advices [1.](Kubernetes_v5/Scenarios/Scenario01) Upgrade/Install Trident (23.07.0) :arrows_counterclockwise: [2.](Kubernetes_v5/Scenarios/Scenario02) Configure your first NAS backends & storage classes :arrows_counterclockwise: [3.](Kubernetes_v5/Scenarios/Scenario03) Upgrade and use Prometheus, Grafana & Harvest [4.](Kubernetes_v5/Scenarios/Scenario04) Deploy your first app with File storage [5.](Kubernetes_v5/Scenarios/Scenario05) Configure your first iSCSI backends & storage classes [6.](Kubernetes_v5/Scenarios/Scenario06) Deploy your first app with Block storage [7.](Kubernetes_v5/Scenarios/Scenario07) Importing data with Trident :arrows_counterclockwise: [8.](Kubernetes_v5/Scenarios/Scenario08) Consumption control [9.](Kubernetes_v5/Scenarios/Scenario09) Expanding Persistent Volumes [10.](Kubernetes_v5/Scenarios/Scenario10) Using Virtual Storage Pools [11.](Kubernetes_v5/Scenarios/Scenario11) StatefulSets & Storage consumption [12.](Kubernetes_v5/Scenarios/Scenario12) Dynamic export policy management [13.](Kubernetes_v5/Scenarios/Scenario13) Snapshots here & snapshots there, snapshot everywhere :arrows_counterclockwise: [14.](Kubernetes_v5/Scenarios/Scenario14) About security :arrows_counterclockwise: [15.](Kubernetes_v5/Scenarios/Scenario15) Caring about location or about CSI Topology [16.](Kubernetes_v5/Scenarios/Scenario16) Performance control [17.](Kubernetes_v5/Scenarios/Scenario17) How to configure HAProxy between Trident & ONTAP [18.](Kubernetes_v5/Scenarios/Scenario18) Kubernetes, Trident & GitOps [19.](Kubernetes_v5/Scenarios/Scenario19) Let's talk about protocols & access modes ! [20.](Kubernetes_v5/Scenarios/Scenario20) About Generic Ephemeral Volumes [21.](Kubernetes_v5/Scenarios/Scenario21) Persistent Volumes and Multi Tenancy [22.](Kubernetes_v5/Scenarios/Scenario22) Cross Namespace Volume Access Addendum -------- [0.](Kubernetes_v5/Addendum/Addenda00) Useful commands [1.](Kubernetes_v5/Addendum/Addenda01) Add a node to the cluster [2.](Kubernetes_v5/Addendum/Addenda02) Specify a default storage class [3.](Kubernetes_v5/Addendum/Addenda03) Allow user PODs on the master node [4.](Kubernetes_v5/Addendum/Addenda04) Install Ansible on RHEL3 (Kubernetes Master) [5.](Kubernetes_v5/Addendum/Addenda05) Install a Load Balancer (MetalLB) :arrows_counterclockwise: [6.](Kubernetes_v5/Addendum/Addenda06) Install the Kubernetes dashboard [7.](Kubernetes_v5/Addendum/Addenda07) Install cool tools [8.](Kubernetes_v5/Addendum/Addenda08) How to run this lab with the Docker hub rate limiting [9.](Kubernetes_v5/Addendum/Addenda09) How to install & prepare HAProxy [10.](Kubernetes_v5/Addendum/Addenda10) How to create a S3 Bucket on ONTAP [11.](Kubernetes_v5/Addendum/Addenda11) Set up a simple Source Code Repository [12.](Kubernetes_v5/Addendum/Addenda12) Install ArgoCD in this lab ## D. Docker (*

Related Skills

View on GitHub
GitHub Stars62
CategoryDevelopment
Updated21d ago
Forks26

Languages

Shell

Security Score

85/100

Audited on Mar 13, 2026

No findings