Skip to content

Commit 9df0d43

Browse files
mollusk82brianbturner82vishwanaths
authored
Added trident-operator pack 24.10.0 (#99)
* Added trident-operator pack 24.10.0 * Updated README.md file to adhere to template * Fixed a typo in README.md * Refined README.md * Added annotations to pack.json and changed name to csi-trident * fixed a typo in the README.md * Added Trident 24.10.0 for CSI layer packs * changed csi-trident to csi-trident-addon --------- Co-authored-by: Turner, Brian <[email protected]> Co-authored-by: Vishwanath S <[email protected]>
1 parent 235ee25 commit 9df0d43

File tree

10 files changed

+641
-0
lines changed

10 files changed

+641
-0
lines changed
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# NetApp-Trident
2+
Trident is a fully supported open source project maintained by NetApp. It has been designed from the ground up to help you meet your containerized applications' persistence demands using industry-standard interfaces, such as the Container Storage Interface.
3+
4+
Trident deploys in Kubernetes clusters as pods and provides dynamic storage orchestration services for your Kubernetes workloads. It enables your containerized applications to quickly consume persistent storage from NetApp's broad portfolio that
5+
includes ONTAP, Element, HCI/SolidFire, as well as the Azure NetApp Files service, Cloud Volumes Service on Google Cloud, and Amazon FSx for ONTAP.
6+
7+
Trident features also address data protection, disaster recovery, portability, and migration use cases for Kubernetes workloads leveraging NetApp's industry-leading data management technology for snapshots, backups,
8+
replication, and cloning.
9+
10+
## Prerequisites
11+
For a full list of Trident requirements, check out the [Getting Started](https://docs.netapp.com/us-en/trident/trident-get-started/requirements.html) guide.
12+
13+
Critical information about Trident:
14+
* Kubernetes 1.31 is now supported in Trident. Upgrade Trident prior to upgrading Kubernetes.
15+
* Trident strictly enforces the use of multipathing configuration in SAN environments, with a recommended value of find_multipaths: no: in multipath.conf file.
16+
17+
Supported frontends (orchestrators)
18+
Trident supports multiple container engines and orchestrators, including the following:
19+
* Anthos On-Prem (VMware) and Anthos on bare metal 1.16
20+
* Kubernetes 1.25 - 1.31
21+
* OpenShift 4.10 - 4.17
22+
* Rancher Kubernetes Engine 2 (RKE2) v1.28.5+rke2r1
23+
24+
The Trident operator is supported with these releases:
25+
* Anthos On-Prem (VMware) and Anthos on bare metal 1.16
26+
* Kubernetes 1.25 - 1.31
27+
* OpenShift 4.10 - 4.17
28+
* Rancher Kubernetes Engine 2 (RKE2) v1.28.5+rke2r1
29+
30+
Trident also works with a host of other fully-managed and self-managed Kubernetes offerings, including Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Services (EKS), Azure Kubernetes Service (AKS), Mirantis Kubernetes Engine (MKE), and VMWare Tanzu Portfolio.
31+
32+
Supported backends (storage)
33+
To use Trident, you need one or more of the following supported backends:
34+
* Amazon FSx for NetApp ONTAP
35+
* Azure NetApp Files
36+
* Cloud Volumes ONTAP
37+
* Google Cloud NetApp Volumes
38+
* FAS/AFF/Select 9.5 or later
39+
* NetApp All SAN Array (ASA)
40+
* NetApp HCI/Element software 11 or above
41+
42+
## Parameters
43+
This table and the values.yaml file, which is part of the Helm chart, provide the list of keys and their default values.
44+
| Parameter | Description | Default | Required |
45+
| --- | --- | --- | --- |
46+
| nodeSelector | Node labels for pod assignment | Empty | No |
47+
| podAnnotations| Pod annotations| Empty | No |
48+
| deploymentAnnotations | Deployment annotations | Empty | No |
49+
| tolerations | Tolerations for pod assignment | Empty | No |
50+
| affinity | Affinity for pod assignment | All Nodes | Yes |
51+
| tridentControllerPluginNodeSelector | Additional node selectors for pods. Refer to Understanding controller pods and node pods for details. | Empty | No |
52+
| tridentControllerPluginTolerations | Overrides Kubernetes tolerations for pods. Refer to Understanding controller pods and node pods for details. | Empty | No |
53+
| tridentNodePluginNodeSelector | Additional node selectors for pods. Refer to Understanding controller pods and node pods for details. | Empty | No |
54+
| tridentNodePluginTolerations | Overrides Kubernetes tolerations for pods. Refer to Understanding controller pods and node pods for details. | Empty | No |
55+
| imageRegistry | Identifies the registry for the trident-operator, trident, and other images. Leave empty to accept the default. | Empty | No |
56+
| imagePullPolicy | Sets the image pull policy for the trident-operator. | IfNotPresent | Yes |
57+
| imagePullSecrets | Sets the image pull secrets for the trident-operator, trident, and other images. | Empty | No |
58+
| kubeletDir | Allows overriding the host location of kubelet's internal state. | "/var/lib/kubelet" | Yes |
59+
| operatorLogLevel | Allows the log level of the Trident operator to be set to: trace, debug, info, warn, error, or fatal. | "info" | Yes |
60+
| operatorDebug | Allows the log level of the Trident operator to be set to debug. | true | Yes |
61+
| operatorImage | Allows the complete override of the image for trident-operator. | Empty | No |
62+
| operatorImageTag | Allows overriding the tag of the trident-operator image. | Empty | No |
63+
| tridentIPv6 | Allows enabling Trident to work in IPv6 clusters. | false | No |
64+
| tridentK8sTimeout | Overrides the default 30-second timeout for most Kubernetes API operations (if non-zero, in seconds). | 0 | No |
65+
| tridentHttpRequestTimeout | Overrides the default 90-second timeout for the HTTP requests, with 0s being an infinite duration for the timeout. Negative values are not allowed. | "90s" | Yes |
66+
| tridentSilenceAutosupport | Allows disabling Trident periodic AutoSupport reporting. | false | No |
67+
| tridentAutosupportImageTag | Allows overriding the tag of the image for Trident AutoSupport container. | <version> | Yes |
68+
| tridentAutosupportProxy | Enables Trident AutoSupport container to phone home via an HTTP proxy. | Empty | No |
69+
| tridentLogFormat | Sets the Trident logging format (text or json). | "text" | No |
70+
| tridentDisableAuditLog | Disables Trident audit logger. | true | No |
71+
| tridentLogLevel | Allows the log level of Trident to be set to: trace, debug, info, warn, error, or fatal. | "info" | No |
72+
| tridentDebug | Allows the log level of Trident to be set to debug. | false | No |
73+
| tridentLogWorkflows | Allows specific Trident workflows to be enabled for trace logging or log suppression. | Empty | No |
74+
| tridentLogLayers | Allows specific Trident layers to be enabled for trace logging or log suppression. | Empty | No |
75+
| tridentImage | Allows the complete override of the image for Trident. | Empty | No |
76+
| tridentImageTag | Allows overriding the tag of the image for Trident. | Empty | No |
77+
| tridentProbePort | Allows overriding the default port used for Kubernetes liveness/readiness probes. | Empty | No |
78+
| windows | Enables Trident to be installed on Windows worker node. | false | No |
79+
| enableForceDetach | Allows enabling the force detach feature. | false | No |
80+
| excludePodSecurityPolicy | Excludes the operator pod security policy from creation. | false | No |
81+
| cloudProvider | Set to "Azure" when using managed identities or a cloud identity on an AKS cluster. Set to "AWS" when using a cloud identity on an EKS cluster. | Empty | No |
82+
| cloudIdentity | Set to workload identity ("azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx") when using cloud identity on an AKS cluster. Set to AWS IAM role ("'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'") when using cloud identity on an EKS cluster. | Empty | No |
83+
| iscsiSelfHealingInterval | The interval at which the iSCSI self-healing is invoked. | 5m0s | No |
84+
| iscsiSelfHealingWaitTime | The duration after which iSCSI self-healing initiates an attempt to resolve a stale session by performing a logout and subsequent login. | 7m0s | No |
85+
| nodePrep | Enables Trident to prepare the nodes of the Kubernetes cluster to manage volumes using the specified data storage protocol. | Currently, iscsi is the only value supported. | No |
86+
87+
## Usage
88+
Please refer to the Trident Documentation for usage related to Trident Backend Setup, Storage Class parameters, and other features - [Trident Docs](https://docs.netapp.com/us-en/trident/index.html)
89+
90+
## Upgrade
91+
This pack is maintained by NetApp and new version of this pack will be updated along with new versions of Trident according to the regular [release cycle](https://mysupport.netapp.com/site/info/trident-support)
92+
93+
## References:
94+
* [Trident Docs](https://docs.netapp.com/us-en/trident/index.html)
95+
* [NetApp's Support site](https://mysupport.netapp.com/site/info/version-support)
96+
* [Trident's Release and Support Lifecycle](https://mysupport.netapp.com/site/info/trident-support)
97+
* [Chat](http://netapp.io/slack/)
98+
* [GitHub last commit](https://github.com/NetApp/trident/commits)
99+
* [Go Report Card](https://goreportcard.com/report/github.com/netapp/trident)
Binary file not shown.
21.8 KB
Loading
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"addonType":"system app",
3+
"cloudTypes": [
4+
"vsphere",
5+
"maas",
6+
"edge-native"
7+
],
8+
"annotations": {
9+
"docsURL": "https://github.com/NetApp/trident",
10+
"description": "NetApp Trident",
11+
"source": "community",
12+
"contributor": "NetApp"
13+
},
14+
"displayName": "Trident",
15+
"charts": [
16+
"charts/trident-operator-24.10.0.tgz"
17+
],
18+
"layer": "addon",
19+
"name": "csi-trident-addon",
20+
"version": "24.10.0"
21+
}
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
pack:
2+
content:
3+
images:
4+
- image: docker.io/netapp/trident-operator:24.10.0
5+
- image: docker.io/netapp/trident-autosupport:24.10.0
6+
- image: docker.io/netapp/trident:24.10.0
7+
8+
charts:
9+
- repo: https://github.com/NetApp/trident/releases/download/v24.10.0/trident-installer-24.10.0.tar.gz
10+
name: trident-operator
11+
version: 24.10.0
12+
13+
# The namespace (on the target cluster) to install this chart
14+
# When not found, a new namespace will be created
15+
namespace: trident
16+
17+
# Add Pod Security Standard label to trident-system namespace.
18+
namespaceLabels:
19+
"trident": "pod-security.kubernetes.io/enforce=privileged"
20+
21+
charts:
22+
trident-operator:
23+
# Default values for standalone.
24+
# This is a YAML-formatted file.
25+
26+
## Node labels for pod assignment
27+
## ref: https://kubernetes.io/docs/user-guide/node-selection/
28+
nodeSelector: {}
29+
30+
## Pod AnnotationsF
31+
podAnnotations: {}
32+
33+
## Deployment Annotations
34+
deploymentAnnotations: {}
35+
36+
## Tolerations for pod assignment
37+
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
38+
tolerations: []
39+
40+
## Affinity for pod assignment
41+
## The following affinity configuration ensures that the Trident operator will only be scheduled on nodes with the specified architecture and OS, Hence, do not modify this section. To add custom affinity rules, please append your content to this configuration as needed
42+
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
43+
affinity:
44+
nodeAffinity:
45+
requiredDuringSchedulingIgnoredDuringExecution:
46+
nodeSelectorTerms:
47+
- matchExpressions:
48+
- key: kubernetes.io/arch
49+
operator: In
50+
values:
51+
- arm64
52+
- amd64
53+
- key: kubernetes.io/os
54+
operator: In
55+
values:
56+
- linux
57+
58+
59+
# tridentControllerPluginNodeSelector additional nodeSelectors for the Pod running the Trident Controller CSI Plugin.
60+
# tridentControllerPluginNodeSelector : {}
61+
62+
# tridentControllerPluginTolerations overrides tolerations for the Pod running the Trident Controler CSI Plugin.
63+
# tridentControllerPluginTolerations: []
64+
65+
# tridentNodePluginNodeSelector additional nodeSelectors for Pods running the Trident Node CSI Plugin.
66+
# tridentNodePluginNodeSelector : {}
67+
68+
# tridentNodePluginTolerations overrides tolerations for Pods running the Trident Node CSI Plugin.
69+
# tridentNodePluginTolerations: []
70+
71+
72+
73+
# imageRegistry identifies the registry for the trident-operator, trident, and other images. Leave empty to accept the default.
74+
imageRegistry: ""
75+
76+
# imagePullPolicy sets the image pull policy for the trident-operator.
77+
imagePullPolicy: IfNotPresent
78+
79+
# imagePullSecrets sets the image pull secrets for the trident-operator, trident, and other images.
80+
imagePullSecrets: []
81+
82+
# kubeletDir allows overriding the host location of kubelet's internal state. (default "/var/lib/kubelet").
83+
kubeletDir: ""
84+
85+
86+
# operatorLogLevel allows the log level of the Trident operator to be set to one of these:
87+
# trace, debug, info, warn, error, fatal.
88+
# operatorLogLevel: "info"
89+
90+
# operatorDebug allows the log level of the Trident operator to be set to debug
91+
operatorDebug: true
92+
93+
# operatorImage allows the complete override of the image for trident-operator.
94+
operatorImage: ""
95+
96+
# operatorImageTag allows overriding the tag of the trident-operator image.
97+
operatorImageTag: ""
98+
99+
100+
# tridentIPv6 allows enabling Trident to work in IPv6 clusters.
101+
tridentIPv6: false
102+
103+
# tridentK8sTimeout overrides the default 30-second timeout for most Kubernetes API operations (if non-zero, in seconds).
104+
tridentK8sTimeout: 0
105+
106+
# tridentHttpRequestTimeout (duration) overrides the default 90-second timeout for the HTTP requests, with 0s being an
107+
# infinite duration for the timeout. Negative values are not allowed.
108+
tridentHttpRequestTimeout: "90s"
109+
110+
# tridentSilenceAutosupport allows disabling Trident's periodic Autosupport reporting.
111+
tridentSilenceAutosupport: false
112+
113+
# tridentAutosupportImage allows the complete override of the image for Trident's Autosupport container.
114+
tridentAutosupportImage: ""
115+
116+
# tridentAutosupportImageTag allows overriding the tag of the image for Trident's Autosupport container.
117+
tridentAutosupportImageTag: "24.10"
118+
119+
# tridentAutosupportProxy allows Trident's autosupport container to phone home via an HTTP proxy.
120+
tridentAutosupportProxy: ""
121+
122+
# tridentAutosupportInsecure allows Trident's autosupport container to skip TLS verification
123+
tridentAutosupportInsecure: false
124+
125+
# tridentLogFormat sets the Trident logging format (text or json).
126+
tridentLogFormat: "text"
127+
128+
# tridentDisableAuditLog disables Trident's audit logger.
129+
tridentDisableAuditLog: true
130+
131+
# tridentLogLevel allows the log level of Trident to be set to one of these: trace, debug, info, warn, error, fatal.
132+
#tridentLogLevel: "info"
133+
134+
# tridentDebug allows the log level of Trident to be set to debug
135+
tridentDebug: false
136+
137+
# tridentLogWorkflows allows specific Trident workflows to be enabled for trace logging or log suppression.
138+
tridentLogWorkflows: ""
139+
140+
# tridentLogLayers allows specific Trident layers to be enabled for trace logging or log suppression.
141+
tridentLogLayers: ""
142+
143+
# tridentImage allows the complete override of the image for Trident.
144+
tridentImage: ""
145+
146+
# tridentImageTag allows overriding the tag of the image for Trident.
147+
tridentImageTag: ""
148+
149+
# (Deprecated) tridentEnableNodePrep attempts to automatically install required packages on nodes.
150+
tridentEnableNodePrep: false
151+
152+
# (Deprecated) tridentSkipK8sVersionCheck allows overriding the k8s version limit for Trident.
153+
tridentSkipK8sVersionCheck: false
154+
155+
# tridentProbePort allows overriding the default port used for k8s liveness/readiness probes.
156+
tridentProbePort: ""
157+
158+
# windows allows Trident to be installed on Windows worker node.
159+
windows: false
160+
161+
# enableForceDetach allows enabling the force detach feature.
162+
enableForceDetach: false
163+
164+
# cloudProvider indicates which cloud platform Trident is running on.
165+
cloudProvider: ""
166+
167+
# cloudIdentity indicates the identity that needs to be set on service account.
168+
cloudIdentity: ""
169+
170+
# enableACP allows enabling the Trident-ACP container to run.
171+
enableACP: false
172+
173+
# acpImage indicates the image the Trident-ACP container should pull.
174+
acpImage: ""
175+
176+
# iscsiSelfHealingInterval is the interval at which the iSCSI self-healing job is invoked
177+
iscsiSelfHealingInterval: "5m0s"
178+
179+
# iscsiSelfHealingWaitTime is the wait time after which iSCSI self-healing attempts to fix stale sessions
180+
iscsiSelfHealingWaitTime: "7m0s"
181+
182+
# configuratorReconcileInterval is the resource refresh rate for the auto generated backends.
183+
configuratorReconcileInterval: 30m0s
184+
185+
# forceInstallRancherClusterRoles will install a Rancher specific ClusterRole and ClusterRoleBinding when set to true.
186+
# When set to false, the ClusterRole and ClusterRoleBinding will be installed only when a Rancher cluster is detected.
187+
forceInstallRancherClusterRoles: false
188+
189+
# Auto generated ANF backend related fields consumed by the configurator controller.
190+
anfConfigurator:
191+
enabled: false
192+
virtualNetwork: ""
193+
subnet: ""
194+
subscriptionID: ""
195+
tenantID: ""
196+
location: ""
197+
clientCredentials: ""
198+
capacityPools: []
199+
netappAccounts: []
200+
resourceGroups: []
201+
customerEncryptionKeys: {}

0 commit comments

Comments
 (0)