1.查询节点,nodes or node or no
$ kubectl get noNAME ?????STATUS ???ROLES ????AGE ??????VERSIONmaster1 ??Ready ??????master ????16h ????????v1.9.2master2 ??Ready ??????master ????16h ????????v1.9.2master3 ??Ready ??????master ????16h ????????v1.9.2
2.查询组件状态,componentstatuses or cs
$ kubectl get csNAME ????????????????STATUS ???MESSAGE ????????????ERRORscheduler ???????????Healthy ??ok ?????????????????controller-manager ??Healthy ??ok ?????????????????etcd-1 ??????????????Healthy ??{"health":"true"} ??etcd-2 ??????????????Healthy ??{"health":"true"} ??etcd-0 ??????????????Healthy ??{"health":"true"}
3.查询名命空间,namespaces or ns
$ kubectl get nsNAME ?????????STATUS ???AGEdefault ??????Active ???16hkube-public ??Active ???16hkube-system ??Active ???16h
下面所有查询,缺省defalut名命空间,-n 指定名命空间,指定全部名命空间 --all-namespaces
4.查询pod,pods or pod or po
$ kubectl get podNAME ?????????????????????????????READY ????STATUS ???RESTARTS ??AGEkube-apiserver-master1 ???????????1/1 ??????Running ??0 ?????????16hkube-apiserver-master2 ???????????1/1 ??????Running ??0 ?????????16hkube-apiserver-master3 ???????????1/1 ??????Running ??0 ?????????16h
加参数 -o wide 可显示运行节点
$ kubectl get pod -n kube-system -o wideNAME ?????????????????????????????READY ????STATUS ???RESTARTS ??AGE ??????IP ?????????????NODEkube-apiserver-master1 ???????????1/1 ??????Running ??0 ?????????16h ??????192.168.6.101 ??master1kube-apiserver-master2 ???????????1/1 ??????Running ??0 ?????????16h ??????192.168.6.102 ??master2kube-apiserver-master3 ???????????1/1 ??????Running ??0 ?????????16h ??????192.168.6.103 ??master3
5.查询service,services or service or svc
$ kubectl ?get service --all-namespacesNAMESPACE ????NAME ????????TYPE ???????CLUSTER-IP ??EXTERNAL-IP ??PORT(S) ??????????????AGEdefault ????????????kubernetes ??ClusterIP ??10.96.0.1 ????????<none> ?????????????443/TCP ?????????????16hkube-system ??kube-dns ?????ClusterIP ??10.96.0.10 ??????<none> ?????????????53/UDP,53/TCP ??16h
6.kind分类查询,replicationcontrollers or rc , deployments or deploy, daemonsets or ds
$ kubectl ?get deployments --all-namespaces NAMESPACE ????NAME ??????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEkube-system ?????kube-dns ??1 ??????????????1 ?????????????????1 ?????????????????????1 ???????????????????16h
7.查询所有 all
$ kubectl ?get all --all-namespaces
kubectl delete
1.删除节点
$ kubectl delete node node1
2.删除pod
$ kubectl delete pod $(pod_name) -n $(namespace-name)
3.删除services
$ kubectl delete svc $(svc_name) -n $(namespace-name)
更新维护
1.手动动态伸宿副本, scale
$ kubectl get Deployment -n test-appNAME ?????????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEhello-world ??3 ??????????????3 ?????????????????3 ??????????????????????3 ??????????????????13h$ kubectl scale deployments hello-world --replicas=2 -n test-appdeployment "hello-world" scaled$ kubectl get Deployment -n test-app ???????????????????????????NAME ?????????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEhello-world ??2 ???????????????2 ?????????????????2 ?????????????????????2 ??????????????????14h
2.根据pod负载自动伸宿副本,autoscale
$ kubectl autoscale deployments hello-world --min=2 --max=5 -n test-app
3.更新回滚pod,rolling-update
rolling-update需要确保新的版本有不同的name,Version和label,否则会报错
$ kubectl rolling-update hello-world -f hello-world.yaml$ kubectl rolling-update hello-world --rollback
问题定位
1.查询对象详细信息
$ kubectl describe pod kube-proxy-ftkx5 -n kube-system
2.查询日志
$ kubectl logs -f ?kube-proxy-ftkx5 -n kube-system
3.进入容器运行命令,如果pod有多个容器,可用-c指定容器
$ kubectl exec kube-dns-6f4fd4bdf-b7txf ?-c dnsmasq hostname -n kube-systemkube-dns-6f4fd4bdf-b7txf
kubernetes常用命令
原文地址:http://blog.51cto.com/2759492/2083300