[WIP] NE-2437: [POC] Install Istio via Helm charts instead of OLM subscription#1347
[WIP] NE-2437: [POC] Install Istio via Helm charts instead of OLM subscription#1347gcs278 wants to merge 1 commit intoopenshift:masterfrom
Conversation
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/assign |
| github.com/google/go-cmp v0.7.0 | ||
| github.com/google/gopacket v1.1.19 | ||
| github.com/istio-ecosystem/sail-operator v0.0.0-20250513111011-30be83268d6b | ||
| github.com/istio-ecosystem/sail-operator v0.0.0-20260120110418-60cc479e9267 |
There was a problem hiding this comment.
note here is that maybe we may want to start using tagged releases once this approach becomes production ready. So we can tie a version of CIO with a released version of Sail
| // installIstio installs istiod via Helm Chart | ||
| func (h *helmInstaller) installIstio(ctx context.Context, gatewayClass *gatewayapiv1.GatewayClass, istioVersion string, enableInferenceExtension bool) error { | ||
| // Create owner reference - GatewayClass owns the Helm resources | ||
| ownerRef := metav1.OwnerReference{ |
There was a problem hiding this comment.
I think we should probably not make the GatewayClass own the Helm installation, but something else (maybe the same resource that makes CIO). My concern is: if a user removes a GatewayClass, would it remove the helm chart or make Kubernetes garbage collect the resources?
There was a problem hiding this comment.
My concern is: if a user removes a GatewayClass, would it remove the helm chart or make Kubernetes garbage collect the resources?
yes - it would garbage collect the helm chart and all of the resources it created (including istiod). However, in my testing, the control plane and the data plane are not connected via any finalizers/ownerReferences/etc...so deleting the Istiod control plane does not cascade to deleting the data plane (it just gets orphaned).
Today, if you delete a GatewayClass, the following happens:
- Since the Istio CR has an ownerRef of the GatewayClass, that get's deleted
- Since the IstioRevision has an ownerRef of the Istio CR, that get deleted
- Since the IstioRevision CR has a finalizer added, the Sail Operator will block deletion until it deletes the helm charts
- The helm charts are deleted
So, effectively, this is the same behavior as today. Delete the GatewayClass, and the Helm chart gets deleted.
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
9f2baf0 to
90e3d69
Compare
|
@gcs278: This pull request references NE-2437 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
Replace OLM-based Istio installation with direct Helm chart installation using sail-operator's ChartManager library. This is currently a POC used to explore the feasiblity of Helm-based installations for Istiod in the Ingress Operator
90e3d69 to
915d164
Compare
|
closing in favor of the implementation #1354 |
|
@gcs278: Closed this PR. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Replace OLM-based Istio installation with direct Helm chart installation using sail-operator's ChartManager library. This is currently a POC used to explore the feasibility of Helm-based installations for Istiod in the Ingress Operator.
This POC uses a
start-gatewayclasscommand that runs only the updated gatewayclass controller against a cluster, bypassing the need to deploy and configure the full ingress-operator. This is so that I can quickly iterate inside a kind cluster.Testing
To test this POC in a local kind cluster:
TODO
This POC was developed with assistance from Claude, which helped with code implementation and script development.