This repository has been archived by the owner on Feb 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 228
Support Enable/Disable NiFi Zookeeper client Zookeeper Ensemble Tracker #294
Closed
nathluu
wants to merge
19
commits into
cetic:master
from
nathluu:nathluu/zkclient-ensemble-tracker-disable
Closed
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
253ad43
Disable zkClientEnsembleTracker
nathluu 9bf4698
Update s2s bravo flow.xml
nathluu 2a58c3d
Update s2s test to use cmctl from cert-manager instead of jetstack
nathluu f6a84e7
Change cert-manager installation
nathluu 9d34bed
Fix s2s test (#
nathluu eaed349
Update s2s test
nathluu 944db6d
Add session affinity FAQ (#299)
cf250024 f296a8e
feature/en289 Add a one-volume option for persistence using subPath (…
emrge-michaeld 09dac85
Add auth.oidc.preferredJwsalgorithm param (#306)
happy-code-com f851d51
Add bootstrap options (#308)
combineads 219b17e
relaunch tests
banzo 3519298
Disable zkClientEnsembleTracker
nathluu 020c282
Update s2s bravo flow.xml
nathluu 09953ac
Update s2s test to use cmctl from cert-manager instead of jetstack
nathluu a3f7f5f
Change cert-manager installation
nathluu c003de2
Fix s2s test (#
nathluu 317862a
Update s2s test
nathluu ea0c9e3
relaunch tests
banzo c0d0fb0
Merge branch 'nathluu/zkclient-ensemble-tracker-disable' of github.co…
nathluu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,8 +35,9 @@ The following items can be set via `--set` flag during installation or configure | |
|
||
#### Configure how to persist data | ||
|
||
- **Disable**: The data does not survive the termination of a pod. | ||
- **Persistent Volume Claim(default)**: A default `StorageClass` is needed in the Kubernetes cluster to dynamically provision the volumes. Specify another StorageClass in the `storageClass` or set `existingClaim` if you have already existing persistent volumes to use. | ||
- **Disable(default)**: The data does not survive the termination of a pod. | ||
- **Persistent Volume Claim**: Enable persistence so that data survives termination of the pod. There is the choice of using one large persistent volume (using subPath) or seven separate persistent volumes for config, data, logs, repos, etc. | ||
A default `StorageClass` is needed in the Kubernetes cluster to dynamically provision the volumes. Specify another StorageClass in the `persistence.storageClass` setting. | ||
|
||
#### Configure authentication | ||
|
||
|
@@ -95,7 +96,7 @@ The following table lists the configurable parameters of the nifi chart and the | |
| `replicaCount` | Number of nifi nodes | `1` | | ||
| **Image** | | ||
| `image.repository` | nifi Image name | `apache/nifi` | | ||
| `image.tag` | nifi Image tag | `1.16.3` | | ||
| `image.tag` | nifi Image tag | `1.20.0` | | ||
| `image.pullPolicy` | nifi Image pull policy | `IfNotPresent` | | ||
| `image.pullSecret` | nifi Image pull secret | `nil` | | ||
| **SecurityContext** | | ||
|
@@ -155,6 +156,7 @@ The following table lists the configurable parameters of the nifi chart and the | |
| `auth.oidc.clientId` | oidc clientId | `nil` | | ||
| `auth.oidc.clientSecret` | oidc clientSecret | `nil` | | ||
| `auth.oidc.claimIdentifyingUser` | oidc claimIdentifyingUser | `email` | | ||
| `auth.oidc.preferredJwsAlgorithm` | The preferred algorithm for validating identity tokens. If this value is blank, it will default to RS256 which is required to be supported by the OpenID Connect Provider according to the specification. If this value is HS256, HS384, or HS512, NiFi will attempt to validate HMAC protected tokens using the specified client secret. If this value is none, NiFi will attempt to validate unsecured/plain tokens. | `nil` | | ||
| `auth.oidc.admin` | Default OIDC admin identity | `[email protected]` | | ||
| Note that OIDC authentication to a multi-NiFi-node cluster requires Ingress sticky sessions | See [background](https://community.cloudera.com/t5/Support-Questions/OIDC-With-Azure-AD/m-p/232324#M194163) | Also [how](https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/) | | ||
| **postStart** | | ||
|
@@ -184,14 +186,16 @@ The following table lists the configurable parameters of the nifi chart and the | |
| `persistence.enabled` | Use persistent volume to store data | `false` | | ||
| `persistence.storageClass` | Storage class name of PVCs (use the default type if unset) | `nil` | | ||
| `persistence.accessMode` | ReadWriteOnce or ReadOnly | `[ReadWriteOnce]` | | ||
| `persistence.subPath.enabled` | Use only one persistent volume with subPath instead of seven separate persistent volumes | `false` | | ||
| `persistence.subPath.name` | Name of the one persistent volume claim when using subPath | `data` | | ||
| `persistence.subPath.size` | Size of the one persistent volume claim when using subPath | `36Gi` | | ||
| `persistence.configStorage.size` | Size of persistent volume claim | `100Mi` | | ||
| `persistence.authconfStorage.size` | Size of persistent volume claim | `100Mi` | | ||
| `persistence.dataStorage.size` | Size of persistent volume claim | `1Gi` | | ||
| `persistence.flowfileRepoStorage.size` | Size of persistent volume claim | `10Gi` | | ||
| `persistence.contentRepoStorage.size` | Size of persistent volume claim | `10Gi` | | ||
| `persistence.provenanceRepoStorage.size` | Size of persistent volume claim | `10Gi` | | ||
| `persistence.logStorage.size` | Size of persistent volume claim | `5Gi` | | ||
| `persistence.existingClaim` | Use an existing PVC to persist data | `nil` | | ||
| **jvmMemory** | | ||
| `jvmMemory` | bootstrap jvm size | `2g` | | ||
| **SideCar** | | ||
|
@@ -219,6 +223,8 @@ The following table lists the configurable parameters of the nifi chart and the | |
| **env** | | ||
| `env` | Additional environment variables for the nifi-container (see [spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#envvar-v1-core) for details) | `[]` | | ||
| `envFrom` | Additional environment variables for the nifi-container from config-maps or secrets (see [spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#envfromsource-v1-core) for details) | `[]` | | ||
| **extraOptions** | | ||
| `extraOptions` | Additional bootstrap.conf properties (see [properties](https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#bootstrap_properties) for details) | `[]` | | ||
| **extraContainers** | | ||
| `extraContainers` | Additional container-specifications that should run within the pod (see [spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#container-v1-core) for details) | `[]` | | ||
| **extraLabels** | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,17 @@ | ||
FAQ - Frequently Asked Questions | ||
====== | ||
================================ | ||
|
||
Readyness probe fails | ||
--------------- | ||
--------------------- | ||
|
||
When encountering errors like `Readiness probe failed: Node not found with CONNECTED state` or `Multi-Attach error for volume "pvc-xxxxxx-xxx-xxx-xxxx-xxxxxxxxx" Volume is already exclusively attached to one node and can't be attached to another`, it means Kubernetes can't provide the pod access to the persistent data it wants. | ||
When encountering errors like `Readiness probe failed: Node not found with CONNECTED state` or `Multi-Attach error for volume "pvc-xxxxxx-xxx-xxx-xxxx-xxxxxxxxx" Volume is already exclusively attached to one node and can't be attached to another`, it means Kubernetes can't provide the pod access to the persistent data it wants. | ||
|
||
When this happens, reach out to your Kubernetes cluster administrators to find and fix the problem manually. | ||
When this happens, reach out to your Kubernetes cluster administrators to find and fix the problem manually. | ||
|
||
For more background, see https://blog.mayadata.io/recover-from-volume-multi-attach-error-in-on-prem-kubernetes-clusters | ||
|
||
(see https://github.com/cetic/helm-nifi/issues/47#issuecomment-1122702262) | ||
(see https://github.com/cetic/helm-nifi/issues/47#issuecomment-1122702262) | ||
|
||
## Session Afffinity | ||
|
||
As mentioned in the official NIFI document regarding [session affinity](https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#session_affinity), it's required to implement this feature for your ingress. Please refer to the ingress controller your are using for how to implement it. One example for GKE is with [issue #271](https://github.com/cetic/helm-nifi/issues/271). If NIFI cluster has more than one node, the session affinity has to be there due to the stateful implementation of each node. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This defeats the purpose of the test, which was to confirm that NiFi is automatically detecting the certificate has changed and restarting the TLS modules. If we want to disable this test because NiFi is broken, then I would recommend commenting it out with a comment rather than forcing a restart.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a TODO to remove this block of code when NIFI issue is fixed