-
Notifications
You must be signed in to change notification settings - Fork 7.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ambient support for redhat openshift #42341
Comments
|
The tricky part of ambient mode on OpenShift is installation of ztunnel, which requires NET_ADMIN capabilities, so I wonder if we could install ztunnel in kube-system namespace, where we can install privileged workload out of the box? What do you think @howardjohn @jwendell @morvencao? PoC: |
|
Definitely should (be able to) live in kube-system, just like CNI. I didn't known we don't have istio-ca-root-cert in kube-system, that is a bummer. Do you know if we can give istiod abiliyt to write configmap to kube-system? I think some platforms may reject it... Does OpenShift allow this write? If not CNI could read+mirror it, but that is pretty odd. |
|
@jewertow just curious how do you install istio-cni (or your istio-cni equivalent) on openshift today for sidecars? Is it also in kube-system, or istio-system ns? |
I'm not sure of the historical reasons for this, but the only reason istio-ca-root-cert isn't in kube-system is because of a discoverySelector exclusion in NamespaceController. |
I vaguely recall some platforms reject kube-system writes and we exclude sidecars there anyways so there wasn't a need at the time |
I'm not sure, I will verify that. I will also check if we could check platform at runtime (e.g. based on git version) to conditionally create that config map in kube-system.
@linsun, if you're asking about OpenShift Service Mesh, we install istio-cni in openshift-operators namespace alongside our operator, but I don't know why. I wasn't part of the team when that decision was made. |
|
@jewertow yes, thanks, that is what I was asking. Would it be useful if we also put istio-cni & ztunnel in its dedicated operator ns (given potential limitation on what we can do in kube-system)? |
|
@linsun, first of all, I'm sorry for the late reply, but I was on leave. I guess that ztunnel could work fine in openshift-operators, but I didn't think about this approach, because I remember that @howardjohn was concerned about deploying istio-cni in openshift-operators. I started prototyping profile openshift-ambient, but istio-cni logs errors, so I still work on it. |
|
Hi @jewertow it is a good time to evaluate this again, I believe with the latest istio-cni change coming to upstream, ambient for openshift should be supported. |
|
Hey @linsun, I didn't test in-pod ambient networking yet, but I will do it early next week and will submit patches for OCP if it will be necessary. |
|
@linsun I was trying to install in-pod ambient using but these errors are no longer returned in the new implementation, so it seems that the istio-cni image was built from the old source code. |
|
Ok, nevermind. I didn't use proper manifests. |
|
Yes, the istio-cni was building using 1.19, but the PRs have been open if you want to build it yourself on latest code base. Thank you @jewertow for trying it on openshift!! |
|
@jewertow any update? were you able to get it running? |
|
@linsun Some clarification on this topic. @jewertow can clarify further. We have tested and verified the inpod redirection with the same CNI that Openshift uses (which is OVN-Kubernetes) but in a Kubernetes/ Kind environment. We (including @jewertow and others) will continue with more testing but what we have done so far gives us confidence that it should work even in a Openshift environment since that uses the same CNI that we have tested so far. This environment is different from the currently shipping Openshift Service Mesh (which is based on Maistra, a fork of Istio) and we may not test or support Ambient for the Maistra based version although that is still to be determined. |
|
Hey @linsun,
Yes, I successfully installed ambient with "inpod" redirection mode on OpenShift. I tested flows from the Getting Started with Ambient Mesh and everything worked as expected and I didn't get any error in logs. And therefore I opened the PR with openshift-ambient profile. |
|
Very nice, thanks for the update! |
|
Hi @srampal - just to clarify, yep, I am not asking for support or test for ambient for maistra. :) |
@jewertow did you try "L7 Authorization Policies" as well? I was able to successfully install inPod on an OpenShift cluster with OpenShiftSDN as well as OVNK CNIs and verify the L4 Authorization policies. However, when I tried to verify L7 Authorization policies using K8s Gateway APIs, the bookinfo-gateway-istio pod is crash-looping due to readiness/startup probe failures. It appears like kubelet is unable to query the healthcheck url associated with the pod. But if I manually try the health-check url from another Pod it works fine. So, the issue seems to be - if we try to access from the hostNetwork, the healthcheck url could not be accessed, but the same url works fine when accessing from the podNetwork. I'm looking into it, but do let us know if the use-case worked in your setup. |
Please ignore the above error. The reason why the healthcheck was failing was because I forgot to update the namespace of the Gateway and HTTPRoute object, so it was installed in the |
|
This should be resolved, please try latest master or release 1.21 build, or wait for the official 1.21 release. see #48212. |
|
Sorry, just got confirmation from Eric that the change is not in beta 0 yet, but should be in -beta.1 since it was merged after beta.0 was released. I expect that the new build will be available in a day or 2. |
Would be nice for IBM/Redhat team to step in and contribute an ambient openshift profile when ambient is merged to upstream, similar like the openshift profile today.
The text was updated successfully, but these errors were encountered: