k8s常用命令说明

基本命令展示

 kubectl get      # 获取信息
  kubectl get deployment
  kubectl get pods
  kubectl get service  创建中间层service,相当于DNAT
  kubectl get ns  获取名称空间;

# kubectl get pods -n kube-system -o wide #获取kube-system名称空间下的pod并展示详细信息

  -n 后面接名称空间
  -o ouput形式支持 wide/yaml/json

kubectl create # 创建资源
  kubectl create deploy xxx --image=xxx #
如果没有指定Namespace,创建的容器默认是在default ns下
 kubectl delete  # 删除资源
  kubectl delete deployment xxx
  kubectl delete pods xxx
  kubectl delete service xxx

   kubctl describe   #获取描述信息

    kubectl describe  service/xxx

 kubectl exec  # 相当于docker exec  在指定容器中执行操作
  kubectl exec -it nginx-app-5jyvm -- /bin/bash
kubectl exec POD [-c CONTAINER] -- COMMAND [args...] [options]  #POD中有多个容器需要 -c containername  指定执行命令的容器

kubectl scale  # 扩容/缩容
  kubectl scale --replicas=3 deploy/my-nginx  # 将deploy下的my-nginx扩容为3个

  kubectl run --image=xxx name_xx --port
   kubectl run --image=nginx nginx-app --port=80

  kubectl expose   #暴露端口
   kubectl expose deployment nginx-app --type="NodePort" --port=80
    in default,pods only deploy on node,not on master, please use the node ip to access.


  kubectl attach  # 连接pod
   kubectl attach -it nginx-app-5jyvm

  kubectl logs
   kubectl logs -f nginx-app-zibvs

   kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER] [options]   #POD中有多个容器需要 -c containername  指定执行命令的容器

 kubectl explain   # 讲解每个资源属性
  kubectl explain pod

kubectl get pods -n develop --show-labels # 显示develop名称空间下pod的标签

kubectl get  pods --show-labels -l xxx # -l后面跟标签选择器或表达式,如: app=nginx,app!=nginx, “app in(nginx,ngx-app,xxx)”
 kubectl get  pods --show-labels -l xxx  -L xxx  # -L 新定义一行来显示指定键值
 kubectl label  # 标签操作  
kubectl label [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]
  kubectl label pods/dev-pod -n develop tier=frontend    # 增减tier标签 同时添加多个标签,使用空格分隔标签即可
  kubectl label --overwrite pods/dev-pod -n develop app=dev-ngx # overwrite app标签
  kubectl label  pods/dev-pod -n develop tier-  # 删除tier标签, 使用“键名-”表示删除

kubectl annotate # 注解 类似于label操作
  kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]

kubectl patch #打补丁更新,支持json和yaml格式
  kubectl patch (-f FILENAME | TYPE NAME) -p PATCH [options]
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'

kubectl rollout # 回滚
  kubectl rollout SUBCOMMAND [options]
kubectl rollout status deployment myapp-deploy  # 查看回滚状态
kubectl rollout history deployment myapp-deploy # 查看历史版本
kubectl rollout undo deployment myapp-deploy --to-revision=1 # 回滚到第1版
 


 

 

测试命令: wget  -o  -  -q 127.0.0.1

posted @ 2019-04-28 17:28  阿拉米苏  阅读(809)  评论(0编辑  收藏  举报