<p>Here I can update the envs through <code>kubectl patch</code>, then is there any method that can delete envs except re-deploy a <code>deployment.yaml</code>?</p>

<pre><code>$ kubectl patch deployment demo-deployment -p '{"spec":{"template":{"spec":{"containers":[{"name": "demo-deployment","env":[{"name":"foo","value":"bar"}]}]}}}}'
deployment.extensions "demo-deployment" patched
</code></pre>

<p>Can I delete the env "foo" through command line not using a re-deploy on the whole deployment?</p>

<p>This is coming late but for newcomers, you can use the following <code>kubectl</code> command to remove an existing env variable from a deployment</p>
<pre><code>kubectl set env deployment/DEPLOYMENT_NAME  VARIABLE_NAME-
</code></pre>
<p>Do not omit the hyphen (<code>-</code>) at the end</p>
