Skip to content
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

Update the authservice to the Istio 1.9+ #149

Closed
incfly opened this issue Aug 14, 2021 · 5 comments · Fixed by #153
Closed

Update the authservice to the Istio 1.9+ #149

incfly opened this issue Aug 14, 2021 · 5 comments · Fixed by #153
Assignees

Comments

@incfly
Copy link

incfly commented Aug 14, 2021

The doc and the setup requires some setup. This issue captures the changes including

  • ExternalAuthz
  • UX improvements, etc localhost and port forwarding for quicker "get started".
  • Doc structure improvement for different deployment model.
  • Purge the outdated content.
@anhdle14
Copy link

Should I abandon the PR #145 and work with you on this instead?

Although Ext-authz is recommended I was thinking we should still provide EnvoyFilter as a backward compatibility solution when Istio decide to change ext-authz.

As highlighted in the doc: The following information describes an experimental feature, which is intended for evaluation purposes only.

2 things I am working on right now are:

  • ConfigMap is easier to people to see and understand. But it should be better provided as a Secret instead.
  • And the mesh.config can be done via Istio-operator other than manually edit it.

Should I create a new PR for these changes?

@incfly
Copy link
Author

incfly commented Aug 17, 2021

even though that is an experimental feature, but it's added to beta authorization policy. I would expect the performance stability can be improved as it goes to alpha beta and stable, but the API semantics should still be the same. however, envoy filter on the other hand, Istio would not maintain any promise anyway. I originally thought it's fine to add envoy filter for backward compatbility. but last version without external authz, 1.8 should be out of support already. https://istio.io/latest/docs/releases/supported-releases/. It might also confuses users for which one to choose.

ConfigMap is easier to people to see and understand. But it should be better provided as a Secret instead.

I agree. this avoids the sensitive information putting in the plaintext in the config directly.

And the mesh.config can be done via Istio-operator other than manually edit it.

Good idea. This can also help to streamline the installation onboarding process.

@anhdle14
Copy link

Sure, no problem. I will try to work on it in the weekend. But this is my first time contributing so it may take longer than what you expected.

Anyway, regarding the new docs for istio 1.9+. I tried to implement it with httpbin and got this error in authservice/istio-proxy container. And when trying to access the Ext-authz path I only received 403 and there is no redirect to the OIDC login page. I don't think I change anything major.

2021-08-18T23:53:01.570508Z     warning envoy config    gRPC config for type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment rejected: malformed IP address: auth-service.default.svc.cluster.local. Consider setting resolver_name or setting cluster type to 'STRICT_DNS' or 'LOGICAL_DNS'
2021-08-18T23:53:01.570514Z     warning envoy config    gRPC config for type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment rejected: malformed IP address: auth-service.default.svc.cluster.local. Consider setting resolver_name or setting cluster type to 'STRICT_DNS' or 'LOGICAL_DNS'
2021-08-18T23:53:01.570520Z     warning envoy config    gRPC config for type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment rejected: malformed IP address: auth-service.default.svc.cluster.local. Consider setting resolver_name or setting cluster type to 'STRICT_DNS' or 'LOGICAL_DNS'
2021-08-18T23:53:01.570527Z     warning envoy config    gRPC config for type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment rejected: malformed IP address: auth-service.default.svc.cluster.local. Consider setting resolver_name or setting cluster type to 'STRICT_DNS' or 'LOGICAL_DNS'

@incfly
Copy link
Author

incfly commented Aug 19, 2021

From the log it seems like there's a cluster endpoint with name rather than IP. Not sure how it ends up like this. Have you tried the bookinfo-example/README.md with updated helm packages? This works for me.

@incfly incfly closed this as completed Aug 19, 2021
@incfly
Copy link
Author

incfly commented Aug 20, 2021

@anhdle14 sorry i speak too soon. you are right, there's some issues will give you 403. I already find the problems, will update the doc and config soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants