zoukankan      html  css  js  c++  java
  • Kubectl的命令大全(三)

    查看系统版本

    kubectl version                                        //显示客户端和服务器侧版本信息
    kubectl api-versions                                   //列出当前版本的kubernetes的服务器端所支持的api版本信息
    kubectl explain pod                                    //查看帮助信息和help类似,尤其是资源清单的结构字段信息
    kubectl cluster-info                                                //获取k8s集群信息
    kubectl explain Deployment.spec.template.spec.containers.resources  //查看帮助信息,资源下的cpu和memory等,每个配置项都有详细的网页手册地址

    动态管理

    kubectl scale rc nginx --replicas=5                               //动态伸缩
    kubectl scale deployment redis-slave --replicas=5                 //动态伸缩
    kubectl scale --replicas=2 -f redis-slave-deployment.yaml         //动态伸缩
    kubectl exec -it redis-107-q47hh /bin/bash                        //进入容器
    kubectl label nodes node1 zone=north                              //增加节点lable值 spec.nodeSelector: zone: north 
    kubectl label pod redis-107-q47hh role=master                     //增加lable值 [key]=[value]
    kubectl label pod redis-107-q47hh role-                           //删除lable值
    kubectl label pod redis-107-q47hh role=backend --overwrite        //修改lable值
    kubectl rolling-update redis-master -f redis.yaml                 //配置文件滚动升级
    kubectl rolling-update redis-master --image=redis-master:2.0      //命令升级
    kubectl rolling-update redis-master --image=redis-master:1.0--rollback //pod版本回滚
    kubectl cp fileName podName:/fileName                             //复制文件到pod的指定目录,也可从容器中复制文件到外部
    kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}' //修改网络类型
    eg例子:
    kubectl run nginx-dep --image=nginx --port=80 --replicas=1       //创建的 deployment为nginx-dep 镜像为nginx 端口为80 副本数为1
    kubectl expose deployment nginx-dep --port=3000 --target-port=80   //--port:SVC 暴露的端口为3000--target-port:映射的容器端口。即创建 deployment 时使用的端口。
    kubectl edit svc nginx-dep                              //修改svc的yaml文件

    创建和删除pod

    kubectl create -f yamls/pod.yaml                            //根据yaml文件创建容器
    kubectl apply -f yamls/pod.yaml                             //根据 yaml 创建资源, apply 可以重复执行,create 不行
    kubectl create -f yamls/                                    //多个yaml文件创建容器
    kubectl delete -f yamls/pod.yaml                            //删除指定pod 
    kubectl delete -f yamls/                                    //删除多个pod 
    kubectl delete pods podName                                 //删除指定pod 
    kubectl delete deployment ControllerName                    //有控制器的pod不能直接删除,需先删除其控制器
    kubectl delete pod,svc -l name=<label-name>                 //删除所有包含某个 label 的pod 和 service
    kubectl delete pod --all                                    //删除所有 Pod

    查询资源

    kubectl get namespaces                                              //列出所有的namespace
    kubectl get nodes                                                   //显示node节点信息
    kubectl get endpoints                                           //查看 endpoint 列表
    kubectl get services -n kube-system                             //查看所有service -n指定namespace
    kubectl get deployments  -n kube-system                         //查看所有deployment
    kubectl get pods --all-namespaces                               //查看所有pod
    kubectl get pod <pod-name> -o yaml                                  //查看Pod对应的yaml文件
    kubectl get pods -o wide --all-namespaces                       //查看所有pod的IP及节点
    kubectl get pods -o wide --all-namespaces -c                    //查看所有pod的IP及节点并实时等待监控
    kubectl get pods -n kube-system | grep dashboard                //查看namespace中kube-system下的pod 并过滤
    kubectl get pod --show-labels -l tier=frontend                      //查看Pod 列出LABELS字段,还有tier=frontend的Pod

    描述资源

    kubectl describe service my-svc                         //查看my-svc的详细描述
    kubectl describe pods my-pod                            //查看my-pod的详细描述
    kubectl describe node 192.168.0.212                     //显示 Node 的详细信息

    查看日志

    kubectl logs <pod-name>                                     // 查看容器的日志
    kubectl logs -f <pod-name>                                   // 实时查看日志
    kubectl log  <pod-name>  -c <container_name>                //若 pod 只有一个容器,可以不加 -c 
    kubectl logs -l app=frontend                                // 返回所有标记为 app=frontend 的 pod 的合并日志
  • 相关阅读:
    Eclipse 的单步调试
    CALayer快速入门
    UITableView快速入门
    iOS程序启动原理
    iOS触摸事件
    UITableViewCell重用和性能优化
    Autolayout
    iOS适配
    NSTimer
    UIScrollView
  • 原文地址:https://www.cnblogs.com/bbgs-xc/p/13647547.html
Copyright © 2011-2022 走看看