view kubernetes pods for hyperkube and podmaster containers?

2/3/2016

I just switched over to running apiserver in a container from using the binary. Everything is behaving more or less as normal, but I would like to be able to get/describe the apiserver pod. Here is some current output:

~$ docker ps
CONTAINER ID        IMAGE                                       COMMAND                  CREATED             STATUS              PORTS               NAMES
203ecb6b127d        gcr.io/google_containers/hyperkube:v1.1.3   "/hyperkube apiserver"   About an hour ago   Up About an hour                        k8s_kube-apiserver.a14aa4ea_kube-apiserver-kube-master3_kube-system_cf82c41f1e99cd21cb3b4e3384194aa8_45debbb1
bd7bdb093ed9        gcr.io/google_containers/pause:0.8.0        "/pause"                 About an hour ago   Up About an hour                        k8s_POD.6d00e006_kube-apiserver-kube-master3_kube-system_cf82c41f1e99cd21cb3b4e3384194aa8_7d598a28
0ef026feafc8        gcr.io/google_containers/hyperkube:v1.1.3   "/hyperkube scheduler"   27 hours ago        Up 27 hours                             k8s_kube-scheduler.3f3808b9_kube-scheduler-kube-master3_default_3d9ecca3ff6251e631e3cebc8cfb4ddb_438a304c
6ca0a97ecc5f        gcr.io/google_containers/hyperkube:v1.1.3   "/hyperkube controlle"   27 hours ago        Up 27 hours                             k8s_kube-controller-manager.f0156162_kube-controller-manager-kube-master3_default_c7211e33245496ec07e025590a070a69_b9ec7c2f
380af327c0af        gcr.io/google_containers/pause:0.8.0        "/pause"                 27 hours ago        Up 27 hours                             k8s_POD.6d00e006_kube-scheduler-kube-master3_default_3d9ecca3ff6251e631e3cebc8cfb4ddb_80a1de69
939206c0b33f        gcr.io/google_containers/pause:0.8.0        "/pause"                 27 hours ago        Up 27 hours                             k8s_POD.6d00e006_kube-controller-manager-kube-master3_default_c7211e33245496ec07e025590a070a69_f0aae13c
ec3d8d739f64        gcr.io/google_containers/podmaster:1.1      "/podmaster --etcd-se"   27 hours ago        Up 27 hours                             k8s_controller-manager-elector.c68782c7_kube-podmaster-kube-master3_default_a784760a8471fb5856543c10630d8e2f_c07b8986
5a1e2ebe1502        gcr.io/google_containers/podmaster:1.1      "/podmaster --etcd-se"   27 hours ago        Up 27 hours                             k8s_scheduler-elector.1943779b_kube-podmaster-kube-master3_default_a784760a8471fb5856543c10630d8e2f_2c2f2373
a03756f1c39a        gcr.io/google_containers/pause:0.8.0        "/pause"                 27 hours ago        Up 27 hours                             k8s_POD.6d00e006_kube-podmaster-kube-master3_default_a784760a8471fb5856543c10630d8e2f_84281f95

but when I then run kubectl get pods --all-namespaces (or --namespace=default, anything) I get nothing (note: I do see other pods when I deploy them just as is expected, I just don't have any deployed on this env now for testing):

~$ kubectl.sh get pods --all-namespaces
Command: kubectl --server=https://192.168.0.203:6443 --kubeconfig=/kubernetes/config   get pods --all-namespaces
NAMESPACE   NAME      READY     STATUS    RESTARTS   AGE

Does anyone have tips for how to view the pods for my apiserver, scheduler, controller-manager, and podmaster?

-- jdf
deployment
kubernetes

1 Answer

2/4/2016

I solved this issue by setting the registering my master as a node. I did this using --register-node=true flag and pointing the --api-servers flag to the IP of my apiserver (which in my case is load balanced through HA proxy between my masters) when starting kubelet.

The second key is that you now need to set the master node to be unschedulable so that other pods you deploy do not get scheduled onto the master. I have not got a perfectly clear answer yet on a flag to do that (please comment if you know!) but I had success by running:

kubectl.sh patch node kube-master1 -p '{\"spec\":{\"unschedulable\":true}}'

On version 1.1.3 I tried using --register-schedulable=false and --register-unschedulable=true and neither allowed the kubelet to start.

-- jdf
Source: StackOverflow