码迷,mamicode.com
首页 > Web开发 > 详细

kubernetes常用命令

时间:2018-03-06 10:49:16      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:kubernetes常用命令   kubernetes命令   kubernetes   

kubectl get

1.查询节点,nodes or node or no

$ kubectl get no
NAME      STATUS    ROLES     AGE       VERSION
master1   Ready       master     16h         v1.9.2
master2   Ready       master     16h         v1.9.2
master3   Ready       master     16h         v1.9.2

2.查询组件状态,componentstatuses or cs

$ kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
scheduler            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 ns
NAME          STATUS    AGE
default       Active    16h
kube-public   Active    16h
kube-system   Active    16h

下面所有查询,缺省defalut名命空间,-n 指定名命空间,指定全部名命空间 --all-namespaces
4.查询pod,pods or pod or po

$ kubectl get pod
NAME                              READY     STATUS    RESTARTS   AGE
kube-apiserver-master1            1/1       Running   0          16h
kube-apiserver-master2            1/1       Running   0          16h
kube-apiserver-master3            1/1       Running   0          16h

加参数 -o wide 可显示运行节点

$ kubectl get pod -n kube-system -o wide
NAME                              READY     STATUS    RESTARTS   AGE       IP              NODE
kube-apiserver-master1            1/1       Running   0          16h       192.168.6.101   master1
kube-apiserver-master2            1/1       Running   0          16h       192.168.6.102   master2
kube-apiserver-master3            1/1       Running   0          16h       192.168.6.103   master3

5.查询service,services or service or svc

$ kubectl  get service --all-namespaces
NAMESPACE     NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)               AGE
default             kubernetes   ClusterIP   10.96.0.1         <none>              443/TCP              16h
kube-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   AGE
kube-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-app
NAME          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
hello-world   3               3                  3                       3                   13h
$ kubectl scale deployments hello-world --replicas=2 -n test-app
deployment "hello-world" scaled
$ kubectl get Deployment -n test-app                            
NAME          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
hello-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-system
kube-dns-6f4fd4bdf-b7txf

kubernetes常用命令

标签:kubernetes常用命令   kubernetes命令   kubernetes   

原文地址:http://blog.51cto.com/2759492/2083300

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!