我刚刚切换到使用二进制文件在容器中运行apiserver。一切都表现得或多或少正常,但我希望能够获得/描述apiserver pod。这是一些当前的输出:
~$ 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
但是当我运行kubectl get pods --all-namespaces(或--namespace = default,nothing)时我什么也得不到(注意:当我按照预期部署它们时,我确实看到了其他pod,我只是没有&# 39;现在已经部署在这个环境上进行测试了):
~$ 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
有没有人有关于如何查看我的apiserver,调度程序,控制器管理器和podmaster的pod的提示?
答案 0 :(得分:0)
我通过将我的主服务器注册为节点来解决了这个问题。我使用--register-node=true
标志执行此操作,并在启动kubelet时将--api-servers
标志指向我的apiserver的IP(在我的情况下,通过我的主人之间的HA代理进行负载平衡)。
第二个关键是您现在需要将主节点设置为不可调度,以便您部署的其他pod不会被安排到主节点上。我还没有得到一个非常明确的答案就可以做到这一点(如果你知道的话请评论!)但是我通过跑步取得了成功:
kubectl.sh patch node kube-master1 -p '{\"spec\":{\"unschedulable\":true}}'
在版本1.1.3上,我尝试使用--register-schedulable=false
和--register-unschedulable=true
,但都没有允许kubelet启动。