Skip to content

install kiali using the new kiali operator#13299

Closed
jmazzitelli wants to merge 1 commit intoistio:release-1.1from
jmazzitelli:kiali-operator-1.1
Closed

install kiali using the new kiali operator#13299
jmazzitelli wants to merge 1 commit intoistio:release-1.1from
jmazzitelli:kiali-operator-1.1

Conversation

@jmazzitelli
Copy link
Copy Markdown
Member

This installs Kiali using the new Kiali Operator.

@jmazzitelli jmazzitelli added the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Apr 12, 2019
@istio-testing istio-testing removed the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Apr 12, 2019
@istio-testing
Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jmazzitelli
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ostromart

If they are not already assigned, you can assign the PR to them by writing /assign @ostromart in a comment when ready.

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jmazzitelli
Copy link
Copy Markdown
Member Author

This works fine - however, when deleting by either removing the istio-system namespace via "kubectl delete namespace" or "helm delete", the namespace hangs in the Terminating state because the operator is deleted before it gets a chance to run its delete workflow. This leaves a finalizer flag in the kiali CR.

I'm trying to figure out how to work around this.

@jmazzitelli jmazzitelli added the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Apr 12, 2019
@istio-testing
Copy link
Copy Markdown
Collaborator

@jmazzitelli: The following tests failed, say /retest to rerun them all:

Test name Commit Details Rerun command
prow/istio-integ-k8s-tests.sh 3372d7f link /test istio-integ-k8s-tests
prow/istio-pilot-multicluster-e2e.sh 3372d7f link /test istio-pilot-multicluster-e2e
Details

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/test-infra repository. I understand the commands that are listed here.

@jmazzitelli
Copy link
Copy Markdown
Member Author

I asked about how to work around this "delete" issue on the discuss forum here: https://discuss.istio.io/t/how-will-operators-be-integrated-into-the-helm-charts/1899

- '*'
- apiGroups: ["rbac.authorization.k8s.io"]
resources:
- clusterrolebindings
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does that allow the Kiali operator to create arbitrary roles and bindings on cluster level? That would allow privilege escalation at its best.

@sbezverk
Copy link
Copy Markdown
Contributor

@jmazzitelli if Kiali is observability project according what I read on https://www.kiali.io why does it need create/modify/delete of kubernetes objects ?
https://github.com/istio/istio/pull/13299/files#diff-12c9c53058b0643bb179e26064592c09R11
and why this:
https://github.com/istio/istio/pull/13299/files#diff-12c9c53058b0643bb179e26064592c09R21

@jmazzitelli
Copy link
Copy Markdown
Member Author

@sbezverk Kiali provides more than a mere read-only view of the mesh (though you can install it with a view-only permissions if you want that - the new operator now provides a "view_only_mode" setting) - it provides things like allowing users to re-adjust destination rules for balancing traffic and things like that - hence why you see those perms. These types of perms are already granted in the current kiali helm charts. See these links for some examples. I'm not sure what documentation and demo videos we have available that show this functionality - I'm cc'ing @lucasponce - he should be able to provide more details if you wish

kiali/kiali-ui#1108
kiali/kiali-ui#1099
https://issues.jboss.org/browse/KIALI-1962

As for these perms, these are required for the Kiali Operator to be able to install Kiali (these are requirements, for example, to allow the Operator to create the kiali deployment, service, roles, etc.).

@loewenstein
Copy link
Copy Markdown

As for these perms, these are required for the Kiali Operator to be able to install Kiali (these are requirements, for example, to allow the Operator to create the kiali deployment, service, roles, etc.).

@jmazzitelli I think these permissions are problematic for a default Istio installation, especially the cluster role and cluster role binding. That is the key to the cluster admin door, isn't it?

@lucasponce
Copy link
Copy Markdown
Contributor

@sbezverk as @jmazzitelli has presented, next step in the Observability goal of Kiali is to provide "actions" on the "observed" entities. Not only to detect where a problem is located/identified but to provide meaninful high level "actions" on those. In that sense, Kiali is able to create and modify Istio resources from a high level perspective, hiding the complexity of Gateways/VirtualServices/DestinationRules to the user.

It's a TODO action to update properly the kiali.io site, but that's on of the important features of Kiali, so that's reason that kiali should be able to at least to operate on the same namespaces where a user could also create/modify those configurations.

We provided two different service accounts (one with the modify verbs) and other with read-only permissions, in case that a user doesn't want to enable kiali for these actions.

@jmazzitelli
Copy link
Copy Markdown
Member Author

Based on the discussion at https://discuss.istio.io/t/how-will-operators-be-integrated-into-the-helm-charts/1899/2 I'm going to close this PR.

@jmazzitelli jmazzitelli deleted the kiali-operator-1.1 branch January 19, 2022 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants