K8S常用命令

本文列举了Kubernetes(K8S)的一些核心命令,包括创建和管理资源如create、apply、delete,获取资源信息的get命令,监控资源使用情况的top命令,日志管理的logs命令,运行和管理容器的run和exec命令,以及服务暴露、标签操作和版本信息查看等相关操作。
摘要由CSDN通过智能技术生成

1、create、apply 命令:根据文件或者输入来创建资在这里插入代码片

创建Deployment和Service资源
kubectl creat xxx.yaml #如果不存在则创建,如果存在,则报错
kubectl apply xxx.yaml #如果不存在则创建,如果存在,则更新

2、delete 命令:删除资源

根据yaml文件删除对应的资源,但是yaml文件并不会被删除,这样更加高效
kubectl delete -f xxx.yaml kubectl delete -f xxx.yaml
也可以通过具体的资源名称来进行删除,使用这个删除资源,同时删除deployment、pod、service资源 kubectl delete 具体的资源名

3、get 命令 :获得资源信息

查看default命名空间的所有资源,显示运行中的Pod、Service、Deployment以及ReplicaSet的关键信息
kubectl get all
查看所有的命名空间的资源
kubectl get all --all-namespaces
查看集群命名空间(namespace = ns)
kubectl get ns
列出所有运行的Pod信息
kubectl get pods
查看Pod详细信息,可以查看 pod 的列表,其中 READY 列代表该 Pod 总共有多少(查看组件状态)个容器,并且该容器已经成功启动,可以对外提供服务了,也可以看到这个pod属于哪个node
kubectl get pods -o wide
以yaml格式查看Pod详细信息
kubectl get pod -o yaml
以json格式查看Pod详细信息
kubectl get pod -o json
显示pod节点的标签信息
kubectl get pod --show-labels
查看Pod标签
kubectl get pod -n nsName --show-labels
获取指定名称空间中的指定pod
kubectl get pod -n kube-system podName
查询集群中的所有pod,带有namespace
kubectl get pod --all-namespaces
查看所有命名空间POD详细状态,前四列查出结果与kubectl get pods -A相同
kubectl get pod --all-namespaces -o wide
查看集群节点信息
kubectl get node
显示node节点的标签信息
kubectl get node --show-labels
获取节点和服务版本,以及查看附加信息
kubectl get nodes -o wide
查看已经部署了的所有应用,可以看到容器,以及容器所用的镜像,标签等信息
kubectl get deploy -o wide kubectl get deployments -o wide
查看组件状态(componentstatuseskubectl = cs)
kubectl get cs
查看所有的pod的副本数,以及他们的可用数量以及状态等信息
kubectl get rs
查看服务的详细信息,显示了服务名称,类型,集群ip,端口,时间等信息
kubectl get svc
查看指定命名空间的服务
kubectl get svc -n kube-system
查看rc和service列表
kubectl get rc,service
查看指定命名空间service信息
kubectl get services -n namespacesName
查看pod,svc,ep能及标签信息
kubectl get pod,svc,ep --show-labels
查看指定命名空间域名信息
kubernetes get ingress -n namespacesName
查看pv(persistentvolumes)信息
kubectl get -n ops pv
查看其他健康端点
kubectl get --raw ‘/healthz?verbose’
查看集群事件,watch命令,挂起观察
kubectl get events -A
replicaset是用来管理实例数量的,可以看成是rc/deployment的一个对象
kubectl get replicaset
查看关联后端的节点
kubectl get endpoints
检查ingress域
kubectl get ingress -n namespacesName

4、top 命令:用于查看资源的cpu,内存磁盘等资源的使用率

查看node的使用情况
kubectl top node
查看node的使用情况,–containers可以显示 pod 内所有的container
kubectl top pod
找CPU消耗最高的Pod
kubectl top pod -l -ncpu-loader --sort-by=cpu -A

5、logs命令:用于将容器中的日志导出

查看日志,-c容器名,-f 指定是否持续输出日志
kubectl logs -n namespacesName -f [-c 容器名]
查看曾经运行郭,现在已经停止的容器的日志
kubectl logs -p -n namespacesName -f -c 容器名
查看最近20条日志
kubectl logs --tail=20 -n namespacesName -f -c 容器名
查看最近一小时内产生的所有日志
kubectl logs --since=1h -n nsName -f -c 容器名

6、run 命令:在集群中创建并运行一个或多个容器镜像

启动一个实例
kubectl run NAME --image=image
启动一个有5个副本的nginx实例,并在容器中设置环境变量
kubectl run NAME --image=image --replicas=5
试运行,不创建他们的情况下,打印出所有相关的API对象
kubectl run NAME --image=image --dry-run
重启策略设置为Never,不自动重启;重启策略默认是always,总是自动拉取
kubectl run -i -t NAME --image=image --restart=Never

7、expose 命令:创建一个service服务,并且暴露端口让外部可以访问

为deployment(无状态部署)的nginx创建service,并通过Service的80端口转发至容器的80端口上,Service的名称为nginx-service类型为NodePort
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service

8、describe命令:显示特定资源的详细信息

描述一个pod,查看非running 状态到具体可能原因
kubectl describe pods podName -n namespacesName
描述xxx.yaml中的资源类型和名称指定的pod
kubectl describe -f xxx.yaml
描述所有的pod
kubectl describe pods --all-namespaces
描述所有Labels为xxxx的pod
kubectl describe pods -l xxxx --all-namespaces

9、explain 命令:用于显示资源文档信息

命令详解
kubectl explain pods.spec.containers.livenessProbe.httpGet

10、set 命令:配置应用的一些特定资源,也可以修改应用已有的资源

这个命令用于设置资源的一些范围限制,可用资源对象包括replicationcontroller、deployment、daemonset、job、replicaset
kubectl set resources …
将deployment的指定容器cpu限制为“200m”,将内存设置为“512Mi”
kubectl set resources deployment 容器名 --limits=cpu=200m,memory=512Mi
删除deployment的指定容器的计算资源值
kubectl set resources deployment 容器名 --limits=cpu=0,memory=0 --requests=cpu=0,memory=0
用于更新现有资源的容器镜像
kubectl set image…
将所有deployment中的指定容器的镜像改为新镜像
kubectl set image deployment 容器名 原镜像=新镜像
将所有deployment和rc指定镜像的容器更新为新镜像
kubectl set image deployment,rc 指定镜像=新镜像 --all

11、label命令: 用于更新(增加、修改或删除)资源上的 label(标签) label

必须以字母或数字开头,可以使用字母、数字、连字符、点和下划线,最长63个字符Pod添加label unhealthy=true
kubectl label pods podName unhealthy=true
给Pod修改label 为 ‘status’ / value ‘unhealthy’,且覆盖现有的value
kubectl label --overwrite pods podName status=unhealthy

12、exec命令:进入容器进行交互,在容器中执行命令

连接容器,-c 容器、 -p pod名、-i 将控制台输入发送到容器、-t 将标准输入控制台作为容器的控制台输入
kubectl exec jenkins-864794d566-zj6rt -n ops -it – /bin/bash

13、api-servions命令:打印受支持的api版本信息

打印当前集群支持的api版本信息
kubectl api-versions

14、rollout命令: 对指定容器进行重启

重启容器
kubectl rollout restart statefulsets prometheus -n monitor

15、cp:用于pod和外部的文件交换,将文件和目录复制到容器或从容器复制到容器

将本地目录或文件拷贝到默认命名空间的远端pod的目录下
kubectl cp 本地目录 some-podName:远端pod目录
复制本地文件到指定目录在远程pod在一个特定的容器
kubectl cp 本地目录 some-podName:远端pod目录 -c 容器名

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供思维导图。但是,我可以为您提供一些常用的Kubernetes命令。以下是一些常用的Kubernetes命令: 1. kubectl get pods:获取当前集群中的所有Pods的信息。 2. kubectl get deployments:获取当前集群中的所有Deployments的信息。 3. kubectl get services:获取当前集群中的所有Services的信息。 4. kubectl create deployment \[deployment-name\] --image=\[image-name\]:创建一个新的Deployment。 5. kubectl scale deployment \[deployment-name\] --replicas=\[number\]:扩展或缩小一个Deployment的副本数量。 6. kubectl delete deployment \[deployment-name\]:删除一个Deployment。 7. kubectl describe pod \[pod-name\]:获取一个Pod的详细信息。 8. kubectl logs \[pod-name\]:获取一个Pod的日志。 9. kubectl exec -it \[pod-name\] -- \[command\]:在一个Pod中执行一个命令。 10. kubectl apply -f \[file-name\]:使用一个YAML文件创建或更新资源。 这些是一些常用的Kubernetes命令,可以帮助您管理和操作Kubernetes集群中的资源。希望对您有所帮助! #### 引用[.reference_title] - *1* *2* *3* [k8s学习-思维导图与学习笔记](https://blog.csdn.net/lady_killer9/article/details/124544947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值