<pre><code>$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://192.168.1.32:6443
  name: kubernetes
</code></pre>

<p>How can I set the IP address / Port of the actual <strong>cluster</strong>? Why is this default set?</p>

<p>I'm not trying to change the 'client' IP/port.</p>

<p>I've tried: <code>sudo kubeadm init --pod-network-cidr="192.168.0.0/16"  --apiserver-advertise-address 192.168.99.100 --apiserver-bind-port 8443</code> which just seems to hang on:</p>

<pre><code>[init] Using Kubernetes version: v1.9.3
[init] Using Authorization modes: [Node RBAC]
[preflight] Running pre-flight checks.
    [WARNING FileExisting-crictl]: crictl not found in system path
[preflight] Starting the kubelet service
[certificates] Generated ca certificate and key.
[certificates] Generated apiserver certificate and key.
[certificates] apiserver serving cert is signed for DNS names [diy-virtual-machine kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 192.168.99.100]
[certificates] Generated apiserver-kubelet-client certificate and key.
[certificates] Generated sa key and public key.
[certificates] Generated front-proxy-ca certificate and key.
[certificates] Generated front-proxy-client certificate and key.
[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "admin.conf"
[kubeconfig] Wrote KubeConfig file to disk: "kubelet.conf"
[kubeconfig] Wrote KubeConfig file to disk: "controller-manager.conf"
[kubeconfig] Wrote KubeConfig file to disk: "scheduler.conf"
[controlplane] Wrote Static Pod manifest for component kube-apiserver to "/etc/kubernetes/manifests/kube-apiserver.yaml"
[controlplane] Wrote Static Pod manifest for component kube-controller-manager to "/etc/kubernetes/manifests/kube-controller-manager.yaml"
[controlplane] Wrote Static Pod manifest for component kube-scheduler to "/etc/kubernetes/manifests/kube-scheduler.yaml"
[etcd] Wrote Static Pod manifest for a local etcd instance to "/etc/kubernetes/manifests/etcd.yaml"
[init] Waiting for the kubelet to boot up the control plane as Static Pods from directory "/etc/kubernetes/manifests".
[init] This might take a minute or longer if the control plane images have to be pulled.
</code></pre>

<blockquote>
  <p>--apiserver-advertise-address <strong>string</strong>      The IP address the API Server will advertise it's listening on. Specify '0.0.0.0' to use the address of the default network interface.</p>
</blockquote>

<p>by providing specific IP with flags It will take the designated IP and Port respectively. 
For example </p>

<pre><code>--apiserver-advertise-address "192.168.99.100"
--apiserver-bind-port 8443
</code></pre>

<p>Reference:</p>

<p><a href="https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-config/#cmd-config-from-flags" rel="nofollow noreferrer">kubeadm-config flags</a></p>
