<p>Looking at documentation for installing Knative requires a Kubernetes cluster v1.11 or newer with the MutatingAdmissionWebhook admission controller enabled.  So checking the documentation for this I see the following command: </p>

<pre><code>kube-apiserver -h | grep enable-admission-plugins
</code></pre>

<p>However, kube-apiserver is running inside a docker container on master. Logging in as admin to master, I am not seeing this on the command line after install. What steps do I need to take to to run this command? Its probably a basic docker question but I dont see this documented anywhere in Kubernetes documentation.</p>

<p>So what I really need to know is if this command line is the best way to set these plugins and also how exactly to enter the container to execute the command line. </p>

<p><a href="https://stackoverflow.com/questions/50352621/where-is-kube-apiserver-located">Where is kube-apiserver located</a></p>

<p>Should I enter the container? What is name of container and how do I enter it to execute the command? </p>

Steven Smart
<p>I think that answer from <a href="https://stackoverflow.com/questions/50352621/where-is-kube-apiserver-located">@embik</a> that you've pointed out in the initial question is quite decent, but I'll try to shed light on some aspects that can be useful for you.</p>

<p>As @embik mentioned in his answer, <code>kube-apiserver</code> binary actually resides on particular container within K8s api-server Pod, therefore you can free to check it, just execute <code>/bin/sh</code> on that Pod:</p>

<p><code>kubectl exec -it $(kubectl get pods -n kube-system| grep kube-apiserver|awk '{print $1}') -n kube-system -- /bin/sh</code></p>

<p>You might be able to propagate the desired <a href="https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#how-do-i-turn-on-an-admission-controller" rel="noreferrer">enable-admission-plugins</a> through <code>kube-apiserver</code> command inside this Pod, however any modification will disappear once api-server Pod re-spawns, i.e. master node reboot, etc.</p>

<p>The essential api-server config located in <code>/etc/kubernetes/manifests/kube-apiserver.yaml</code>. Node agent <a href="https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/" rel="noreferrer">kubelet</a> controls <code>kube-apiserver</code> runtime Pod, and each time when health checks are not successful <code>kubelet</code> sents a request to K8s <a href="https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/" rel="noreferrer">Scheduler</a> in order to re-create this affected Pod from primary <code>kube-apiserver.yaml</code> file.</p>
