kubectl 常用命令(kubectl常用命令汇总)

kubectl 指令

状态查询

# 查看集群信息
kubectl cluster-info

systemctl status kube-apiserver
systemctl status kubelet
systemctl status kube-proxy
systemctl status kube-scheduler
systemctl status kube-controller-manager
systemctl status docker

node相关

# 查看namespaces
kubectl get namespaces

# 为节点增加lable
kubectl label nodes 10.126.72.31 points=test

# 查看节点和lable
kubectl get nodes --show-labels

# 查看状态
kubectl get componentstatuses

# Node的隔离与恢复
## 隔离
kubectl cordon k8s-node1

## 恢复
kubectl uncordon k8s-node1

查询

# 查看nodes节点
kubectl get nodes

# 通过yaml文件查询
kubectl get -f xxx-yaml/

# 查询资源
kubectl get resourcequota

# endpoints端
kubectl get endpoints

# 查看pods

# 查看指定空间`kube-system`的pods
kubectl get po -n kube-system

# 查看所有空间的
kubectl get pods -o wide --all-namespaces

# 其他的写法
kubectl get pod -o wide --namespace=kube-system

# 获取svc
kubectl get svc --all-namespaces

# 其他写法
kubectl get services --all-namespaces

# 通过lable查询
kubectl get pods -l app=nginx -o yaml|grep podIP

# 当我们发现一个pod迟迟无法创建时,描述一个pods
kubectl describe pod xxx

# 查询事件
kubectl get events --all-namespaces

删除所有pod

# 删除所有pods
kubectl delete pods --all

# 删除所有包含某个lable的pod和serivce
kubectl delete pods,services -l name=

# 删除ui server,然后重建
kubectl delete deployments kubernetes-dashboard --namespace=kube-system
kubectl delete services kubernetes-dashboard --namespace=kube-system

# 强制删除部署
kubectl delete deployment kafka-1

# 删除rc
kubectl delete rs --all && kubectl delete rc --all

## 强制删除Terminating状态的pod
kubectl delete deployment kafka-1 --grace-period=0 --force

滚动

# 升级
kubectl apply -f xxx.yaml --record

# 回滚
kubectl rollout undo deployment javademo

# 查看滚动升级记录
kubectl rollout history deployment {名称}

查看日志

# 查看指定镜像的日志
kubectl logs -f kube-dns-699984412-vz1q6 -n kube-system

kubectl logs --tail=10 nginx  

#指定其中一个查看日志
kubectl logs kube-dns-699984412-n5zkz -c kubedns --namespace=kube-system
kubectl logs kube-dns-699984412-vz1q6 -c dnsmasq --namespace=kube-system
kubectl logs kube-dns-699984412-mqb14 -c sidecar --namespace=kube-system

检查类指令

# 获取节点和服务版别信息
kubectl get nodes
# 获取节点和服务版别信息,并检查附加信息
kubectl get nodes -o wide

# 获取pod信息,默许是default称号空间
kubectl get pod
# 获取pod信息,默许是default称号空间,并检查附加信息【如:pod的ip及在哪个节点运行】
kubectl get pod -o wide
# 获取指定称号空间的pod
kubectl get pod -n kube-system
# 获取指定称号空间中的指定pod
kubectl get pod -n kube-system podName
# 获取一切称号空间的pod
kubectl get pod -A 
# 检查pod的详细信息,以yaml格局或json格局显示
kubectl get pods -o yaml
kubectl get pods -o json

# 检查pod的标签信息
kubectl get pod -A --show-labels 
# 根据Selector(label query)来查询pod
kubectl get pod -A --selector="k8s-app=kube-dns"

# 检查运行pod的环境变量
kubectl exec podName env # 检查指定pod的日志
kubectl logs -f --tail 500 -n kube-system kube-apiserver-k8s-master

# 检查一切称号空间的service信息
kubectl get svc -A
# 检查指定称号空间的service信息
kubectl get svc -n kube-system

# 检查componentstatuses信息
kubectl get cs
# 检查一切configmaps信息
kubectl get cm -A
# 检查一切serviceaccounts信息
kubectl get sa -A
# 检查一切daemonsets信息
kubectl get ds -A
# 检查一切deployments信息
kubectl get deploy -A
# 检查一切replicasets信息
kubectl get rs -A
# 检查一切statefulsets信息
kubectl get sts -A
# 检查一切jobs信息
kubectl get jobs -A
# 检查一切ingresses信息
kubectl get ing -A
# 检查有哪些称号空间
kubectl get ns

# 检查pod的描绘信息
kubectl describe pod podName
kubectl describe pod -n kube-system kube-apiserver-k8s-master  
# 检查指定称号空间中指定deploy的描绘信息
kubectl describe deploy -n kube-system coredns

# 检查node或pod的资源运用情况
# 需要heapster 或metrics-server支撑
kubectl top node
kubectl top pod 

# 检查集群信息
kubectl cluster-info 或  kubectl cluster-info dump 
# 检查各组件信息【172.16.1.110为master机器】
kubectl -s https:/ /172.16.1.110:6443 get componentstatuses

操作类指令

# 创立资源
kubectl create -f xxx.yaml
# 应用资源
kubectl apply -f xxx.yaml
# 应用资源,该目录下的一切 .yaml, .yml, 或 .json 文件都会被运用
kubectl apply -f# 创立test称号空间
kubectl create namespace test

# 删去资源
kubectl delete -f xxx.yaml
kubectl delete -f# 删去指定的pod
kubectl delete pod podName
# 删去指定称号空间的指定pod
kubectl delete pod -n test podName
# 删去其他资源
kubectl delete svc svcName
kubectl delete deploy deployName
kubectl delete ns nsName
# 强制删去
kubectl delete pod podName -n nsName --grace-period=0 --force
kubectl delete pod podName -n nsName --grace-period=1
kubectl delete pod podName -n nsName --now

# 编辑资源
kubectl edit pod podName

进阶指令操作

# kubectl exec:进入pod启动的容器
kubectl exec -it podName -n nsName /bin/sh #进入容器
kubectl exec -it podName -n nsName /bin/Bash #进入容器

# kubectl label:添加label值
kubectl label nodes k8s-node01 zone=north  #为指定节点添加标签 
kubectl label nodes k8s-node01 zone-       #为指定节点删去标签
kubectl label pod podName -n nsName role-name=test    #为指定pod添加标签
kubectl label pod podName -n nsName role-name=dev --overwrite  #修改lable标签值
kubectl label pod podName -n nsName role-name-        #删去lable标签

# kubectl翻滚晋级; 经过 kubectl apply -f myapp-deployment-v1.yaml 启动deploy
kubectl apply -f myapp-deployment-v2.yaml     #经过装备文件翻滚晋级
kubectl set image deploy/myapp-deployment myapp="registry.cn-beijing.aliyuncs.com/google_registry/myapp:v3"   #经过指令翻滚晋级
kubectl rollout undo deploy/myapp-deployment 或许 kubectl rollout undo deploy myapp-deployment    #pod回滚到前一个版别
kubectl rollout undo deploy/myapp-deployment --to-revision=2  #回滚到指定前史版别

# kubectl scale:动态弹性
kubectl scale deploy myapp-deployment --replicas=5 
# 动态弹性
kubectl scale --replicas=8 -f myapp-deployment-v2.yaml

原创文章,作者:AIRF,如若转载,请注明出处:http://www.ai-rf.com/index.php/2022/11/28/kubectl-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%ef%bc%88kubectl%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e6%b1%87%e6%80%bb%ef%bc%89/

(0)
AIRFAIRF
上一篇 2022年11月6日
下一篇 2022年11月28日

相关推荐

  • 【七】K8S_存储卷

    存储卷介绍 在Kubernetes(K8S)中,存储卷(Storage Volume)是一种持久化的存储机制,用于在Pod中保存数据,并提供了一种抽象层来将底层存储技术(如本地磁盘…

    2023年9月17日
  • 【精选】kubectl 常用命令指南

    kubectl 常用命令指南 Kubctl 命令是操作 kubernetes 集群的最直接的方式,特别是运维人员,需要对这些命令有一个详细的掌握 Kubectl 自动补全 # se…

    ChatGPT 2023年12月26日
  • 【六】K8S_Ingress | Service的统一网关入口

    Ingress简介 在Kubernetes(K8S)中,Ingress的主要用途是管理和暴露集群中的HTTP和HTTPS服务。它充当了从集群外部流量到集群内部服务的入口,并提供了一…

    2023年9月17日
  • 虚拟化 vs 裸金属:K8s 部署环境优劣势对比与适用场景分析

    引言 Kubernetes (K8s) 是一种流行的容器编排平台,可在云计算环境中部署和管理应用程序。企业在选择 K8s 部署环境时,通常面临一个核心问题:虚拟化环境还是裸金属环境…

    2023年9月19日
  • kubernetes 运维必会的常用命令合集

    查看 kubectl cluster-info     # 查看集群信息kubectl get no -o wide     # 获取节点和服务版本信息,并查看附加信息kubect…

    Deepseek 2023年12月16日
  • 【二】快速搭建卸载K8S集群

    准备工作 需要Linux CentOS 7.x 两台及以上,本文用的 7.9。 Master最低配置2C2G 安装步骤多个节点可以并行操作,默认所有操作各节点都要执行,某些操作仅主…

    2023年9月17日
  • 【三】K8S_NameSpace和Pod

    一、NameSpace Kubernetes(K8S)中的 Namespace 是一种用于组织和隔离集群资源的方式。它具有以下用途和相关概念: 资源隔离:Namespace 提供资…

    2023年9月17日
  • 通过Docker创建CentOS系统容器的步骤

    前言 先安装Docker,使用文内的脚本可以快速创建CentOS 7.8虚拟系统集群,并通过SSH(Secure Shell)远程工具连接。 创建桥接网络,方便容器间通信 指令格式…

    ChatGPT 2022年12月4日
  • 容器升级内核及重启后遇到的问题

    前景描述 公司10台物理服务器,系统为Redhat7.9,因安装K8S,需将内核升级至3.10.0-1060以上,并修改相关参数,否则会造成内存泄露问题。 操作步骤 需要用到的升级…

    ChatGPT 2022年7月9日
  • Kubernetets-Cka考试题库

    本次测试的所有问题都必须在指定的cluster配置环境中完成。为尽量减少切换,系统已对问题进行分组,同一cluster内的所有问题将连续显示。 开启TAB补全 做题前先配置k8s自…

    ChatGPT 2022年2月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注