<p>Very new to kubernetes. I've been getting confused by documentation and example differences between Helm2 and 3.</p>

<p>I installed the <code>stable/nginx-ingress</code> chart via <code>helm install app-name stable/nginx-ingress</code>. </p>

<p>1st question:</p>

<p>I need to update the <code>externalTrafficPolicy</code> to <code>Local</code>. I learned later I could have set that during the install process via adding <code>--set controller.service.externalTrafficPolicy=Local</code> to the helm command.</p>

<p>How can I update the LoadBalancer service with the new setting without removing the ingress controller and reinstalling?</p>

<p>2nd question:</p>

<p>Helm3 just downloaded and setup the ingress controller and didn't save anything locally. Is there a way to backup all my my k8s cluster configs (other than the ones I've created manually)?</p>

<blockquote>
  <p>Is there a way to backup all my my k8s cluster configs</p>
</blockquote>

<ul>
<li><code>kubectl cluster-info dump</code> shows some info about the k8s cluster.</li>
<li>Configs and manifests (yaml files) of k8s itself will be at <code>/etc/kubernetes/</code> on the master node.</li>
<li><p>I've been able to dump manifests of all resources in all namespaces in k8s using the following bash script, please edit as needed:</p>

<pre><code>#!/usr/bin/env bash

while read -r line
do
    output=$(kubectl get "$line" --all-namespaces -o yaml 2&gt;/dev/null | grep '^items:')
    if ! grep -q "\[\]" &lt;&lt;&lt; $output; then
        echo -e "\n======== "$line" manifests ========\n"
        kubectl get "$line" --all-namespaces -o yaml
    fi
done &lt; &lt;(kubectl api-resources | awk '{print $1}' | grep -v '^NAME')
</code></pre>

<p>Above bash script was tested with:</p>

<ul>
<li>k8s <code>v1.16.3</code></li>
<li>Ubuntu Bionic <code>18.04.3</code> OS</li>
<li>bash version <code>version 4.4.20(1)-release (x86_64-pc-linux-gnu)</code></li>
</ul></li>
</ul>

<p>I suggest not to use the dump/manifests of an existing k8s cluster to create a new k8s cluster, just refer them as backup, and use an installer like <a href="https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/" rel="nofollow noreferrer">Kubeadm</a> to re-install k8s.</p>

<blockquote>
  <p>I've been getting confused by documentation and example differences between Helm2 and 3.</p>
</blockquote>

<p>If you're interested, check <a href="https://github.com/helm/helm-2to3" rel="nofollow noreferrer">helm-2to3</a> tool - it migrates configs and data from helm 2 to helm 3 using a command like <code>helm 2to3 move config</code>.</p>
