Kubernetes(K8s)常用命令全解析:从基础到进阶

Kubernetes(K8s)常用命令全解析:从基础到进阶

引言:为什么掌握K8s命令是云原生时代的必备技能?

Kubernetes(简称K8s)作为容器编排的事实标准,已成为云原生应用部署、扩展和管理的核心平台。其命令行工具kubectl是与集群交互的主要入口,掌握其常用命令不仅能提高日常运维效率,更能深入理解K8s的资源模型(如声明式API、控制器模式)和调度逻辑。

本文将系统梳理kubectl命令,按资源管理集群运维部署与伸缩故障排查高级操作五大维度分类,涵盖高频使用、易混淆及进阶命令,补充场景化示例与注意事项。

目录

  • Kubernetes(K8s)常用命令全解析:从基础到进阶
    • 引言:为什么掌握K8s命令是云原生时代的必备技能?
    • 一、资源管理基础命令
      • 1.1 资源查看(`kubectl get`)
      • 1.2 资源创建(`kubectl create`与`kubectl apply`)
      • 1.3 资源删除(`kubectl delete`)
      • 1.4 资源详情查看(`kubectl describe`)
      • 1.5 配置资源修改(`kubectl edit`)
    • 二、集群管理命令
      • 2.1 集群信息查看
      • 2.2 节点管理
      • 2.3 命名空间管理
    • 三、部署与伸缩命令
      • 3.1 Deployment管理
      • 3.2 自动伸缩(HPA)
      • 3.3 StatefulSet与DaemonSet
    • 四、故障排查命令
      • 4.1 Pod诊断
      • 4.2 网络诊断
      • 4.3 存储诊断
    • 五、高级操作命令
      • 5.1 标签与注解管理
      • 5.2 配置与密钥管理(ConfigMap/Secret)
      • 5.3 权限管理(RBAC)
      • 5.4 作业与定时任务
    • 六、易错点与最佳实践
    • 总结

一、资源管理基础命令

1.1 资源查看(kubectl get

最常用的命令之一,用于查询集群中各类资源的状态,支持多种输出格式和过滤条件。

命令作用示例补充说明
kubectl get pods查看当前命名空间的所有Podkubectl get pods(简写成po输出包含名称、就绪数、状态、重启次数、年龄
kubectl get pods -n <namespace>查看指定命名空间的Podkubectl get po -n kube-system-n指定命名空间,如kube-system是系统组件所在命名空间
kubectl get pods --all-namespaces查看所有命名空间的Podkubectl get po -A-A是简写)适合全局排查跨命名空间问题
kubectl get pods -o wide查看Pod的详细信息kubectl get po -o wide额外显示Pod的IP、所在节点、镜像等
kubectl get pods -l <label>按标签过滤Podkubectl get po -l app=nginx标签是K8s资源关联的核心,如Service通过标签关联Pod
kubectl get deployments查看Deploymentkubectl get deploy(简写deployDeployment是无状态应用的主要控制器
kubectl get services查看Servicekubectl get svc(简写svc输出包含ClusterIP、端口映射等网络信息
kubectl get nodes查看集群节点kubectl get no(简写no显示节点状态(Ready/NotReady)、角色、版本等
kubectl get namespaces查看命名空间kubectl get ns(简写ns命名空间用于资源隔离,默认有defaultkube-system
kubectl get <resource> -o yaml/json以YAML/JSON格式输出资源详情kubectl get pod nginx -o yaml用于查看资源的完整配置(如标签、注解、调度策略等)

1.2 资源创建(kubectl createkubectl apply

用于创建或更新集群资源,两者的核心区别在于:create是"命令式创建"(已存在则报错),apply是"声明式更新"(存在则更新,不存在则创建)。

命令作用示例适用场景
kubectl create -f <file>通过配置文件创建资源kubectl create -f nginx-deploy.yaml仅用于新资源创建,重复执行会报错
kubectl create <resource> <name>直接创建资源(简单场景)kubectl create deployment nginx --image=nginx:1.23快速创建测试资源,不适合复杂配置
kubectl apply -f <file>通过配置文件创建或更新资源kubectl apply -f nginx-deploy.yaml生产环境推荐,支持增量更新(仅修改配置文件中变化的字段)
kubectl apply -f <dir>批量处理目录下的所有配置文件kubectl apply -f ./k8s-configs适合多资源协同部署(如Deployment+Service+ConfigMap)

1.3 资源删除(kubectl delete

用于删除集群中的资源,支持按名称、标签、配置文件等方式删除。

命令作用示例注意事项
kubectl delete <resource> <name>删除指定名称的资源kubectl delete pod nginx-7f9f6f5c9d-2xqkf仅删除单个资源,需准确指定名称
kubectl delete <resource> -l <label>按标签删除资源kubectl delete deploy -l app=nginx批量删除同一标签的资源,适合清理测试环境
kubectl delete -f <file>删除配置文件定义的资源kubectl delete -f nginx-deploy.yamlapply -f对应,确保资源完整删除
kubectl delete <resource> --all删除当前命名空间的所有该类型资源kubectl delete pods --all谨慎使用,可能误删重要资源
kubectl delete pod <name> --grace-period=0 --force强制删除Podkubectl delete pod nginx --grace-period=0 --force仅用于异常卡住的Pod(如状态为Terminating但无法退出),可能导致数据不一致

1.4 资源详情查看(kubectl describe

用于查看资源的详细状态(如事件、关联资源、配置细节等),是故障排查的核心命令。

命令作用示例关键输出解读
kubectl describe <resource> <name>查看指定资源的详细信息kubectl describe pod nginx重点关注Events部分(如调度失败、镜像拉取错误原因)
kubectl describe node <node-name>查看节点详情kubectl describe node node-1关注Conditions(节点健康状态)、Allocatable(可分配资源)、Taints(污点,影响调度)
kubectl describe svc <service-name>查看Service详情kubectl describe svc nginx-svc关注Endpoints(后端Pod的IP:Port,为空则说明Pod未匹配标签)

1.5 配置资源修改(kubectl edit

用于在线编辑集群中已存在的资源配置(等效于修改YAML后apply)。

kubectl edit deployment nginx  # 编辑Deployment配置(自动打开默认编辑器)
kubectl edit svc nginx-svc -n dev  # 编辑指定命名空间的Service

注意:编辑后需确保语法正确(如YAML缩进),保存后配置会自动生效(触发滚动更新等操作)。

二、集群管理命令

2.1 集群信息查看

用于了解集群的基本状态、版本及节点信息。

命令作用示例输出解读
kubectl cluster-info查看集群核心组件地址kubectl cluster-info显示API Server、ETCD、CoreDNS等组件的访问地址,若某组件未就绪会提示错误
kubectl cluster-info dump导出集群详细信息kubectl cluster-info dump > cluster-dump.log包含所有资源配置、事件、日志片段,用于离线诊断
kubectl version查看版本信息kubectl version --short显示客户端(kubectl)和服务端(API Server)版本,需确保版本兼容(客户端与服务端版本差不超过1个大版本)
kubectl api-versions查看支持的API版本kubectl api-versionsapps/v1(Deployment所在API组)、v1(Pod、Service所在API组),不同资源可能属于不同API组
kubectl api-resources查看支持的资源类型kubectl api-resources包含资源名称、简写、API组、命名空间范围(是否集群级)等,如pods是命名空间级,nodes是集群级

2.2 节点管理

用于节点的调度控制(如维护时标记不可调度)。

命令作用示例场景说明
kubectl cordon <node-name>标记节点为"不可调度"kubectl cordon node-1阻止新Pod调度到该节点,但不影响已运行的Pod(用于临时维护)
kubectl uncordon <node-name>解除"不可调度"标记kubectl uncordon node-1允许新Pod调度到该节点
kubectl drain <node-name> --ignore-daemonsets排空节点(驱逐所有Pod)kubectl drain node-1 --ignore-daemonsets用于节点下线维护,--ignore-daemonsets跳过DaemonSet管理的Pod(DaemonSet要求所有节点运行)
kubectl top node查看节点资源使用情况kubectl top node需部署metrics-server,显示CPU/内存使用率,用于识别节点过载

2.3 命名空间管理

命名空间用于隔离集群资源(如开发、测试、生产环境分离)。

命令作用示例注意事项
kubectl create namespace <name>创建命名空间kubectl create ns dev命名空间名称需符合DNS-1123规范(小写字母、数字、-)
kubectl delete namespace <name>删除命名空间kubectl delete ns dev会递归删除命名空间内所有资源,操作不可逆
kubectl config set-context --current --namespace=<name>切换默认命名空间kubectl config set-context --current --namespace=dev避免每次命令加-n <namespace>,通过kubectl config view查看当前上下文

三、部署与伸缩命令

3.1 Deployment管理

Deployment是最常用的无状态应用部署控制器,支持滚动更新、回滚等功能。

命令作用示例核心逻辑
kubectl create deployment <name> --image=<image>创建Deploymentkubectl create deployment nginx --image=nginx:1.23自动创建ReplicaSet和Pod,默认1个副本
kubectl scale deployment <name> --replicas=<num>调整副本数kubectl scale deploy nginx --replicas=3扩缩容时通过ReplicaSet控制Pod数量,确保服务不中断
kubectl rollout status deployment <name>查看滚动更新状态kubectl rollout status deploy nginx显示更新进度(如"3 out of 3 new replicas have been updated")
kubectl rollout history deployment <name>查看更新历史kubectl rollout history deploy nginx每个版本(revision)对应一次配置变更,包含变更时间、原因
kubectl rollout undo deployment <name> --to-revision=<num>回滚到指定版本kubectl rollout undo deploy nginx --to-revision=2回滚会创建新ReplicaSet,逐步替换旧Pod,确保零 downtime

3.2 自动伸缩(HPA)

Horizontal Pod Autoscaler(HPA)可根据CPU使用率、自定义指标自动调整副本数。

命令作用示例配置说明
kubectl autoscale deployment <name> --min=<min> --max=<max> --cpu-percent=<percent>创建HPAkubectl autoscale deploy nginx --min=2 --max=5 --cpu-percent=80当平均CPU使用率超过80%时扩容(最多5副本),低于阈值时缩容(最少2副本)
kubectl get hpa查看HPA状态kubectl get hpa显示当前副本数、目标指标(如targets: 50%/80%)、最小/最大副本数

注意:HPA依赖metrics-server收集指标,需先部署(kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml)。

3.3 StatefulSet与DaemonSet

  • StatefulSet:用于部署有状态应用(如数据库、分布式系统),提供稳定的网络标识(固定域名)和存储(PVC模板)。

    kubectl get statefulsets  # 查看StatefulSet(简写sts)
    kubectl scale statefulset <name> --replicas=<num>  # 调整副本数(需确保存储可用)
    
  • DaemonSet:确保所有(或指定)节点运行相同的Pod(如日志收集器、监控代理、网络插件)。

    kubectl get daemonsets  # 查看DaemonSet(简写ds)
    kubectl describe ds <name>  # 查看调度节点选择器(如通过标签限制仅在特定节点运行)
    

四、故障排查命令

4.1 Pod诊断

Pod是K8s的最小部署单元,其故障排查是日常运维的重点。

命令作用示例排查场景
kubectl logs <pod-name> -f查看Pod日志(实时跟踪)kubectl logs nginx-7f9f6f5c9d-2xqkf -f定位应用运行时错误(如日志中的Exception)
kubectl logs <pod-name> -c <container-name>查看指定容器的日志kubectl logs nginx-pod -c sidecar -f多容器Pod(如主应用+sidecar)需指定容器,否则默认第一个容器
kubectl exec -it <pod-name> -- <command>进入容器执行命令kubectl exec -it nginx-pod -- /bin/bash检查容器内文件、网络(如pingcurl)、环境变量
kubectl cp <pod-name>:<path> <local-path>从Pod拷贝文件到本地kubectl cp nginx-pod:/etc/nginx/nginx.conf ./nginx.conf提取配置文件或日志文件离线分析
kubectl cp <local-path> <pod-name>:<path>从本地拷贝文件到Podkubectl cp ./index.html nginx-pod:/usr/share/nginx/html/临时替换应用文件(如调试静态页面)
kubectl get events -n <namespace> --sort-by=.metadata.creationTimestamp查看命名空间事件kubectl get events -n dev --sort-by=.metadata.creationTimestamp定位Pod启动失败原因(如"FailedScheduling"调度失败、"ErrImagePull"镜像拉取失败)

4.2 网络诊断

网络问题是K8s中最常见的故障类型,需检查Service、网络策略、DNS等。

命令作用示例排查逻辑
kubectl get svc <name> -o wide查看Service网络信息kubectl get svc nginx-svc -o wide确认ClusterIP、端口映射是否正确(如80:30080/TCP表示集群内80端口映射到节点30080端口)
kubectl describe svc <name>查看Service关联的Endpointskubectl describe svc nginx-svcEndpoints为空→检查Pod标签是否与Service的selector匹配
kubectl port-forward <pod-name> <local-port>:<pod-port>本地端口转发kubectl port-forward nginx-pod 8080:80绕过Service直接访问Pod,验证Pod本身是否正常(排除Service配置问题)
kubectl run -it --rm --image=busybox:1.35 dns-test -- nslookup <service-name>测试DNS解析kubectl run -it --rm --image=busybox:1.35 dns-test -- nslookup nginx-svc解析失败→检查CoreDNS是否正常(`kubectl get po -n kube-system
kubectl get networkpolicies -n <namespace>查看网络策略kubectl get networkpolicies -n dev若Pod间无法通信,检查是否有网络策略(NetworkPolicy)阻止流量

4.3 存储诊断

存储相关故障(如PVC绑定失败、挂载异常)需检查PV、PVC、存储类等。

命令作用示例排查方向
kubectl get pv查看持久卷(PV)kubectl get pv关注PV的STATUS(Available/ Bound/ Released),若PVC未绑定,检查是否有匹配的PV(容量、访问模式、存储类一致)
kubectl get pvc -n <namespace>查看持久卷声明(PVC)kubectl get pvc -n devPending状态→PV不足或不匹配;Bound状态→正常绑定
kubectl describe pvc <name> -n <namespace>查看PVC绑定失败原因kubectl describe pvc nginx-pvc -n dev事件中可能提示"no persistent volumes available for this claim and no storage class is set"(未指定存储类且无可用PV)
kubectl get storageclasses查看存储类(StorageClass)kubectl get sc存储类用于动态创建PV,若PVC指定了存储类,需确保该存储类存在且可用

五、高级操作命令

5.1 标签与注解管理

标签(Label)用于资源分组和选择(如Service关联Pod),注解(Annotation)用于存储非标识性元数据(如构建信息、运维说明)。

命令作用示例规范说明
kubectl label <resource> <name> <key>=<value>为资源添加标签kubectl label pod nginx-pod env=dev标签键需符合[a-z0-9A-Z_-],长度≤63字符
kubectl label <resource> <name> <key>=<new-value> --overwrite更新标签kubectl label pod nginx-pod env=prod --overwrite必须加--overwrite,否则无法更新已有标签
kubectl label <resource> <name> <key>-删除标签kubectl label pod nginx-pod env-标签键后加-表示删除
kubectl annotate <resource> <name> <key>=<value>为资源添加注解kubectl annotate pod nginx-pod build-id=12345注解可存储长文本(如JSON),不用于资源选择,仅用于描述

5.2 配置与密钥管理(ConfigMap/Secret)

  • ConfigMap:存储非敏感配置(如应用参数),通过环境变量或文件挂载注入Pod。

    kubectl create configmap nginx-conf --from-file=nginx.conf  # 从文件创建
    kubectl get configmaps  # 查看ConfigMap(简写cm)
    kubectl describe cm nginx-conf  # 查看配置内容
    
  • Secret:存储敏感信息(如密码、证书),默认base64编码(非加密,需配合RBAC或外部密钥管理)。

    kubectl create secret generic db-creds --from-literal=username=admin --from-literal=password=123456  # 创建密钥
    kubectl get secrets  # 查看Secret(简写secret)
    kubectl describe secret db-creds  # 查看密钥结构(值隐藏)
    kubectl get secret db-creds -o jsonpath='{.data.password}' | base64 -d  # 解码查看值(谨慎操作)
    

5.3 权限管理(RBAC)

基于角色的访问控制(RBAC)用于管理集群资源的访问权限,核心是"谁(Subject)能对什么资源(Resource)执行什么操作(Verb)"。

命令作用示例权限范围
kubectl get roles -n <namespace>查看命名空间内的角色kubectl get roles -n dev角色(Role)仅作用于所在命名空间
kubectl get rolebindings -n <namespace>查看角色绑定kubectl get rolebindings -n dev角色绑定(RoleBinding)将角色与用户(如ServiceAccount)关联
kubectl get clusterroles查看集群级角色kubectl get clusterroles集群角色(ClusterRole)作用于全集群
kubectl get clusterrolebindings查看集群角色绑定kubectl get clusterrolebindings绑定集群角色与用户
kubectl auth can-i <action> <resource> --as=<user>验证用户权限kubectl auth can-i get pods --as=dev-user快速确认权限配置是否生效(如返回yes/no

5.4 作业与定时任务

  • Job:用于执行一次性任务(如数据备份、初始化),确保任务成功完成(即使节点故障)。

    kubectl get jobs  # 查看Job
    kubectl describe job <name>  # 查看任务执行状态(如成功的Pod数、失败原因)
    kubectl delete job <name>  # 删除Job(会保留已完成的Pod,需手动删除)
    
  • CronJob:用于执行定时任务(如日志清理、周期性报表生成),基于Cron表达式调度。

    kubectl get cronjobs  # 查看CronJob(简写cj)
    kubectl describe cronjob <name>  # 查看调度规则(如`Schedule: 0 3 * * *`表示每天凌晨3点执行)
    kubectl create cronjob cleanup --image=busybox --schedule="0 3 * * *" -- rm -rf /tmp/*  # 创建定时任务
    

六、易错点与最佳实践

  1. 命令缩写与复数形式
    资源简写需用复数(如kubectl get po正确,kubectl get pod错误),常见简写:pod→podeployment→deployservice→svcnode→nonamespace→ns

  2. 命名空间上下文
    未指定-n时默认操作default命名空间,切换默认命名空间后(kubectl config set-context),所有命令默认在该命名空间执行,避免跨命名空间误操作。

  3. create vs apply的选择

    • 临时测试用create(如kubectl create deployment test --image=nginx);
    • 生产环境用apply(配合Git管理配置文件,支持版本控制和增量更新)。
  4. 强制删除的风险
    --grace-period=0 --force会跳过K8s的优雅终止流程,可能导致数据丢失(如数据库未完成事务提交),仅用于Pod长时间卡在Terminating状态的极端场景。

  5. 日志查看技巧

    • 多容器Pod必须用-c指定容器(如kubectl logs <pod> -c <container>);
    • 实时日志加-f,配合--tail=<num>查看最近N行(如kubectl logs <pod> -f --tail=100);
    • 查看历史日志可用--previous(如kubectl logs <pod> --previous查看崩溃容器的日志)。
  6. 资源依赖关系
    部署时需注意资源依赖顺序:先创建ConfigMap/Secret,再创建Deployment(避免Pod启动时配置文件不存在);先创建Deployment,再创建Service(确保Endpoints能关联Pod)。

  7. HPA不生效排查

    • 检查metrics-server是否运行(kubectl get po -n kube-system | grep metrics-server);
    • 确保Pod设置了资源请求(resources.requests.cpu),HPA基于请求值计算使用率;
    • 查看HPA事件(kubectl describe hpa <name>),可能提示"missing request for cpu"(未设置CPU请求)。

总结

Kubernetes命令的本质是与声明式API交互的工具,掌握命令的同时需理解其背后的资源模型(如控制器模式、标签选择器、命名空间隔离)。高频命令(getdescribeapply)是日常运维的基石,而故障排查命令(logsexecevents)则是定位问题的关键。

建议通过实际场景练习(如部署Nginx→暴露Service→配置HPA→模拟故障排查)加深理解,并善用kubectl --help和官方 cheatsheet 快速查询。随着实践深入,命令会逐渐内化为运维直觉,助力高效管理K8s集群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93549.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析StatefulSet与K8s服务管理

目录 一、Statefulset控制器&#xff1a;概念、原理解读 有状态服务 无状态服务 StatefulSet部分组成 Headless service 二、Statefulset资源清单文件编写技巧 三、Statefulset使用案例&#xff1a;部署web站点 四、Statefulset管理pod&#xff1a;扩容、缩容、更新 St…

GaussDB常用术语缩写及释义

序号 术语全称释义1ACLAccess Control List访问控制列表&#xff0c;被授权访问某一资源的实体及其访问权限的列表。2APIApplication Programming Interface应用程序接口&#xff0c;一些预先定义的接口&#xff08;如函数&#xff0c;http接口&#xff09;或指软件系统不同组…

工业一体机5G通讯IC/ID刷卡让MES系统管理更智能

在智能制造升级过程中&#xff0c;MES 系统作为生产执行的核心枢纽&#xff0c;其数据采集的实时性、准确性与管理安全性直接决定管理效能。传统 MES 系统常面临数据传输滞后、设备对接繁琐、权限管理粗放等问题&#xff0c;而工业一体机凭借 5G 通讯与 IC/ID 刷卡功能&#xf…

电脑开机几秒后就停止然后再循环是怎么回事

硬件问题电源问题&#xff1a;电源内部的滤波电容若出现鼓包或漏液现象&#xff0c;会导致电源供电不足&#xff0c;从而使电脑开机后自动停止并重新启动。另外&#xff0c;电源线连接不良、插座无电或电源供应器故障&#xff0c;也可能引发此问题。CPU 散热问题&#xff1a;如…

OSCP - Proving Grounds - Vanity

主要知识点Linux命令注入rsync 脚本劫持(以前tar 备份脚本劫持也是利用了类似的方法&#xff09;具体步骤nmap扫描结果&#xff0c;发现web服务开放&#xff0c;并且 rsync服务开放&#xff0c;值得研究一下Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-30 14:37 UT…

详细探讨AI在金融、医疗、教育和制造业四大领域的具体落地案例,并通过代码、流程图、Prompt示例和图表等方式展示这些应用的实际效果。

1. 引言&#xff1a;AI技术概述及其在各行业的重要性人工智能(AI)技术近年来取得了突破性进展&#xff0c;从理论研究走向了广泛的商业应用。AI的核心技术包括机器学习、深度学习、自然语言处理、计算机视觉等&#xff0c;这些技术正在深刻改变各行各业的运营模式和服务方式。在…

我的第一个开源项目:从0到1,我在GitHub写下的成长印记

文章目录每日一句正能量前言✨ 一、写在前面&#xff1a;那天我点下了 “Create Repository”&#x1f680; 二、为什么我要做这件事&#xff1f;&#x1f6e0;️ 三、CommonUtilLibrary 是什么&#xff1f;⚡ 四、第一次 Star 和第一次 Issue&#x1f9ed; 五、我从中学到了什…

数据结构(03)——线性表(顺序存储和链式存储)

Hi&#xff01;探索者们&#x1f609;&#xff0c;欢迎踏入 408 数据结构的奇妙秘境&#x1f33f;&#xff01;​ 我是 ankleless&#x1f4da;&#xff0c;和你并肩的寻宝人&#xff5e; 这是我的探险手札&#x1f5fa;️&#xff0c;里面记着链表森林的岔路陷阱&#x1f578;…

bun + vite7 的结合,孕育的 Robot Admin 【靓仔出道】(十三)

主题定制 &#x1f4d6; 阅读时间&#xff1a;7 分钟 | &#x1f3af; 等级&#xff1a;进阶 前言 Robot_Admin应用程序具有灵活的主题系统&#xff0c;支持浅色、深色和基于系统的模式&#xff0c;以及程序化的主题定制。本指南介绍了如何在开发工作中使用和扩展主题功能。 …

检测pytorch是否安装好

如果pytorch安装成功即可导入。import torch查看cuda是否可用&#xff0c;可用的话返回“ture”。print(torch.cuda.is_available())查看可用的cuda数量。print(torch.cuda.device_count())查看cuda的版本号。print(torch.version.cuda)

java八股文-(spring cloud)微服务篇-参考回答

一. 面试官&#xff1a;Spring Cloud 5大组件有哪些&#xff1f;Spring Cloud 的五大核心组件包括&#xff1a;注册中心&#xff1a;第一代使用 Eureka&#xff0c;第二代使用 Nacos。负载均衡&#xff1a;第一代使用 Ribbon&#xff0c;第二代使用 Spring Cloud LoadBalancer。…

发布npmjs组件库

一.初始化项目1.用Vite创建空项目2.安装打包与声明文件插件pnpm i -D vite-plugin-dts sass二.首先修改项目内容// src\index.ts import { type App } from vue; import oneComponent from "./components/oneComponent/index.vue"; import twoComponent from ".…

【C语言16天强化训练】从基础入门到进阶:Day 2

&#x1f525;个人主页&#xff1a;艾莉丝努力练剑 ❄专栏传送门&#xff1a;《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题、洛谷刷题、C/C基础知识知识强化补充、C/C干货分享&学习过程记录 &#x1f349;学习方向&#xff1a;C/C方向 ⭐️人…

【学习笔记】面向AI安全的26个缓解措施

一、Mitre Atlas矩阵概述 ATLAS 矩阵从左到右以列形式显示了攻击中使用的策略的进展&#xff0c;ML 技术属于上面的每种策略。& 表示从 ATT&CK 改编而来。 详见&#xff1a;ATLAS Matrix | MITRE ATLAS™ 注&#xff1a;机翻的效果不是太好&#xff0c;对照理解用吧。 …

AI出题人给出的Java后端面经(十八)(日更)

链接双端链表 前一篇&#xff1a;AI出题人给出的Java后端面经&#xff08;十七&#xff09;&#xff08;日更&#xff09; 后一篇&#xff1a;null 目录 &#x1f535; 一、Java基础&#xff08;Java 17&#xff09; 答案&#xff1a; &#x1f5c3;️ 二、持久化层&…

【音视频】瑞芯微、全志芯片在运动相机和行车记录仪产品分析

文章目录开头总结详细分析**1. 瑞芯微芯片的典型型号及特性****2. 运动相机场景的适用性****优势****劣势****3. 行车记录仪场景的适用性****优势****劣势****4. 与竞品芯片对比****5. 推荐方案选择****总结****1. 全志芯片的典型型号及特性****2. 运动相机场景的适用性****优势…

《清华级防护,了解一下?》

前言讲到渗透&#xff0c;我们不可避免会遇到有waf拦截咱们的攻击许多朋友在渗透测试中因为遇到WAF而束手无策&#xff0c;实际上所谓的BYPASS WAF实际上是去寻找位于WAF设备之后处理应用层数据包的硬件/软件的特性。利用特性构造WAF不能命中&#xff0c;但是在应用程序能够执行…

CANDB++中的CAN_DBC快速编辑方法,使用文本编辑器(如notepad++和VScode)

前言:在做工程机械CAN协议相关的软件开发与调试时&#xff0c;经常接触到DBC的使用&#xff0c;可以在CAN分析仪中加载DBC文件从而快速查看某条CAN报文或信号的含义&#xff0c;以及使用图形化的调试。而编辑DBC文件&#xff0c;正常是用CANDB来一条条添加&#xff0c;比较费时…

Tmux Xftp及Xshell的服务器使用方法

Tmux&#xff1a; Tmux是什么&#xff1a; 会话与进程&#xff1a; 命令行的典型使用方式是&#xff0c;打开一个终端窗口&#xff0c;在里面输入命令。用户与计算机的这种临时的交互&#xff0c;称为一次“会话”&#xff08;session&#xff09;。 会话的一个重要特点是&…

微服务远程调用完全透传实现:响应式与非响应式解决方案

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…