Hi!
Correct me if I am wrong, but I guess what you are used to maybe having the API server and/or the controller being self hosted, thus visible as pods in the cluster.
The Canonical Distribution of Kubernetes separates the control plane from the compute plane. All the control plane (API Server, Controller, Scheduler, kubelet and proxy, as well as the SDN/overlay are installed via snap packages, thus not visible via kubectl even if they are running. They are just managed by “classic” systemd units.
To access them from your juju client, you can do:
- Control plane: SSH into the master, then list the snaps installed. Also list the systemd units for these
$ juju ssh kubernetes-master/0
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-1028-aws x86_64)* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantageGet cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud0 packages can be updated.
0 updates are security updates.To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.# List the snaps that are installed:
ubuntu@ip-172-31-34-2:~$ snap list
Name Version Rev Developer Notes
cdk-addons 1.7.0 71 canonical -
core 16-2.26.14 2462 canonical -
etcd 2.3.8 55 tvansteenburgh -
kube-apiserver 1.7.0 77 canonical -
kube-controller-manager 1.7.0 68 canonical -
kube-scheduler 1.7.0 77 canonical -
kubectl 1.7.0 77 canonical classic# List the systemd units of interest
$ sudo systemctl list-units | grep daemon.service | grep kube
snap.kube-apiserver.daemon.service loaded active running Service for snap application kube-apiserver.daemon
snap.kube-controller-manager.daemon.service loaded active running Service for snap application kube-controller-manager.daemon
snap.kube-scheduler.daemon.service loaded active running Service for snap application kube-scheduler.daemon# List Flannel (default)
$ sudo systemctl list-units | grep flannel.service
flannel.service loaded active running Flannel Overlay Network
- Compute plane: SSH into a worker, list snaps, list services of interest
$ juju ssh kubernetes-worker/0
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-1028-aws x86_64)* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantageGet cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud0 packages can be updated.
0 updates are security updates.The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.ubuntu@ip-172-31-40-48:~$ snap list
Name Version Rev Developer Notes
core 16-2.26.14 2462 canonical -
kube-proxy 1.7.0 77 canonical classic
kubectl 1.7.0 77 canonical classic
kubelet 1.7.0 77 canonical classicubuntu@ip-172-31-40-48:~$ sudo systemctl list-units | grep daemon.service | grep kube
snap.kube-proxy.daemon.service loaded active running Service for snap application kube-proxy.daemon
snap.kubelet.daemon.service loaded active running Service for snap application kubelet.daemon
Note that etcd is also installed as a snap, so you’ll also have to use the same logic to access it.
Finally, note that the systemd units are, in all honesty, weirdly named: prefixed by snap. then postfixed by .daemon.service.
I hope this helps. Let me know otherwise.