kubenetes v1.5.2 常用命令

查看版本

[root@master ~]# kubectl version  

查看pods (缩写pod、po 只要唯一即可)

[root@master ~]# kubectl  get pods

查看pod建立在哪个node上  (node 缩写no 只要唯一即可)

[root@master ~]# kubectl get pods -o wide 
[root@master ~]# kubectl get pods -o wide --all-namespaces

查看deployment状态 (deployment 缩写 deploy 只要唯一即可)

[root@master ~]# kubectl get deployment

上一条命令出现No resources found.时 用下面这条命令加上--all-namespaces参数,不加就只显示default的namespaces

[root@master ~]# kubectl get deployment --all-namespaces

查看服务(service 缩写 svc 只要唯一即可)

[root@master ~]# kubectl get service

  service全部显示也要加--all-namespaces

[root@master ~]# kubectl get svc --all-namespaces

describe查看Pod、node等详细信息(一般排错时用) ,要跟上pod的全部名字

[root@master ~]# kubectl describe pod mysql-2261771434-28hjp
[root@master ~]# kubectl describe node node1

查看pod里容器的log

[root@master ~]# kubectl get pod #先查看pod的名字
[root@master ~]# kubectl log  mysql-2261771434-28hjp #用查到的pod名字去查看

查看具体的pod错误

[root@master ~]# kubectl get pods -o wide --all-namespaces
NAMESPACE     NAME                                           READY     STATUS             RESTARTS   AGE       IP            NODE
kube-system   kubernetes-dashboard-latest-4008409309-srxl8   0/1       ImagePullBackOff   0          24m       10.255.86.2   node1
[root@master ~]# kubectl log -f kubernetes-dashboard-latest-4008409309-srxl8 -n kube-system

查看Log,Attach实时显示消息,log是列出已有的内容。(比Log命令更新详细)

[root@master ~]# kubectl get pod #先查看容器name
[root@master ~]# kubectl attach mysql-2261771434-28hjp

  

 

在pod容器中执行一条命令 

[root@master ~]# kubectl get pod #先查看容器name
[root@master ~]# kubectl exec mysql-2261771434-28hjp ls /etc #查看容器的/etc目录

进入Pod的交互模式

[root@master ~]# kubectl get pod #先查看容器name
[root@master ~]# kubectl exec -it mysql-2261771434-28hjp /bin/bash  #进入到bash交互模式

从Pod容器内拷入 、拷出文件

[root@master ~]# kubectl cp mysql-2261771434-28hjp:/tmp/hosts hosts  #将远程hosts文件拷到本地(本地文件名必须要写)
[root@master ~]# kubectl cp  hosts mysql-2261771434-28hjp:/tmp/  #将本地的hosts文件拷入到容器中

 注意:cp命令需要tar命令支持,否则cp时会报错:error: unexpected EOF,点击查看cp报错解决方法

 

 

(events 缩写ev 只要唯一即可)

(replicasets 缩写rs 只要唯一即可)

(replicationcontrollers 缩写 rc 只要唯一即可)

(namespaces缩写ns  只要唯一即可)

 

 

删除一个名字为nginx3的pods 

[root@master ~]# kubectl delete deployment nginx3

删除一个名为node31的node 

[root@master ~]# kubectl delete node node31  

删除一个非默认的deployment ,删除时要指出name 和-n namespace

[root@master ~]# kubectl get deployment --all-namespaces
    NAMESPACE     NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    kube-system   kubernetes-dashboard-latest   1         1         1            0           45m
[root@master ~]# kubectl delete deployment  kubernetes-dashboard-latest -n kube-system  
    deployment "kubernetes-dashboard-latest" deleted

删除一个已经存在的service服务

[root@master ~]# kubectl delete -f dashboard-service.yaml

  

 

新创建一个pod:

[root@master ~]# kubectl run nginx3 --image=docker.io/nginx --replicas=1 --port=9003 

 注意 nginx3和port,再创建其他Pod时不能重复

     --image 指定创建的镜像

     --replicas 指定此pod里的容器数量

     --port pod对外通信端口

 

新创建yaml配置文件启动:

[root@master ~]# kubectl create -f mysql-deployment.yaml 

新创建yaml批量文件启动:文件放一个目录下,直接指定该目录

[root@master ~]# kubectl create -f yamls/

  

 

 

posted @ 2021-01-20 21:57  悟透  阅读(131)  评论(0编辑  收藏  举报