<p>I have noticed that setting values through <code>istioctl manifest apply</code> will affect other Istio resources. For example, when I set <code>--set values.tracing.enabled=true</code>, Kiali which was previously installed in cluster vanished.</p>

<p>And what is the right way to set values(option) like <code>values.pilot.traceSampling</code>? </p>

<p>Thanks</p>

<p>Istio install has been introduced in istio 1.6 however the <code>--set</code> options work the same as in <code>istioctl manifest apply</code> which it replaces. I suspect it is made for better 
clarity and accessibility as <code>istioctl manifest</code> has lots of other uses like <code>istioctl manifest generate</code> which allows to create manifest yaml and save it to a file.</p>

<p>According to istio <a href="https://istio.io/docs/setup/install/istioctl/#generate-a-manifest-before-installation" rel="nofollow noreferrer">documentation</a>:</p>

<blockquote>
  <p>While istioctl install will automatically detect environment specific settings from your Kubernetes context, manifest generate cannot as it runs offline, which may lead to unexpected results. In particular, you must ensure that you follow these steps if your Kubernetes environment does not support third party service account tokens.</p>
</blockquote>

<p>As for Kiali You need to install it separately like in this <a href="https://istio.io/docs/tasks/observability/gateways/" rel="nofollow noreferrer">guide</a>.</p>

<p>To set values like <code>values.pilot.tracingSampling</code> i suggest using istio <a href="https://istio.io/docs/setup/install/standalone-operator/" rel="nofollow noreferrer">Operator</a>.</p>

<p>Hope it helps.</p>
