首页 > 其他分享 >k8s常用命令

k8s常用命令

时间:2024-10-12 11:00:53浏览次数:11  
标签:kubectl 查看 get deployment 集群 常用命令 Pod k8s

Kubernetes(通常简称为 k8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是一些常用的 Kubernetes 命令:

  1. 获取集群状态

    kubectl cluster-info
    
  2. 获取集群中运行的 Pod 列表

    kubectl get pods
    
  3. 获取特定命名空间下的 Pod 列表

    kubectl get pods -n 
    
  4. 获取特定资源的详细信息

    kubectl describe <资源类型> <资源名称>
    如:
    kubectl describe deployments <deployment-name>
    kubectl -n <命名空间>  describe pod <pod-name>
    
  5. 创建资源

    kubectl create -f <文件名>
    
  6. 删除资源

    kubectl delete <资源类型> <资源名称>
    
  7. 扩展资源

    kubectl scale --replicas=3 <资源类型> <资源名称>
    
  8. 获取资源的 YAML 或 JSON 定义

    kubectl get <资源类型> <资源名称> -o yaml
    
  9. 查看 Pod 的日志

    kubectl logs <Pod名称>
    
  10. 进入容器内部

    kubectl exec -it <Pod名称> -- /bin/sh
    
  11. 查看集群中节点的状态

    kubectl get nodes
    
  12. 查看集群中部署的状态

    kubectl get deployments
    
  13. 查看集群中服务的状态

    kubectl get services
    
  14. 查看集群中的命名空间

    kubectl get namespaces
    
  15. 将本地文件中的配置应用到集群中

    kubectl apply -f <文件名>
    
  16. 查看集群的版本信息

    kubectl version
    
  17. 查看集群的资源配额

    kubectl describe quota
    
  18. 查看集群的资源限制

    kubectl describe limitrange
    
  19. 查看集群的网络策略

    kubectl get networkpolicies
    
  20. 查看集群的存储类

    kubectl get storageclass
    

延申:

一、集群管理相关命令
1、查看当前k8s上指定命令空间所有pod的镜像版本
kubectl get pods -n <namespace - name> -o=jsonpath='{range .items[*]}{"Pod: "}{.metadata.name}{"\n"}{"Container Images: "}{range .spec.containers[*]}{.image}{"\n"}{end}{"\n"}{end}'

  1. 管理命名空间(Namespace)
    • kubectl get namespaces:查看集群中的所有命名空间。
    • kubectl create namespace <namespace - name>:创建一个新的命名空间。
    • kubectl delete namespace <namespace - name>:删除指定的命名空间(注意:需要先删除该命名空间下的所有资源)。

二、Pod管理命令

  1. 创建和查看Pod

    • kubectl run <pod - name> --image=<image - name>:创建一个基于指定镜像的Pod。例如,kubectl run nginx - pod --image = nginx创建一个名为nginx - pod的Pod,使用nginx镜像。
    • kubectl describe pods <pod - name>:详细查看指定Pod的信息,包括Pod的状态变化、容器的启动日志、IP地址等。
  2. 删除Pod

    • kubectl delete pods <pod - name>:删除指定的Pod。
  3. Pod的日志查看

    • kubectl logs <pod - name>:查看指定Pod中容器的日志。如果Pod中有多个容器,可以使用kubectl logs <pod - name> - c <container - name>来查看特定容器的日志。

三、Deployment管理命令

  1. 创建和查看Deployment
    • kubectl create deployment <deployment - name> --image=<image - name>:创建一个新的Deployment,例如kubectl create deployment my - app - deployment --image = my - app:latest
    • kubectl get deployments:查看当前命名空间下的所有Deployment,显示Deployment的名称、可用副本数、期望副本数、更新状态等信息。
    • kubectl describe deployments <deployment - name>:详细查看指定Deployment的信息。
  2. 扩缩容Deployment
    • kubectl scale deployment <deployment - name> --replicas=<number>:调整指定Deployment的副本数量,例如kubectl scale deployment my - app - deployment --replicas = 5my - app - deployment的副本数设置为5。
  3. 更新Deployment
    • kubectl set image deployment/<deployment - name> <container - name>=<new - image - name>:更新指定Deployment中容器的镜像,例如kubectl set image deployment/my - app - deployment my - app - container = my - app:new - version

四、Service管理命令

  1. 创建和查看Service
    • kubectl expose deployment <deployment - name> --type=<service - type> --port=<port - number>:创建一个Service来暴露指定的Deployment。常见的service - typeClusterIP(默认,集群内部可访问)、NodePort(通过节点的端口在集群外部可访问)、LoadBalancer(通常用于云环境下,外部负载均衡器来访问服务)。例如,kubectl expose deployment my - app - deployment --type = NodePort --port = 80
    • kubectl get services:查看当前命名空间下的所有Service,显示Service的名称、类型、集群IP、端口等信息。
    • kubectl describe services <service - name>:详细查看指定Service的信息。
  2. 删除Service
    • kubectl delete services <service - name>:删除指定的Service。

这些命令是 Kubernetes 操作的基础,通过它们可以进行大部分的日常管理工作。记得在使用这些命令之前,确保你已经配置好了 kubectl 命令行工具,并且已经连接到了 Kubernetes 集群。

标签:kubectl,查看,get,deployment,集群,常用命令,Pod,k8s
From: https://www.cnblogs.com/zhoutuo/p/18460099

相关文章

  • Docker和K8S集群调用GPU
    参考:安装Docker插件https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.htmlUnbntu使用Docker调用GPUhttps://blog.csdn.net/dw14132124/article/details/140534628https://www.cnblogs.com/li508q/p/18444582环境查看系统环境#......
  • 常用命令op
    ##常用命令###EON私钥```-----BEGINPRIVATEKEY-----MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+iXXq30Tq+J5NKat3KWHCzcmwZ55nGh6WggAqECa5CasBlM9VeROpVu3beA+5h0MibRgbD4DMtVXBt6gEvZ8nd04E7eLA9LTZyFDZ7SkSOVj4oXOQsT0GnJmKrASW5KslTWqVzTfo2XCtZ+004ikLxmyF......
  • 在K8S中,镜像下载策略有哪些?
    在Kubernetes(K8s)中,镜像下载策略主要通过Pod的imagePullPolicy字段来配置。这一策略决定了当Pod启动时,Kubernetes如何拉取容器镜像。以下是K8s中常用的镜像下载策略:1.Always策略行为:每次创建Pod时,都会从镜像仓库拉取最新的镜像版本,即使本地已经存在同名镜像。适用场景:适用于需......
  • 在K8S中,ingress 有何作用?
    在Kubernetes(简称K8S)中,Ingress是一种API资源对象,用于管理从集群外部到集群内部服务的HTTP和HTTPS连接。它主要用来定义网络路由规则,允许外部用户通过特定的路径访问部署在集群内的应用服务。Ingress控制器则是实际实现这些规则的组件,通常运行在一个或多个Pod中,并监听......
  • 在K8S中,Scheduler 作用及实现原理有哪些?
    在Kubernetes(K8s)中,Scheduler是一个至关重要的核心组件,其主要作用是负责集群中Pod的调度。以下是Scheduler的详细作用及实现原理:1.Scheduler的作用资源分配:Scheduler根据每个Pod的资源请求(如CPU、内存)以及节点当前的可用资源情况,选择合适的Node来运行Pod。这有助于确保Pod能够......
  • 在K8S中,各模块如何与APlServer通信?
    在Kubernetes(K8s)中,各个模块与APIServer的通信是集群正常运作的关键。以下详细说明了各模块如何与APIServer进行通信:1.通信方式KubernetesAPIServer提供了一个统一的RESTful接口,用于集群内所有组件之间的通信。任何想要操作集群资源(如Pods、Services、ConfigMaps等)的组件,都......
  • 在K8S中,负载均衡器有何作用?
    在Kubernetes(K8S)中,负载均衡器(LoadBalancer)是一种服务类型(ServiceType),用于在集群内部的服务之间分配流量。负载均衡器的作用不仅仅是简单地转发请求,还包括确保应用程序能够可靠地处理来自客户端的请求,同时保持高可用性和可扩展性。以下是负载均衡器在Kubernetes中的一些主......
  • Kubernetes(K8s)技术深度解析与实践案例
    Kubernetes(K8s)技术深度解析与实践案例Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。自2014年首次亮相以来,K8s迅速成为容器编排领域的行业标准,其设计哲学、可扩展性和强大的社区支持是其成功的关键因素。本文将深入探讨K8s的核心概念、......
  • Linux常用命令
    ifconfig显示网络设备信息,查看对应的ip地址等history查看历史操作指令last列出目前与过去登入系统的用户相关信息相关指令:lastbwhoami查看当前登录的用户top显示当前系统进程的相关信息,包括进程ID、内存占用率、CPU占用率等vim编辑器命令模式......
  • Linux常用命令1
    1.查看进程ps-ef2.查看hping3的进程ps-ef|grephping33.hping3发包命名hping3目的IP-p目的端口-s源端口-k保持指定的源端口-i包速率uXXX4.查看日志命令tail-f日志名5.抓包命令tcpdump-iens1f2tcpandhost3.3.3.34-nn写入抓包文件tc......