k8s命令

k8s组成

kubectl
// 客户端命令行工具,系统操作入口

kube-apiserver
// 以REST API服务提供接口,作为系统的控制入口

kube-controller-manager
// 执行整个系统的后台任务,包括节点状况状态,Pod个数,Pods和Service的关联等

kube-scheduler
// 负责节点资源管理,接受来自kube-apiserver创建Pods任务,并分配到某个节点

etcd
// 负责节点间的服务发现和资源配置共享

kube-proxy
// 运行在每个节点上,负责Pod网络代理。定时从ectd过去到service信息来做相应的策略

kubelet
// 运行在每个节点上,作为agent,接受分配该节点的Pods任务及管理容器,周期性获取容器状态,反馈给kube-apiserver

DNS
// 一个可选的DNS服务,用于为每个Service对象创建DNS记录,这样所有Pod就可以通过DNS访问服务


kubectl get nodes
// 打印集群信息

kubectl get pod
// 获取pod信息

kubectl logs -f --tail(行数) podName(pod名)
// 查看指定pod的日志信息

kubectl get pod -n (Namespace)
// 查看pod信息,-n 表示Name

kubectl get nodes
// 查看节点信息

kubectl get svc -A
// 查看所有的service信息

kubectl get ns
// 查看所有名称空间

kubectl get pod -A
// 查看所有名称空间的信息

kubectl exec podName env
// 查看指定名称的环境变量

kubectl get pod -o wide
// 获取pod详细信息

kubectl edit pod podName
kubectl edit pod -n Namespace podName -o yaml 指定yaml
// 编辑资源

kubectl cluster-info 、kubectl culster-info dump
// 查看集群信息 、 dump标准输出

kubectl exec -it podName -n nsName /bin/sh、 kubectl exec -it -n naName /bin/bash
// 进入pod容器

kubectl delete pod podName
// 删除指定pod

kubectl delete pod -n Namespace podName
// 删除指定命名空间的pod

kubectl get cs
// 查看集群资源

kubectl get pods -o yaml 、 kubectl get pods -o json
kubectl get pods -n Namespace -o yaml 指定
// 查看pod的详细信息


资源相关

kubectl create -f // 创建对象
kubectl create -f <'url'> // 从url创建对象
kubectl delete -f // 删除对象


集群相关
kubecrl cluster-info --显示集群中主机和服务的端点信息
kubectl version --显示客户端和服务器上运行的Kubernetes版本
kubectl config view --获取集群配置
kubectl config view -o jsonpath='{.users[*].name}' --获取用户列表
kubectl config current-context --查看当前上下文
kubectl config get-contexts --查看上下文列表
kubectl config use-context --设置默认上下文
kubectl api-resources --列出可用的api资源
kubectl api-versions --列出可用的API版本
kubectl get all --all-namespaces --获取所有名称空间


Daemonsets 相关
kubectl get-daemonset --列出一个或多个守护进程
kubectl edit daemonset --编辑和更新一个或多个守护进程的定义
kubectl delete daemonset --删除一个守护进程
kubectl create daemonset --创建一个新的守护进程
kubectl rollout daemonset --管理守护进程的rollout
kubectl describe ds -n <namesoace_name> --显示命名空间内守护进程的详细状态


deployments相关

kubectl get deployment --列出一个或多个部署
kubectl describe deployment <deployment_name> --显示一个或多个部署的详细状态
kubectl edit deployment <deployment_name> --编辑和更新服务器上一个或多个部署的定义
kubectl create deployment <deployment_name> --创建一个新的部署
kubectl delete deployment <deployment_name> --删除多个部署
kubectl rollout status deployment <deployment_name> --查看部署的推出状态
kubectl set image deployment/ =image: --执行滚动更新(K8S默认值),将容器映像设置为特定部署的新版本
kubectl rollout undo deployment/ --回滚以前的部署
kubectl replace --force -f -Perform a replace deployment --强制替换、删除然后重新创建资源

事件相关
kubectl get events --列出系统中所有资源的最近事件
kubectl get events -field-selector type=Warning --仅列出警告
kubectl get events --sort-by=.matadata.creationTimestamp --列出按时间戳排序的事件
kubectl get events --field-selector invovedObjeck.kind!=Pod --列出事件,但不包括Pod事件
kubectl get events --field-selector involvedObjeck.kind=Node,involvedObjeck.name=<node_name> --为具有特定名称的单个节点提取事件
kubectl get events --field-selector type!=Normal --从事件列表中过滤掉正常事件


日志相关
kubectl logs <pod_name> -- 打印一个pod的日志
kubectl logs --since=6h <pod_name> --打印一个pod过去六小时的日志
kubectl logs --tail 50 --打印最后50行日志
kubectl logs -f <service_name> [-c <$container>] --从服务获取日志,并可选地选择容器
kubectl logs -f --打印一个pod的日志并跟踪新的日志
kubectl logs -c --打印pod中容器的日志
kubectl logs pod.log --将一个pod的日志输出到一个名为“pod.log”的文件中
kubectl logs --previous -- 查看先前失败pod的日志


Namespace相关
kubectl create namespace <Namespace_name> --创建一个命名空间
kubectl get namespace --列出一个或多个命名空间
kubectl describe namespace -- 显示一个或多个名称空间的详细状态
kubectl delete namespace -- 删除一个命名空间
kubectl edit namespace -- 编辑更新命名空间
kubectl top namespace kubectl top node 、 kubectl top -n pod -- 显示namespace的资源(CPU/内存/存储)使用情况


node相关
kubectl taint node --更新一个或多个节点上的污点
kubectl get node -- 列出节点
kubectl delete node -- 删除单个或多个节点
kubectl top node -- 显示节点的资源使用情况(CPU/内存/存储)
kubectl get pods -o wide | grep --列出在节点上运行的pod
kubectl annotate node -- 注释节点
kubectl cordon node -- 将节点标记为不可调度的
kubectl uncordon node -- 将节点标记为可调度的
kubectl drain node --将节点沥干,为维护做好准备
kubectl label node --添加或更新一个或多个节点的标签

Pods操作相关
kubectl get pod -- 列出一个或多个pod
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount' --按重启计数排序的pods列表
kubectl get pods --field-selector=status.phase=Running -- 获取命名空间中所有正在运行的pod
kubectl delete pod --删除pod
kubectl create pod -- 创建一个pod
kubectl exec -it /bin/sh --在单容器pod上获得交互式shell
kubectl exec -c --对pod中的容器执行命令。阅读更多:使用Kubectl Exec:连接到Kubernetes容器
kubectl top pod --显示pod的资源使用情况(CPU/内存/存储)。
kubectl annotate pod --添加或更新pod的注释
kubectl label pods new-label= --添加或更新pod的标签
kubectl get pods --show-labels --获取pod,并显示标签
kubecrl port-forward: --监听本地机器上的一个端口,并转发到指定pod上的一个端口

Replication Controller相关
kubectl get rc --列出复制控制器
kubectl get rc --namespace='' --按名称空间列出复制控制器


ReplicaSets相关
kubectl get replicasets --ReplicaSets列表
kubectl describe replicasets 例:kubectl describe replicasets -n dc --显示一个或多个复制集的详细状态
kubectl scale --replicas=[x] --缩放复制集


Sercrets相关
kubectl create secret -- 创建一个秘钥文件
kubectl get secrets --列出密钥文件
kubectl describe secrets --列出秘密的详细信息
kube delete secret -- 删除密钥


Services 相关
kubectl get services --列出一个或多个服务
kubectl describe services --显示服务的详细状态
kubectl expose deployment [deploymentName] --将复制控制器、服务、部署或pod暴露公开为新的Kubernetes服务
kubectl edit services --编辑和更新一个或多个服务的定义


Service Account相关
kubectl get serviceaccounts --列出业务帐户
kubectl describe serviceaccounts --显示一个或多个服务帐户的详细状态
kubectl replace serviceaccount --更换业务帐户
kubectl dalete serviceaccount <service_accountName> --删除一个业务账户


StatefulSets相关
kubectl get statefulset -- 列出statefulset
kubectl delete statefulset/[stateful_set_name] --cascade=false --只删除statfulset(不删除pod)

posted @   ht7714  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示