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.
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
add istioctl install page for ambient and improve install docs experience #15483
add istioctl install page for ambient and improve install docs experience #15483
Changes from 14 commits
6edd553
806566e
f22a9dc
c460a34
cbb1f19
9b6931c
a7f8670
16dc1a6
dee02ef
dc78c14
b902365
ac30af3
270dc12
36bcf8a
11d75fa
b320c0d
8dce752
66efa88
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
The
profiles
support betweenistioctl
andhelm
is 1-to-1 - they are the same profiles, in fact.So either we need to blurb this on the helm page too ("hey, we have other profiles, go look") - or do what that page does, and don't blurb it.
Either way, should be consistent.
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.
The sidecar installation docs haven't been meaningfully updated from the time when they were the only installation method.
I agree that a complete overhaul of this is a good idea but I'm not going to boil the ocean in this PR. I haven't created an issue for this one because I believe that istio/istio#52702 should be general enough for sidecars too.
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.
On the topic of ambient specifically, with istioctl you need
profile=ambient
in order to tell it to install ztunnel and istio-cni. It's reasonable to point that out here - if you only didistioctl install
, you wouldn't get working ambient mode.Given that, in the Helm docs, we explicitly say you need to install Helm charts A B C and D, individually including ztunnel and CNI. What use are profiles there? Why are these two lines different?
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.
OK, it's explained in https://github.com/istio/istio/blob/master/manifests/helm-profiles/ambient.yaml that they are just sets of values, not groups of components.
an IstioOperator profile is a list of components and a link to a Helm profile.
this isn't half confusing.
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.
Profiles for both are almost entirely (and primarily) sets of values, and in fact both the Istio and helm ones are derived from the same file IIRC.
(they could be both sets of values and of components for both helm and istioctl pretty easily if we did chart composition in helm, but we do not).
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.
The ambient Helm profile contains environment variables and flags.
The ambient istioctl profile contains a list of components to enable, and an instruction to Helm to use the ambient Helm profile.
So yes, you're mostly right, but in the specific case of ambient, the istioctl profile is necessary to say "install ztunnel", where that is spelled out in the Helm docs.
This has been a useful exercise to understand the distinction, and if we could get chart composition - I assume you get that through dependencies? - then it would be possible to get the same outcome yes, though not through something called a profile. :)
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.
I doubt the helm profiles would work via dependencies unfortunately... helm doesn't have native 'profile' concept so we hack it in a way that would apply the config after it has chosen which dependencies to enable I suspect (untested) (https://blog.howardjohn.info/posts/advanced-helm/)
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.
Dependencies in helm can be enabled or disabled based on
values.yaml
properties, so I would expect if you disabled a component but a profile still supplied values for it, that would just no-op in the templating and give you ~roughly the same behavior asistioctl install <specific component> -f large-operator-yaml-with-many-settings-that-do-not-apply-to-that-component.yaml
today.but yeah, need to test. Helm can do what
istioctl install
does, we just don't use Helm in a way that lets us use those features.