本文共 3746 字,大约阅读时间需要 12 分钟。
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 ERRORcontroller-manager Healthy ok scheduler Healthy ok etcd-2 Healthy {"health":"true"} etcd-1 Healthy {"health":"true"} etcd-0 Healthy {"health":"true"}
3.查询名命空间,namespaces or ns
$ kubectl get nsNAME STATUS AGEdefault Active 18hkube-public Active 18hkube-system Active 18h
下面所有查询,缺省defalut名命空间,-n 指定名命空间,指定全部名命空间 --all-namespaces
4.查询pod,pods or pod or po$ kubectl get pod -n kube-systemNAME READY STATUS RESTARTS AGEkube-apiserver-master1 1/1 Running 0 18hkube-apiserver-master2 1/1 Running 0 17hkube-apiserver-master3 1/1 Running 0 17h
加参数 -o wide 可显示运行节点
$ kubectl get pod -n kube-system -o wideNAME READY STATUS RESTARTS AGE IP NODEkube-apiserver-master1 1/1 Running 0 18h 192.168.6.101 master1kube-apiserver-master2 1/1 Running 0 17h 192.168.6.102 master2kube-apiserver-master3 1/1 Running 0 17h 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.1443/TCP 18hkube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 18h
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 18h
7.查询所有 all
$ kubectl get all --all-namespaces
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.更新回滚RC,rolling-update
rolling-update确保新版本有不同的metadate.name,spec.selector.version和spec.template.metadate.labels,否则会报错$ ls |grep hello-world*hello-world-v0.1.yaml hello-world-v0.2.yaml
创建pod
$ kubectl create -f hello-world-v0.1.yaml
更新pod
$ kubectl rolling-update hello-world -f hello-world-v0.2.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
转载于:https://blog.51cto.com/2759492/2083300