当前位置: 首页 > article >正文

K8s常用基础管理命令(一)

基础管理命令

    • 基础命令
      • kubectl get命令
      • kubectl create命令
      • kubectl apply命令
      • kubectl delete命令
      • kubectl describe命令
      • kubectl explain命令
      • kubectl run命令
      • kubectl cp命令
      • kubectl edit命令
      • kubectl logs命令
      • kubectl exec命令
      • kubectl port-forward命令
      • kubectl patch命令
    • 集群管理命令
      • kubectl cordon命令
      • kubectl uncordon命令
      • kubectl drain命令
      • kubectl top命令
      • kubectl taint命令
      • kubectl label命令

实验环境:基于Ubuntu2404搭建的k8s1.32版本集群

root@master:~# kubectl get nodes
NAME       STATUS   ROLES           AGE   VERSION
master     Ready    control-plane   58d   v1.32.1
worker01   Ready    <none>          58d   v1.32.1
root@master:~# kubectl get pods -A
NAMESPACE        NAME                                                    READY   STATUS    RESTARTS      AGE
kube-dashboard   kubernetes-dashboard-api-66648d89bc-fsmbc               1/1     Running   0             58d
kube-dashboard   kubernetes-dashboard-auth-dd6758c7b-b2r5d               1/1     Running   0             58d
kube-dashboard   kubernetes-dashboard-kong-68c6566956-fd6xn              1/1     Running   0             58d
kube-dashboard   kubernetes-dashboard-metrics-scraper-55cc88cbcb-d5682   1/1     Running   0             58d
kube-dashboard   kubernetes-dashboard-web-6779d576bb-t7ph2               1/1     Running   0             58d
kube-system      calico-kube-controllers-77969b7d87-jsndm                1/1     Running   0             58d
kube-system      calico-node-smkh7                                       1/1     Running   0             58d
kube-system      calico-node-tjpg8                                       1/1     Running   0             58d
kube-system      coredns-69767bd799-9wtv2                                1/1     Running   0             58d
kube-system      coredns-69767bd799-qtpsk                                1/1     Running   0             58d
kube-system      etcd-master                                             1/1     Running   0             58d
kube-system      kube-apiserver-master                                   1/1     Running   0             58d
kube-system      kube-controller-manager-master                          1/1     Running   2 (58d ago)   58d
kube-system      kube-proxy-c8frl                                        1/1     Running   0             58d
kube-system      kube-proxy-rtwtr                                        1/1     Running   0             58d
kube-system      kube-scheduler-master                                   1/1     Running   2 (58d ago)   58d

基础命令

kubectl get命令

kubectl 是 Kubernetes集群的命令行工具,通过它能对 Kubernetes 集群进行管理和操作

kubectl get 是 Kubernetes 中最基础且最常用的命令之一,用于查看集群中的各种资源对象

基本语法

kubectl get [资源类型] [资源名称] [选项]
  • 常用资源类型
资源类型缩写描述
podspo查看 Pod
servicessvc查看 Service
deploymentsdeploy查看 Deployment
replicasetsrs查看 ReplicaSet
statefulsetssts查看 StatefulSet
daemonsetsds查看 DaemonSet
jobs-查看 Job
cronjobscj查看 CronJob
nodesno查看节点
namespacesns查看命名空间
persistentvolumespv查看持久卷
persistentvolumeclaimspvc查看持久卷声明
configmapscm查看 ConfigMap
secrets-查看 Secret
ingressesing查看 Ingress
endpointsep查看 Endpoints
  • 示例:查看命名空间
root@master:~# kubectl get ns
NAME                   STATUS   AGE
default                Active   58d
kube-dashboard         Active   58d
kube-node-lease        Active   58d
kube-public            Active   58d
kube-system            Active   58d
kubernetes-dashboard   Active   58d
root@master:~# kubectl get po
No resources found in default namespace.
root@master:~#
  • 常用选项参数
参数缩写描述示例
–all-namespaces-A查看所有命名空间的资源kubectl get pods -A
–namespace-n指定命名空间kubectl get pods -n kube-system
–output-o输出格式 (json, yaml, wide, name等)kubectl get pods -o wide
–selector-l根据标签选择器筛选kubectl get pods -l app=nginx
–show-labels-显示资源的标签kubectl get pods --show-labels
–watch-w监视资源变化kubectl get pods -w
–field-selector-根据字段选择器筛选kubectl get pods --field-selector=status.phase=Running
–ignore-not-found-忽略未找到的错误kubectl get pod not-exist --ignore-not-found
–sort-by-按指定字段排序kubectl get pods --sort-by=.metadata.creationTimestamp
–no-headers-不显示标题行kubectl get pods --no-headers
–chunk-size-批量获取的大小kubectl get pods --chunk-size=50
–server-print-服务器端打印kubectl get pods --server-print=true
  • 示例
root@master:~# kubectl get node -o wide
NAME       STATUS   ROLES           AGE   VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE           KERNEL-VERSION     CONTAINER-RUNTIME
master     Ready    control-plane   58d   v1.32.1   192.168.200.160   <none>        Ubuntu 24.04 LTS   6.8.0-31-generic   containerd://2.0.2
worker01   Ready    <none>          58d   v1.32.1   192.168.200.161   <none>        Ubuntu 24.04 LTS   6.8.0-31-generic   containerd://2.0.2
root@master:~# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS      AGE
calico-kube-controllers-77969b7d87-jsndm   1/1     Running   0             58d
calico-node-smkh7                          1/1     Running   0             58d
calico-node-tjpg8                          1/1     Running   0             58d
coredns-69767bd799-9wtv2                   1/1     Running   0             58d
coredns-69767bd799-qtpsk                   1/1     Running   0             58d
etcd-master                                1/1     Running   0             58d
kube-apiserver-master                      1/1     Running   0             58d
kube-controller-manager-master             1/1     Running   2 (58d ago)   58d
kube-proxy-c8frl                           1/1     Running   0             58d
kube-proxy-rtwtr                           1/1     Running   0             58d
kube-scheduler-master                      1/1     Running   2 (58d ago)   58d
  • 输出格式选项
格式描述示例
wide显示额外信息kubectl get pods -o wide
jsonJSON格式输出kubectl get pods -o json
yamlYAML格式输出kubectl get pods -o yaml
name仅显示资源名称kubectl get pods -o name
custom-columns自定义列kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase
jsonpath使用JSONPath表达式kubectl get pods -o jsonpath=‘{.items[*].metadata.name}’
  • 示例
root@master:~# kubectl get node -o wide
NAME       STATUS   ROLES           AGE   VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE           KERNEL-VERSION     CONTAINER-RUNTIME
master     Ready    control-plane   58d   v1.32.1   192.168.200.160   <none>        Ubuntu 24.04 LTS   6.8.0-31-generic   containerd://2.0.2
worker01   Ready    <none>          58d   v1.32.1   192.168.200.161   <none>        Ubuntu 24.04 LTS   6.8.0-31-generic   containerd://2.0.2
root@master:~# kubectl get node -o yaml
apiVersion: v1
items:
- apiVersion: v1kind: Nodemetadata:annotations:kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.socknode.alpha.kubernetes.io/ttl: "0"projectcalico.org/IPv4Address: 192.168.200.170/24projectcalico.org/IPv4IPIPTunnelAddr: 172.17.219.64volumes.kubernetes.io/controller-managed-attach-detach: "true"creationTimestamp: "2025-02-10T07:22:41Z"labels:beta.kubernetes.io/arch: amd64beta.kubernetes.io/os: linuxkubernetes.io/arch: amd64kubernetes.io/hostname: masterkubernetes.io/os: linuxnode-role.kubernetes.io/control-plane: ""node.kubernetes.io/exclude-from-external-load-balancers: ""name: master
----------architecture: amd64bootID: 80363416-61dd-4a1d-adb1-04d30be5f786containerRuntimeVersion: containerd://2.0.2kernelVersion: 6.8.0-31-generickubeProxyVersion: v1.32.1kubeletVersion: v1.32.1machineID: c8a9b7f5efae45c5bc6a260f67e2100doperatingSystem: linuxosImage: Ubuntu 24.04 LTSsystemUUID: 047c4d56-3c6b-8139-5e48-ae05a3e0e337runtimeHandlers:- features:recursiveReadOnlyMounts: trueuserNamespaces: truename: runc- features:recursiveReadOnlyMounts: trueuserNamespaces: truename: ""
kind: List
metadata:resourceVersion: ""

kubectl create命令

kubectl create 用于从文件或标准输入创建新的 Kubernetes 资源

基本语法

kubectl create -f <filename>
kubectl create <resource-type> <resource-name> [flags]
  • 常用子命令和参数
子命令/参数描述示例
-f, --filename指定要使用的文件kubectl create -f pod.yaml
–dry-run试运行,不实际创建kubectl create -f pod.yaml --dry-run=client
–edit在创建前编辑对象kubectl create -f pod.yaml --edit
–save-config将当前配置保存到注解kubectl create -f pod.yaml --save-config
–validate验证配置kubectl create -f pod.yaml --validate=true
–from从现有资源创建kubectl create secret generic my-secret --from-file=./password.txt
  • 示例
    创建一个nginx deployment副本,使用试运行命令最后生成一个yaml文件
root@master:~# kubectl create deployment nginx --image=nginx --replicas=3 --dry-run=client -o yaml > nginx.yaml
root@master:~# cat nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:creationTimestamp: nulllabels:app: nginxname: nginx
spec:replicas: 3selector:matchLabels:app: nginxstrategy: {}template:metadata:creationTimestamp: nulllabels:app: nginxspec:containers:- image: nginxname: nginxresources: {}
status: {}
root@master:~# kubectl create -f nginx.yaml
deployment.apps/nginx created
root@master:~# kubectl get deployments.apps
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   0/3     3            0           11s
root@master:~# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-5869d7778c-79ffh   1/1     Running   0          48m
nginx-5869d7778c-7pvfb   1/1     Running   0          48m
nginx-5869d7778c-vll79   1/1     Running   0          48m
  • 常用资源创建命令
命令描述示例
create deployment创建部署kubectl create deployment nginx --image=nginx
create namespace创建命名空间kubectl create namespace dev
create secret创建Secretkubectl create secret generic my-secret --from-literal=key=value
create configmap创建ConfigMapkubectl create configmap my-config --from-file=config.properties
create service创建Servicekubectl create service clusterip my-svc --tcp=80:8080
  • 示例:创建命名空间
root@master:~# kubectl create ns test
namespace/test created

kubectl apply命令

kubectl apply 通过定义资源的配置文件来声明式地管理应用,可以创建或更新资源。

基本语法

kubectl apply -f <filename>
  • 常用参数
参数描述示例
-f, --filename指定要使用的文件kubectl apply -f deployment.yaml
–dry-run试运行kubectl apply -f deploy.yaml --dry-run=client
–prune删除不再需要的资源kubectl apply -f dir/ --prune -l app=nginx
–overwrite覆盖现有配置kubectl apply -f config.yaml --overwrite=true
–record记录当前命令kubectl apply -f deploy.yaml --record=true
–force强制替换资源kubectl apply -f deploy.yaml --force

create vs apply 对比

特性kubectl createkubectl apply
类型命令式声明式
资源存在时报错更新资源
更新方式需先 delete 再 create直接修改 YAML 后重新 apply
幂等性非幂等幂等
适用场景一次性创建持续部署
版本控制不支持支持(通过注解)
推荐使用初始创建日常管理

kubectl delete命令

kubectl delete 是用于删除 Kubernetes 集群中各种资源对象的命令,是日常运维中的关键操作之一

基本语法

kubectl delete [资源类型]/[资源名称] [选项]
kubectl delete -f [配置文件] [选项]
  • 常用资源类型(支持缩写)
资源类型缩写示例命令格式
podspokubectl delete pod/[name]
deploymentsdeploykubectl delete deploy/[name]
servicessvckubectl delete svc/[name]
replicasetsrskubectl delete rs/[name]
statefulsetsstskubectl delete sts/[name]
daemonsetsdskubectl delete ds/[name]
jobs- kubectl delete job/[name]
cronjobscjkubectl delete cj/[name]
configmapscmkubectl delete cm/[name]
secrets-kubectl delete secret/[name]
persistentvolumespvkubectl delete pv/[name]
persistentvolumeclaimspvckubectl delete pvc/[name]
  • 删除pod
root@master:~# kubectl get pod
NAME                     READY   STATUS              RESTARTS   AGE
nginx-5869d7778c-f9ws4   0/1     ContainerCreating   0          4s
nginx-5869d7778c-s492b   0/1     ContainerCreating   0          4s
nginx-5869d7778c-zp65q   1/1     Running             0          4s
root@master:~# kubectl delete pod nginx-5869d7778c-f9ws4
pod "nginx-5869d7778c-f9ws4" deleted
  • 核心参数详解
参数缩写描述示例
–all-删除指定类型的所有资源kubectl delete pods --all
–all-namespaces-A跨所有命名空间删除kubectl delete pods -A
–cascade-级联删除策略(默认true)kubectl delete deploy/nginx --cascade=false
–force-强制立即删除(不等待优雅终止)kubectl delete pod/nginx --force
–grace-period-优雅删除等待时间(秒,默认30)kubectl delete pod/nginx --grace-period=0
–ignore-not-found-忽略不存在的资源错误kubectl delete pod/not-exist --ignore-not-found
–now-相当于–grace-period=0 kubectl delete pod/nginx --now
–selector-l根据标签选择器删除kubectl delete pods -l app=nginx
–timeout-删除操作的超时时间kubectl delete deploy/nginx --timeout=60s
–wait-等待资源完全删除(默认true)kubectl delete svc/nginx --wait=false
  • 基本删除操作
# 删除单个Pod
kubectl delete pod/nginx# 删除指定命名空间的Deployment
kubectl delete deploy/nginx -n default# 通过配置文件删除
root@master:~# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-5869d7778c-79ffh   1/1     Running   0          48m
nginx-5869d7778c-7pvfb   1/1     Running   0          48m
nginx-5869d7778c-vll79   1/1     Running   0          48m
root@master:~# kubectl delete -f nginx.yaml
deployment.apps "nginx" deleted
root@master:~# kubectl get pod
No resources found in default namespace.
root@master:~#
  • 批量删除操作
# 删除所有Pod(当前命名空间)
kubectl delete pods --all# 删除所有命名空间的指定资源
kubectl delete pods --all-namespaces# 根据标签选择器删除
kubectl delete pods -l app=nginx# 删除命名空间及其所有资源
kubectl delete namespace dev --cascade=true
  • 特殊删除场景
# 强制立即删除Pod(跳过优雅终止)
# 默认30秒等待时间,可通过--grace-period调整
# 立即终止:--grace-period=0 --force
kubectl delete pod/nginx --grace-period=0 --force# 只删除Pod不删除关联的Deployment
# 默认行为:删除父资源(如Deployment)时会自动删除子资源(如Pod)
# 禁用方法:--cascade=false
kubectl delete pod/nginx --cascade=false# 删除PVC但保留PV
kubectl delete pvc/my-pvc --cascade=false# 试运行删除(dry-run)
kubectl delete deploy/nginx --dry-run=client

kubectl describe命令

kubectl describe 是 Kubernetes 中用于查看资源详细信息的强大命令,相比 kubectl get 提供更全面的资源状态和关联信息

基本语法

kubectl describe <资源类型>/<资源名称> [选项]
kubectl describe <资源类型> [选项]
  • 支持的资源类型(支持缩写)
资源类型缩写示例命令格式
podspokubectl describe po/nginx
nodesnokubectl describe no/node1
deploymentsdeploykubectl describe deploy/nginx
servicessvckubectl describe svc/nginx
replicasetsrskubectl describe rs/nginx
statefulsetsstskubectl describe sts/web
daemonsetsdskubectl describe ds/logging
configmapscmkubectl describe cm/config
secrets-kubectl describe secret/db
namespacesnskubectl describe ns/dev
persistentvolumespvkubectl describe pv/pv1
persistentvolumeclaimspvckubectl describe pvc/claim1
eventsevkubectl describe ev
  • 查看pod详细信息
root@master:~# kubectl describe pod nginx-5869d7778c-
nginx-5869d7778c-nd9df  nginx-5869d7778c-s492b  nginx-5869d7778c-zp65q
root@master:~# kubectl describe pod nginx-5869d7778c-nd9df
Name:             nginx-5869d7778c-nd9df
Namespace:        default
Priority:         0
Service Account:  default
---------
Conditions:Type                        StatusPodReadyToStartContainers   TrueInitialized                 TrueReady                       TrueContainersReady             TruePodScheduled                True
Volumes:kube-api-access-xgq2f:Type:                    Projected (a volume that contains injected data from multiple sources)TokenExpirationSeconds:  3607ConfigMapName:           kube-root-ca.crtConfigMapOptional:       <nil>DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300snode.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:Type    Reason     Age   From               Message----    ------     ----  ----               -------Normal  Scheduled  63s   default-scheduler  Successfully assigned default/nginx-5869d7778c-nd9df to worker01Normal  Pulling    62s   kubelet            Pulling image "nginx"Normal  Pulled     9s    kubelet            Successfully pulled image "nginx" in 22.856s (53.215s including waiting). Image size: 72207578 bytes.Normal  Created    9s    kubelet            Created container: nginxNormal  Started    9s    kubelet            Started container nginx
  • 核心参数详解
参数描述示例
-A, --all-namespaces所有命名空间kubectl describe pods -A
-f, --filename通过文件指定资源kubectl describe -f pod.yaml
-k, --kustomize从kustomization目录kubectl describe -k dir/
-l, --selector标签选择器kubectl describe pods -l app=nginx
-n, --namespace指定命名空间kubectl describe po nginx -n dev
–recursive处理目录递归kubectl describe -f manifests/ --recursive
–show-events显示事件(默认true)kubectl describe po nginx --show-events=false
  • 基础查询
# 查看Pod详细信息
kubectl describe pod/nginx# 查看节点资源情况
kubectl describe node/node1
  • 故障排查
# 查看Pod为什么无法启动
kubectl describe pod/crash-loop-pod# 查看Service端点信息
kubectl describe svc/nginx
  • 批量查询
# 查看命名空间下所有Pod
kubectl describe pods -n dev# 按标签选择查看
kubectl describe pods -l app=nginx

kubectl explain命令

kubectl explain 是 Kubernetes 中用于查看资源定义和字段说明的内置文档工具,能够帮助用户理解各种资源的 YAML/JSON 配置结构

基本语法

kubectl explain <资源类型>[.<字段路径>] [选项]
  • 查看资源类型文档
root@master:~# kubectl explain pod
KIND:       Pod
VERSION:    v1DESCRIPTION:Pod is a collection of containers that can run on a host. This resource iscreated by clients and scheduled onto hosts.FIELDS:apiVersion    <string>APIVersion defines the versioned schema of this representation of an object.Servers should convert recognized schemas to the latest internal value, andmay reject unrecognized values. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resourceskind  <string>Kind is a string value representing the REST resource this objectrepresents. Servers may infer this from the endpoint the client submitsrequests to. Cannot be updated. In CamelCase. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kindsmetadata      <ObjectMeta>Standard object's metadata. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec  <PodSpec>Specification of the desired behavior of the pod. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-statusstatus        <PodStatus>Most recently observed status of the pod. This data may not be up to date.Populated by the system. Read-only. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
  • 查看嵌套字段定义
kubectl explain pod.spec.containers
  • 递归显示所有字段
kubectl explain deployment --recursive

kubectl run命令

kubectl run 是 Kubernetes 中用于快速创建和运行容器的便捷命令,适合快速测试和临时部署场景

基本语法

kubectl run <名称> --image=<镜像> [其他参数]

常用参数详解

  1. 基本运行参数
参数描述示例
–image指定容器镜像(必需)–image=nginx:1.19
–port暴露容器端口–port=80
–command覆盖默认启动命令–command – /bin/sh -c ‘sleep 3600’
–restart重启策略(Always/Never/OnFailure)–restart=Never
  1. 工作负载控制参数
参数描述示例
–generator指定资源类型(已弃用)–generator=run-pod/v1
–replicas副本数(创建Deployment时)–replicas=3
–labels设置资源标签-l app=test,env=dev
  1. 环境与配置参数
参数描述示例
–env设置环境变量–env=“KEY=VALUE”
–requests资源请求–requests=‘cpu=100m,memory=256Mi’
–limits资源限制–limits=‘cpu=500m,memory=1Gi’
  1. 交互与调试参数
参数描述示例
–rm退出后自动删除(交互式Pod)–rm -it --image=busybox
-it交互式终端-it --image=alpine
–overridesJSON格式覆盖配置–overrides=‘{…}’
  • 基础运行示例
    运行单个Nginx Pod
root@master:~# kubectl run nginx --image=nginx:latest --port=80
pod/nginx created
root@master:~# kubectl get pod
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          34s
# 运行临时调试容器(退出自动删除)
kubectl run debug-tool --rm -it --image=alpine -- sh
  • 创建Deployment
# 创建有3个副本的Nginx Deployment
kubectl run nginx --image=nginx --replicas=3

与kubectl create的区别

特性kubectl runkubectl create
设计目的快速启动容器显式创建资源
YAML生成支持–dry-run -o yaml输出需要明确指定文件
资源类型主要创建Pod/Deployment支持所有资源类型
推荐场景测试/临时部署生产环境部署

kubectl cp命令

kubectl cp 是 Kubernetes 中用于在本地文件系统和容器之间复制文件和目录的命令,类似于传统的 docker cp 命令

基本语法

# 从容器复制到本地
kubectl cp <namespace>/<pod-name>:<container-path> <local-path> [-c <container-name>]# 从本地复制到容器
kubectl cp <local-path> <namespace>/<pod-name>:<container-path> [-c <container-name>]
  • 参数详解
参数描述示例
/指定命名空间(可选)default/nginx-pod:/file
-c, --container指定容器名称(多容器Pod必需)-c app-container
–no-preserve不保留文件属性–no-preserve
–retries重试次数(默认0)–retries=3
  1. 基本文件复制
# 从Pod复制文件到本地
kubectl cp my-pod:/var/log/app.log ./app.log# 从本地复制文件到Pod
kubectl cp config.json my-pod:/etc/config.json
  1. 目录复制
# 复制整个目录到Pod
kubectl cp ./config/ my-pod:/etc/# 从Pod复制目录到本地
kubectl cp my-pod:/var/log/ ./logs/
  1. 多容器Pod操作
# 指定容器名称
kubectl cp my-pod:/data/file.txt ./file.txt -c sidecar
  1. 跨命名空间操作
# 指定命名空间
kubectl cp prod/nginx-pod:/etc/nginx/nginx.conf ./nginx.conf

kubectl edit命令

kubectl edit 是 Kubernetes 中用于直接编辑集群中资源对象的命令,它提供了一种快速修改资源配置的交互式方法。

基本语法

kubectl edit <资源类型>/<资源名称> [选项]
kubectl edit <资源类型> [选项]
  • 支持的资源类型(支持缩写)
资源类型缩写示例命令
podspokubectl edit po/nginx
deploymentsdeploykubectl edit deploy/nginx
servicessvckubectl edit svc/nginx
configmapscmkubectl edit cm/app-config
secrets-kubectl edit secret/db
ingressingkubectl edit ing/web
  • 核心参数详解
参数描述示例
-f, --filename通过文件指定资源kubectl edit -f deploy.yaml
-k, --kustomize从kustomization目录kubectl edit -k dir/
-n, --namespace指定命名空间kubectl edit po nginx -n dev
–output输出格式(yaml/json)kubectl edit deploy/nginx -o json
–record记录当前命令kubectl edit deploy/nginx --record=true
  • 示例
# 编辑Deployment
kubectl edit deploy/nginx# 编辑指定命名空间的ConfigMap
kubectl edit cm/app-config -n dev

kubectl logs命令

kubectl logs 是 Kubernetes 中用于查看 Pod 和容器日志的核心命令,相当于容器化环境的 tail 和 cat 命令组合

基本语法

kubectl logs <pod-name> [options]
kubectl logs -f <pod-name>  # 实时日志流
kubectl logs <pod-name> -c <container-name>  # 多容器Pod
  • 核心参数详解
参数描述示例
-f, --follow实时流式日志kubectl logs -f nginx
–tail显示最后N行kubectl logs --tail=100
-c, --container指定容器名称kubectl logs -c sidecar
-p, --previous查看前一个容器的日志(崩溃重启时)kubectl logs -p
–since显示指定时间后的日志kubectl logs --since=1h
–timestamps显示时间戳kubectl logs --timestamps
–prefix显示Pod/容器前缀kubectl logs --prefix
-l, --selector按标签选择Podkubectl logs -l app=nginx
  1. 基础日志查看
# 查看Pod最新日志
kubectl logs my-pod# 查看指定容器日志
kubectl logs my-pod -c sidecar-container
  1. 实时日志监控
# 实时流式日志(类似tail -f)
kubectl logs -f my-pod# 带时间戳的实时日志
kubectl logs -f my-pod --timestamps# 查看特定时间段的日志
kubectl logs --since-time="2023-01-01T12:00:00Z" \--until-time="2023-01-01T13:00:00Z" my-pod
  1. 历史日志分析
# 查看最近100行
kubectl logs --tail=100 my-pod# 查看过去1小时的日志
kubectl logs --since=1h my-pod# 查看崩溃容器的前一次日志
kubectl logs -p my-pod
  1. 多Pod日志聚合
# 查看Deployment所有Pod日志
kubectl logs -l app=nginx --prefix# 实时监控多个Pod
kubectl logs -f -l app=nginx --max-log-requests=5

kubectl exec命令

kubectl exec 是 Kubernetes 中用于在容器内执行命令的核心命令,相当于容器化环境的 SSH 替代方案

基本语法

kubectl exec <pod-name> [options] -- <command> [args...]
  • 核心参数详解
参数描述示例
-i, --stdin保持标准输入打开kubectl exec -it
-t, --tty分配伪终端kubectl exec -it
-c, --container指定容器名称kubectl exec -c sidecar
–privileged以特权模式执行kubectl exec --privileged
-q, --quiet 只输出命令结果kubectl exec -q
–shell指定shell路径–shell=/bin/bash
  1. 交互式会话
# 进入Pod的交互式Shell(最常用)
root@master:~# kubectl exec -it nginx-5869d7778c-79ffh -- /bin/sh
# ls
bin   dev                  docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc                   lib   media  opt  root  sbin  sys  usr
#kubectl exec -it <pod-name> -- /bin/sh# 指定容器进入
kubectl exec -it <pod-name> -c <container> -- /bin/bash
  1. 单次命令执行
# 执行单条命令(非交互式)
kubectl exec <pod-name> -- ls /var/log# 获取环境变量
kubectl exec <pod-name> -- env# 查看进程列表
kubectl exec <pod-name> -- ps aux
  1. 文件操作
# 查看文件内容
kubectl exec <pod-name> -- cat /etc/hosts# 压缩日志目录
kubectl exec <pod-name> -- tar czf /tmp/logs.tar.gz /var/log# 文件下载(需结合kubectl cp)
kubectl exec <pod-name> -- cat /path/file > local.file

kubectl port-forward命令

kubectl port-forward 是 Kubernetes 中用于建立本地与集群资源网络隧道的命令,无需暴露 Service 即可直接访问 Pod 或 Service

核心功能

  • 本地直连 Pod:开发调试时访问容器内服务
  • 临时测试 Service:不创建Ingress/NodePort的情况下访问服务
  • 安全内网访问:通过API Server加密通道转发流量

基本语法

# Pod端口转发
kubectl port-forward <pod-name> [本地端口]:[容器端口] [选项]# Service端口转发
kubectl port-forward svc/<service-name> [本地端口]:[服务端口] [选项]
  • 核心参数详解
参数描述示例
–address绑定本地地址(默认127.0.0.1)–address 0.0.0.0
–pod-running-timeout等待Pod运行的超时–pod-running-timeout=1m
-n, --namespace指定命名空间-n dev
–ports多端口转发(需v1.23+)–ports=8080:80,8443:443
  1. 开发调试(常用)
# 转发本地8080到Pod的80端口
root@master:~# kubectl port-forward nginx-5869d7778c-79ffh 8080:80
Forwarding from 127.0.0.1:8080 -> 80
Forwarding from [::1]:8080 -> 80
Handling connection for 8080# 浏览器访问
root@master:~# curl localhost:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>
  1. 数据库临时访问
# 转发MySQL
kubectl port-forward pod/mysql 3306:3306# 客户端连接
mysql -h 127.0.0.1 -P 3306 -u root -p
  1. Service调试
# 转发Service端口
kubectl port-forward svc/redis 6379:6379# Redis客户端连接
redis-cli -p 6379
  1. 多端口转发
# 同时转发HTTP和HTTPS
kubectl port-forward pod/nginx 8080:80 8443:443# 或使用--ports参数(v1.23+)
kubectl port-forward pod/nginx --ports=8080:80,8443:443

kubectl patch命令

kubectl patch 是 Kubernetes 中用于对集群资源进行部分更新的命令,相比 apply 或 edit 更适合自动化场景的精准修改

基本语法

kubectl patch <资源类型>/<名称> --type=<策略> -p '<补丁内容>'
  • 补丁策略对比
策略类型参数值特点适用场景
Strategic Merge Patchstrategic (默认)智能合并数组字段修改Deployment、StatefulSet等
JSON MergePatch merge简单替换字段简单资源配置
JSON Patchjson精确操作指令需要精确控制时
  1. 基础字段修改
# 修改Deployment的副本数(Strategic Merge)
kubectl patch deploy/nginx -p '{"spec":{"replicas":3}}'# 修改ConfigMap数据(JSON Merge)
kubectl patch cm/app-config --type merge -p '{"data":{"debug":"true"}}'
  1. 数组字段操作
# 添加容器环境变量(Strategic Merge)
kubectl patch deploy/nginx -p '{"spec":{"template":{"spec":{"containers":[{"name":"nginx","env":[{"name":"ENV", "value":"prod"}]}]}}}
}'
  1. JSON Patch精准操作
# 精确替换镜像版本(JSON Patch)
kubectl patch pod/nginx --type json -p '[{"op":"replace", "path":"/spec/containers/0/image", "value":"nginx:1.23"}

集群管理命令

有时候会遇到这样一个场景,一个节点需要升级,但是在该节点上又有许多运行的Pod,或者该节点已经瘫痪,需要保证业务功能的完善,则需要使用这组命令将该节点上运行的Pod调度到其他节点上

kubectl cordon命令

kubectl cordon 是 Kubernetes 中用于标记节点为不可调度的命令,是节点维护和集群管理的重要工具。

基本语法

kubectl cordon <节点名称> [选项]
  • 核心参数
参数描述示例
–dry-run试运行,不实际执行kubectl cordon node1 --dry-run=client
–selector根据标签选择节点kubectl cordon -l node-role=worker
  1. 基础用法
# 标记单个节点不可调度
kubectl cordon node1# 验证节点状态
kubectl get nodes
# 输出中节点状态会显示"SchedulingDisabled"
  1. 批量操作
# 标记所有worker节点不可调度
kubectl cordon -l node-role=worker# 标记除master外的所有节点
kubectl cordon $(kubectl get nodes -o name | grep -v master)
  1. 维护工作流
# 1. 首先标记节点不可调度
kubectl cordon node1# 2. 排空节点(可选)
kubectl drain node1 --ignore-daemonsets# 3. 维护完成后恢复
kubectl uncordon node1

和drain命令的区别

特性cordondrain
调度阻止
驱逐现有Pod
优雅终止

kubectl uncordon命令

kubectl uncordon 是 Kubernetes 中用于将节点重新标记为可调度的命令,是节点维护流程中的关键步骤

基本语法

kubectl uncordon <节点名称> [选项]
  • 核心参数
参数描述示例
–dry-run试运行,不实际执行kubectl uncordon node1 --dry-run=client
–selector根据标签选择节点kubectl uncordon -l node-role=worker
  1. 基础用法
# 恢复单个节点的调度能力
kubectl uncordon node1# 验证节点状态
kubectl get nodes
# STATUS列不再显示"SchedulingDisabled"
  1. 批量操作
# 恢复所有worker节点
kubectl uncordon -l node-role=worker# 恢复多个指定节点
kubectl uncordon node{1..3}
  1. 标准维护流程
# 1. 维护前标记不可调度
kubectl cordon node1# 2. 执行维护操作...# 3. 维护完成后恢复调度
kubectl uncordon node1

kubectl drain命令

kubectl drain 是 Kubernetes 中用于安全排空节点的命令,是节点维护和集群缩容的核心操作。

基本语法

kubectl drain <节点名称> [选项]
  • 核心参数详解
参数描述示例
–ignore-daemonsets忽略DaemonSet Pod(必须指定)–ignore-daemonsets=true
–delete-emptydir-data删除EmptyDir数据–delete-emptydir-data=true
–force强制驱逐无控制器Pod–force
–grace-period优雅终止等待时间(秒)–grace-period=60
–timeout命令超时时间–timeout=5m
–pod-selector按标签选择Pod–pod-selector=app=nginx
–disable-eviction使用直接删除代替驱逐(1.18+)–disable-eviction=true
  1. 标准节点维护
# 安全排空节点(保留DaemonSet)
kubectl drain node1 --ignore-daemonsets# 执行维护操作...# 恢复节点
kubectl uncordon node1
  1. 强制驱逐所有Pod
# 包括无控制器的裸Pod
kubectl drain node1 --ignore-daemonsets --force# 立即终止(跳过优雅等待)
kubectl drain node1 --grace-period=0 --force
  1. 带超时控制的排空
# 限制在10分钟内完成
kubectl drain node1 --timeout=10m
  • 注意事项
  1. 驱逐策略
    有控制器Pod:重建到其他节点
    裸Pod:需要–force才会删除
    有本地存储的Pod:需–delete-emptydir-data

  2. 关键限制
    DaemonSet Pod:默认会阻止drain(必须用–ignore-daemonsets)
    PodDisruptionBudget:会检查PDB限制
    Finalizers:有finalizer的Pod可能阻塞

kubectl top命令

kubectl top 是 Kubernetes 中用于查看资源(节点和Pod)CPU/内存使用情况的命令,相当于 Kubernetes 的"任务管理器"

基本语法

# 查看节点资源使用
kubectl top nodes [节点名称] [选项]# 查看Pod资源使用
kubectl top pods [Pod名称] [选项]
  • 核心参数详解
参数描述示例
-A, --all-namespaces所有命名空间kubectl top pods -A
–containers显示容器级数据kubectl top pod --containers
-l, --selector按标签筛选kubectl top pods -l app=nginx
–sort-by按指定字段排序kubectl top pods --sort-by=cpu
–no-headers不显示标题行kubectl top nodes --no-headers
–use-protocol-buffers使用ProtoBuf格式(Metrics Server v0.6+)
  1. 基础监控
# 查看所有节点资源使用
kubectl top nodes# 查看默认命名空间的Pod资源使用
kubectl top pods# 查看kube-system命名空间的Pod
kubectl top pods -n kube-system
  1. 高级查询
# 按CPU使用排序
kubectl top pods --sort-by=cpu# 按内存使用排序
kubectl top pods --sort-by=memory# 显示容器级使用情况
kubectl top pod nginx --containers
  1. 结合标签筛选
# 查看所有带app=nginx标签的Pod
kubectl top pods -l app=nginx# 查看生产环境的所有Pod
kubectl top pods -l env=production -A

如果报错:则需要安装error: Metrics Server

error: Metrics API not available

GitHub地址

  • Metrics Server 可以直接通过 YAML 清单安装,也可以通过官方Helm chart安装。要从components.yaml清单安装最新的 Metrics Server 版本,请运行以下命令。
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
  • 版本支持如下
    在这里插入图片描述

kubectl taint命令

kubectl taint 是 Kubernetes 中用于管理节点污点(Taint)的关键命令,通过污点机制可以控制Pod的调度行为。

核心概念

  1. 污点(Taint)组成
    Key:标识符(必填)
    Value:值(可选)
  • Effect:影响效果(必填):
    • NoSchedule:禁止调度(已有Pod不受影响)
    • PreferNoSchedule:尽量避免调度
    • NoExecute:禁止调度并驱逐现有Pod(除非有容忍)
  1. 污点与容忍(Toleration)
    节点设置污点
    Pod通过tolerations声明容忍

基本语法

# 添加污点
kubectl taint nodes <node-name> <key>=<value>:<effect># 删除污点
kubectl taint nodes <node-name> <key>[:<effect>]-# 查看污点
kubectl describe node <node-name> | grep Taints
  • 参数详解
参数描述示例
–overwrite覆盖已有污点–overwrite=true
–all操作所有节点kubectl taint nodes --all
–selector根据标签选择节点-l node-role=worker
  1. 专用节点配置
# 标记GPU节点(禁止非GPU Pod调度)
kubectl taint nodes gpu-node1 gpu=true:NoSchedule# 对应Pod需要添加toleration
# spec.tolerations:
# - key: "gpu"
#   operator: "Equal"
#   value: "true"
#   effect: "NoSchedule"
  1. 节点维护
# 维护前标记并驱逐Pod
kubectl taint nodes node1 maintenance=true:NoExecute# 维护完成后删除污点
kubectl taint nodes node1 maintenance=true:NoExecute-
  1. 生产环境隔离
# 标记生产专用节点
kubectl taint nodes prod-node1 env=prod:NoSchedule# 标记测试专用节点
kubectl taint nodes test-node1 env=test:NoSchedule
  1. 批量操作
# 为所有worker节点添加污点
kubectl taint nodes -l node-role=worker dedicated=worker:NoSchedule# 清除所有节点的某污点
kubectl taint nodes --all dedicated:NoSchedule-
  1. 复杂污点策略
# 多污点配置
kubectl taint nodes node1 key1=value1:NoSchedule key2=value2:NoExecute# 基于存在性的污点(不检查value)
kubectl taint nodes node1 special:NoSchedule
# 对应容忍:
# - key: "special"
#   operator: "Exists"
#   effect: "NoSchedule"

kubectl label命令

kubectl label 是 Kubernetes 中用于管理资源标签(Labels)的核心命令,标签是 Kubernetes 中组织和选择资源的关键机制

  1. 标签特性
    键值对:格式为 key=value
    选择器支持:可通过 -l 参数筛选资源
    元数据:不直接影响系统逻辑,用于标识和分类

  2. 常见用途
    环境标识(dev/stage/prod)
    应用版本标记
    组件分类(frontend/backend)
    运维管理(owner/department)

基本语法

# 添加/更新标签
kubectl label <资源类型> <资源名称> <key>=<value># 删除标签
kubectl label <资源类型> <资源名称> <key>-# 批量操作
kubectl label <资源类型> --all <key>=<value>
  • 核心参数详解
参数描述示例
–overwrite强制覆盖已有标签–overwrite=true
–list显示现有标签kubectl get pods --show-labels
-l, --selector按标签选择资源-l env=prod
–all选择所有资源–all
–resource-version指定资源版本–resource-version=12345
–dry-run试运行–dry-run=client
  1. 基础标签操作
# 给节点打标签
kubectl label nodes node1 disktype=ssd# 给Pod打标签
kubectl label pod/nginx app=web tier=frontend# 删除标签
kubectl label pod/nginx tier-
  1. 批量标签管理
# 给所有Pod添加标签
kubectl label pods --all version=v1.2.3# 按选择器批量更新
kubectl label pods -l app=nginx deployed-at=$(date +%Y%m%d)# 命名空间下所有资源加标签
kubectl label all -n dev env=development
  1. 高级选择器操作
# 添加不存在的标签(使用--overwrite)
kubectl label pods -l '!owner' owner=team-a --overwrite# 修改带特殊字符的标签
kubectl label ns/default 'cost-center=finance\ department'

相关文章:

K8s常用基础管理命令(一)

基础管理命令 基础命令kubectl get命令kubectl create命令kubectl apply命令kubectl delete命令kubectl describe命令kubectl explain命令kubectl run命令kubectl cp命令kubectl edit命令kubectl logs命令kubectl exec命令kubectl port-forward命令kubectl patch命令 集群管理命…...

每日算法-250411

这是我今天的 LeetCode 刷题记录和心得&#xff0c;主要涉及了二分查找的应用。 3143. 正方形中的最多点数 题目简述: 思路 本题的核心思路是 二分查找。 解题过程 为什么可以二分&#xff1f; 我们可以对正方形的半边长 len 进行二分。当正方形的半边长 len 越大时&…...

NO.90十六届蓝桥杯备战|动态规划-区间DP|回文字串|Treats for the Cows|石子合并|248(C++)

区间dp也是线性dp的⼀种&#xff0c;它⽤区间的左右端点来描述状态&#xff0c;通过⼩区间的解来推导出⼤区间的解。因此&#xff0c;区间DP的核⼼思想是将⼤区间划分为⼩区间&#xff0c;它的状态转移⽅程通常依赖于区间的划分点。 常⽤的划分点的⽅式有两个&#xff1a; 基于…...

【大模型LLM第十六篇】Agent学习之浅谈Agent loop的几种常见范式

anthropics agent https://zhuanlan.zhihu.com/p/32454721762 code&#xff1a;https://github.com/anthropics/anthropic-quickstarts/blob/main/computer-use-demo/computer_use_demo/loop.py sampling_loop函数 每次进行循环&#xff0c;输出extract tool_use&#xff0…...

数列分块入门4

题目描述 给出一个长为 n n n 的数列&#xff0c;以及 n n n 个操作&#xff0c;操作涉及区间加法&#xff0c;区间求和。 输入格式 第一行输入一个数字 n n n。 第二行输入 n n n 个数字&#xff0c;第 i 个数字为 a i a_i ai​&#xff0c;以空格隔开。 接下来输入…...

学术分享:基于 ARCADE 数据集评估 Grounding DINO、YOLO 和 DINO 在血管狭窄检测中的效果

一、引言 冠状动脉疾病&#xff08;CAD&#xff09;作为全球主要死亡原因之一&#xff0c;其早期准确检测对有效治疗至关重要。X 射线冠状动脉造影&#xff08;XCA&#xff09;虽然是诊断 CAD 的金标准&#xff0c;但这些图像的人工解读不仅耗时&#xff0c;还易受观察者间差异…...

程序化广告行业(77/89):融资、并购与上市全景洞察

程序化广告行业&#xff08;77/89&#xff09;&#xff1a;融资、并购与上市全景洞察 大家好呀&#xff01;一直以来&#xff0c;我都希望能和大家一起在技术知识的海洋里畅游、学习进步。前面我们已经了解了程序化广告行业的发展态势、PC端和移动端投放差异以及行业融资的大致…...

2025年慕尼黑上海电子展前瞻

年岁之约&#xff0c;齐聚慕展&#xff1b; 乘风而起&#xff0c;畅联未来。 2025 年 4 月 15 - 17 日&#xff0c;备受瞩目的慕尼黑上海电子展即将在上海新国际博览中心盛大启幕。回首2024年展会的场景&#xff0c;那热烈非凡的氛围、精彩纷呈的展示仍历历在目&#xff0c;也…...

第十九:b+树和b-树

优点一&#xff1a; B树只有叶节点存放数据&#xff0c;其余节点用来索引&#xff0c;而B-树是每个索引节点都会有Data域。 优点二&#xff1a; B树所有的Data域在叶子节点&#xff0c;并且所有叶子节点之间都有一个链指针。 这样遍历叶子节点就能获得全部数据&#xff0c;这样…...

前沿科技:社会性交互技术原理与核心概念解析

社会性交互中的**情感识别(Emotion Recognition)与拟人化行为生成(Human-like Behavior Generation)**是构建自然、可信人机交互的核心技术,尤其在虚拟助手、社交机器人、元宇宙角色等场景中至关重要。以下是其技术原理、核心方法与实际应用的系统解析: 一、情感识别:从…...

深入浅出Redis 缓存使用问题 | 长文分享

目录 数据一致性 先更新缓存&#xff0c;后更新数据库【一般不考虑】 先更新数据库&#xff0c;再更新缓存【一般不考虑】 先删除缓存&#xff0c;后更新数据库 先更新数据库&#xff0c;后删除缓存【推荐】 怎么选择这些方案&#xff1f;采用哪种合适&#xff1f; 缓存…...

操作系统 3.6-内存换出

换出算法总览 页面置换算法 FIFO&#xff08;先进先出&#xff09;&#xff1a; 最简单的页面置换算法&#xff0c;淘汰最早进入内存的页面。 优点&#xff1a;实现简单。 缺点&#xff1a;可能会导致Belady异常&#xff0c;即增加内存反而降低性能。如果刚换入的页面马上又要…...

【Amazon EC2】为何基于浏览器的EC2 Instance Connect 客户端连接不上EC2实例

文章目录 前言&#x1f4d6;一、报错先知❌二、问题复现&#x1f62f;三、解决办法&#x1f3b2;四、验证结果&#x1f44d;五、参考链接&#x1f517; 前言&#x1f4d6; 这篇文章将讲述我在 Amazon EC2 上使用 RHEL9 AMI 时无法连接到 EC2 实例时所遇到的麻烦&#x1f616; …...

Java并发编程:深入解析原子操作类与CAS原理

一、原子操作类概述 Java并发包(java.util.concurrent.atomic)提供了一系列原子操作类&#xff0c;这些类通过无锁算法实现了线程安全的操作&#xff0c;相比传统的锁机制具有更高的性能。原子类基于CAS(Compare-And-Swap)指令实现&#xff0c;是现代并发编程的重要基础。 原…...

新一代AI低代码MES,助力企业数字化升级

随着DeepSeek低成本AI模型的火热&#xff0c;对于传统的MES而言&#xff0c;在这场AI的盛宴中&#xff0c;该如何去调整产品的定位&#xff0c;让MES更符合工业企业的需求呢&#xff1f; 工业互联网、AI、数字孪生等技术加速与MES融合&#xff0c;实现生产全流程的实时监控与智…...

位运算与实战场景分析-Java代码版

一、为什么每个程序员都要掌握位运算&#xff1f; 在电商秒杀系统中&#xff0c;位运算可以快速判断库存状态&#xff1b;在权限管理系统里&#xff0c;位运算能用极小的空间存储复杂权限配置&#xff1b;在算法竞赛中&#xff0c;位运算更是高频出现的性能优化利器。这项看似…...

面试之《前端信息加密》

前端代码是直接暴漏给用户的&#xff0c;请求的接口也可以通过控制台network看到参数&#xff0c;这是不够安全的&#xff0c;如果遇到坏人想要破坏&#xff0c;可以直接修改参数&#xff0c;或者频繁访问导致系统崩溃&#xff0c;或数据毁坏。 所以信息加密在某些场合就变得非…...

CentOS 系统磁盘扩容并挂载到根目录(/)的详细步骤

在使用 CentOS 系统时&#xff0c;经常会遇到需要扩展磁盘空间的情况。例如&#xff0c;当虚拟机的磁盘空间不足时&#xff0c;可以通过增加磁盘容量并将其挂载到根目录&#xff08;/&#xff09;来解决。以下是一个完整的操作流程&#xff0c;详细介绍了如何将新增的 10G 磁盘…...

HTML应用指南:利用GET请求获取全国汉堡王门店位置信息

在当今快节奏的都市生活中&#xff0c;餐饮品牌的门店布局不仅反映了其市场策略&#xff0c;更折射出消费者对便捷、品质和品牌认同的追求。汉堡王&#xff08;Burger King&#xff09;作为全球知名的西式快餐品牌之一&#xff0c;在中国市场同样占据重要地位。自进入中国市场以…...

浅入浅出 GRPO in DeepSeekMath

GRPO in DeepSeekMath GRPO 通过在生成组内进行比较来直接评估模型生成的响应&#xff0c;以优化策略模型&#xff0c;而不是训练单独的价值模型&#xff0c;这种方法显著降低了计算成本。GRPO 可以应用于任何可以确定响应正确性的可验证任务。例如&#xff0c;在数学推理中&a…...

计算机网络起源

互联网的起源和发展是一个充满创新、突破和变革的历程&#xff0c;从20世纪60年代到1989年&#xff0c;这段时期为互联网的诞生和普及奠定了坚实的基础。让我们详细回顾这一段激动人心的历史。 计算机的发展与ARPANET的建立&#xff08;20世纪60年代&#xff09; 互联网的诞生…...

HTML 嵌入标签对比:小众(<embed>、<object>) 与 <iframe> 的优缺点及使用场景和方式

需求背景 在网页开发中&#xff0c;嵌入外部资源预览&#xff08;如视频、PDF、地图或其他网页&#xff09;是常见的需求。HTML 提供了多种标签来实现这一功能&#xff0c;其中 <embed>、<object> 和 <iframe> 是最常用的三种。本文将对比它们的优缺点&…...

[python] 作用域

Python中查找变量的顺序遵循LEGB规则(Local->Enclosing->Global->Built-in)。Python中的if/elif/else、for/while等代码块不会创建新的作用域&#xff0c;只有def、class、lambda才会改变作用域。这和C中不同&#xff0c;C中在{}代码块中创建的变量离开这个代码块后就…...

AICon 2024年全球人工智能与大模型开发与应用大会(脱敏)PPT汇总(36份).zip

AICon 2024年全球人工智能与大模型开发与应用大会&#xff08;脱敏&#xff09;PPT汇总&#xff08;36份&#xff09;.zip 1、面向开放域的大模型智能体.pdf 2、企业一站式 AI 智能体构建平台演进实践.pdf 3、PPIO 模型平台出海实战&#xff0c;跨地域业务扩展中的技术优化之道…...

51电子表

设计要求&#xff1a; 基本任务&#xff1a; 用单片机和数码管设计可调式电子钟&#xff0c;采用24小时制计时方式&#xff0c;要求能够稳定准确计时&#xff0c;并能调整时间。发光二极管每秒亮灭一次。电子钟显示格式为&#xff1a;时、分、秒各两位&#xff0c;中间有分隔…...

9-函数的定义及用法

一.前言 C 语⾔强调模块化编程&#xff0c;这⾥所说的模块就是函数&#xff0c;即把每⼀个独⽴的功能均抽象为⼀个函数来实现。从⼀定意义上讲&#xff0c;C 语⾔就是由⼀系列函数串组成的。 我们之前把所有代码都写在 main 函数中&#xff0c;这样虽然程序的功能正常实现&…...

高清视频会议系统BeeWorks Meet,支持私有化部署

在数字化办公时代&#xff0c;视频会议已成为企业协作的关键工具。然而&#xff0c;随着信息安全意识的不断提高&#xff0c;传统的公有云视频会议软件已难以满足企业对数据安全和隐私保护的严格要求。BeeWorks Meet凭借其独特的私有化部署模式、强大的功能集成以及对国产化的适…...

用HTML和CSS绘制佩奇:我不是佩奇

在这篇博客中&#xff0c;我将解析一个完全使用HTML和CSS绘制的佩奇(Pig)形象。这个项目展示了CSS的强大能力&#xff0c;仅用样式就能创造出复杂的图形&#xff0c;而不需要任何图片或JavaScript。 项目概述 这个名为"我不是佩奇"的项目是一个纯CSS绘制的卡通猪形象…...

彩讯携Rich AICloud与一体机智算解决方案亮相中国移动云智算大会

2025年4月10日&#xff0c;2025中国移动云智算大会在苏州盛大开幕&#xff0c;本次大会以“由云向智 共绘算网新生态”为主题&#xff0c;与会嘉宾围绕算力展开重点探讨。 大会现场特设区域展出各参会单位的最新算力成果&#xff0c;作为中国移动重要合作伙伴&#xff0c;彩讯…...

BERT - 直接调用transformers.BertModel, BertTokenizerAPI不进行任何微调

本节代码将使用 transformers 库加载预训练的BERT模型和分词器&#xff08;Tokenizer&#xff09;&#xff0c;并处理文本输入。 1. 加载预训练模型和分词器 from transformers import BertTokenizer, BertModelmodel_path "/Users/azen/Desktop/llm/models/bert-base-…...