Kubernetes-命令记录大全

作者: Chris0Yang | 来源:发表于2022-08-04 17:01 被阅读0次

    语法格式

    kubectl [command] [type] [name] [flags]
    kubectl create/apply/delete/ -f yaml文件
    

    查看集群工作是否正常

    kubectl cluster-info
    

    查看此状态pod详细情况

    kubectl describe pod bk-cmdb-hostserver-58c7675654-zfffp   
    

    强制删除

    kubectl get pods -n kube-system | grep ContainerCreating | awk '{print $1}' | xargs kubectl delete pod -n kube-system--force --grace-period=0
    

    检查kubectl命名空间

    kubectl get pods -n kube-system -o wide
    

    查看集群中的所有的节点

    kubectl get nodes
    

    检查k8s集群 pod状态信息

    kubectl describe pod(NAME)-n kube-system
    

    重新部署k8s集群 yaml

    kubectl apply -f myapp-deploy.yaml
    

    k8s集群 logs查看日志

    kubectl logs pod名 -n 命令空间
    

    k8s删除命名空间

    kubectl delete namespaces <insert-some-namespace-name>(命名名称)
    

    切换当前context的namespace到 blueking。切换后,后面排查需要指定 -n XXX 的命令就可以省略了

    kubectl config set-context --current --namespace=XXX
    kubectl config view
    

    定义Context(运行环境)

    kubectl config set-cluster kubernetes-cluster --server=https://10.0.5.28:6443
    kubectl config set-context ctx-dev --namespace=dev01 --cluster=kubernetes-cluster --user=user01
    kubectl config set-context ctx-prod --namespace=dev02 --cluster=kubernetes-cluster --user=user02
    

    Node的隔离与恢复

    kubectl cordon <node_name>    # 某个Node进行隔离调度
    kubectl uncordon <node_name>  # 对某个Node进行恢复调度
    

    查看创建的状况

    kubectl get pod --watch
    

    查看所有名称空间

    kubectl get namespaces  # 简化可以写:ns 
    

    查看所有集群资源的信息

    kubectl get all -n default
    

    创建namespaces命名空间的信息

    kubectl create ns Name名称
    

    创建镜像的deployment

    kubectl create deployment nginx-dp --image=harbor域名地址 -n 命令空间
    

    更新deployment

    kubectl apply -f nginx-deployment.yaml
    

    增加节点标签 备注 =:代表增加标签

    kubectl label nodes NAME node-role.kubernetes.io/(master、nodeX)=
    

    减少节点标签 备注 -:代表减少标签

    kubectl label nodes NAME node-role.kubernetes.io/NAME-
    

    打污点

    kubectl taint nodes node集群机器名 污点名=XXXX:NoSchedule
    

    去除污点

    kubectl taint nodes node集群机器名 污点名:effect-
    

    去除所有污点

    kubectl taint nodes node集群机器名 污点名-
    

    使用jq解析 检查所有node节点的污点

    kubectl get nodes -o json | jq '.items[].spec'
    

    自定义添加一个标签

    kubectl label nodes k8s-master01 nodeenv=k8s-master
    kubectl describe nodes k8s-master01 | grep nodeenv
                        nodeenv=k8s-master
    

    进入pod资源

    kubectl exec -ti NAME -n 命令空间 /bin/bash
    

    使用watch命令,是观察pod重建状态变化

    watch -n 1 'kubectl describe deployament NAEM -n 命令空间 |grep -C 5 Event'
    

    输出额外信息。对于Pod,将输出Pod所在的Node名

    kubectl get pods -o wide
    

    获取所有namespace下的pod

    kubectl get pods -o wide -A
    

    删除pod信息 可以通过 --force --grace-period=0来强制删除资源

    kubectl delete pod NAME -n 命名空间 --force --grace-period=0
    

    批量删除pod 或 pvc

    kubectl get pod|grep 关键字|awk '{print $1}'|xargs kubectl delete pod
    kubectl get pvc|grep 关键字|awk '{print $1}'|xargs kubectl delete pvc
    

    删除namespace信息 可以通过 --force --grace-period=0来强制删除资源

    kubectl delete namespace NAME --force --grace-period=0
    

    检查K8S集群CPU状态

    kubectl describe nodes | grep -EA2 '^Addresses|cpu |  memory '
    

    描述 pod 部署信息

    kubectl describe deployment NAME -n XXX |grep -C 5 Event
    

    查看service

    kubectl describe svc NAME -n 命令空间
    

    获取资源yaml配置清单 pod信息

    kubectl get pod NAME -o yaml -n 命令空间
    

    查看资源配置清单 svc信息

    kubectl get svc NAME -o yaml -n 命令空间
    

    解释资源配置清单

    kubectl explain service
    

    创建资源配置清单

    vim ~/root/nginx-dns-svc.yaml
    

    应用资源配置清单

    kubectl apply -f nginx-dns-svc.yaml
    

    安装kubelet kubeadm kubectl 指定版本

    yum list kubelet kubeadm kubectl --showduplicates|sort -r
    

    相关文章

      网友评论

        本文标题:Kubernetes-命令记录大全

        本文链接:https://www.haomeiwen.com/subject/zmoywrtx.html