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

K8s是常用命令和解释

K8s高频命令

  1. 获取资源信息,如获取 Pod、Service、Deployment等资源状态信息
    kubectl get
    
  2. 创建资源如创建Pod、Service、Deployment等资源
    kubectl create
    
  3. 删除资源,如删除Pod、Service、Deployment等资源
    kubectl delete
  4. 应用配置文件,如引用Deployment的配置文件如,test.yml
    kubectl apply
  5. 查看资源详细的信息,如查看Pod、Service、Deployment等资源的详细信息和状态
    kubectl describe
  6. 在容器内部执行,如Pod内部执行命令或范文容器内部的终端
    kubectl exec
    
  7. 将集群内的服务端转发到本地,用于 本地访问集群内的服务
    kubectl port-forward
  8. 查看Pod的日志信息,如查看容器标准输出和错误标准输出
    kubectl logs
     
  9. 调整资源的副本数,如调整Deployment的副本数
    kubectl scale
  10. 控制应用的滚动更新,如进行版本升级或回滚
    kubectl rollout
  11. 获取Pod的信息时,常常忘记加s,导致无法获取到Pod的状态信息
    kubectl logs
    
  12. 调整资源的副本数,如调整Deployment的副本数
    kubectl scale
  13. 控制应用的滚动更新,如进行版本升级或回滚
    kubectl rollout

具体实现

## kubectl get pods -o wide
-o output
用于指定输出格式,如yaml,json,wide,name等。

## kubectl get pods -l app-myapp
-l --selector
根据标签选择器来过滤结果

## kubectl apply -f my-resource.yaml
-f --filename
从文件中加载资源清单。可以指定多个文件。

## kubectl apply -k ./path/to/kustomization
-k --kustomize
从Kustomization目录加载资源。

## kubectl --context dev get pods
--context
指定要使用的上下文

## kubectl --as admin get pods
--as
指定要使用的用户

## kubectl --as-group=system:developers get pods
--as-group
指定要使用的用户组。

## kubectl --cluster=cluster1 get pods
--cluster
指定要使用的集群

## kubectl --server=https://api.example.com get pods
--server
指定API服务器的地址

## kubectl --certificate-authority=/path/to/ca.crt get pods
--certficate-authority
指定CA证书的路径

## kubectl --client-certificate=/path/to/client.crt get pods
--client-certificate
指定客户端证书

## kubectl --client-key=/path/to/client.key get pods
--client-key
指定客户端私钥的路径。

## kubectl --insecure-skip-tls-verify=true get pods
--insecure-skip-tls-verfy
跳过TLS证书验证

## kubectl get pods --timeout=30s
--timeout
指定API请求的超时时间

## kubectl get pods --request-timeout=30s
--request-timeout
指定API请求的超时时间(与 --timeout 类似)

## kubectl get pods --watch
--watch
观察资源的变化

## kubectl get pods --watch-only
--watch
观察资源的变化

## kubectl get pods --watch-only
--watch-only
仅观察资源的变化而不显示初始状态

## kubectl get pods --all-namespaces
--all-namespaces
操作所有命名空间

## kubectl delete pods --all
--all
对于某些命令,可以悬着所有资源

## kubectl get pods --field-serlector=status.phase=Runimg
--field-selector
根据字段选择器来过滤结果

## kubectl --kubeconfig=/path/to/kubeconfig get pods
--kubecofnig
指定kubeconfig文件的位置

具体事务分析

K8s的pod健康检查机制

K8s的Pod健康检查机制用于确保容器在运行时保持健康状态。如果一个容器不健康,K8s可以拆去措施来恢复服务,例如重启容器或嗲调度新的Pod。K8s提供了两种主要类型的健康检查:Livensess Probe 和 Readiness Probe,以及减少使用的Statup Probe

Liveness Probe(存活探针)

目标:确定容器是否正在运行。如果存活探针失败,Kubernetes将重启该容器。

目的:防止容器陷入死锁或无响应状态,确保应用始终处于工作状态。

使用场景:存活探针适合那些可能进入非响应状态但仍保持运行的应用程序。例如,Web内存可能会又内存泄露或其他问题变得不能响应HTTP请求,这时存货探针可以帮助检查这种情况并触发自动修复措施。

配置:

livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
    httpHeaders:
    - name: X-Custom-Header
      value: Awesome
  initialDelaySeconds: 3
  periodSeconds: 10

就绪探针(Readiness Probes)

目标:判断容器是否准备好接收流量

目的:避免将流浪发送到尚未准备好的Pod上,知道它完全启动并可以处理请求。

使用场景:刚初始化化服务,比如数据库连接池、缓存预热等。在写在服务真正准备好之前,不应该接收任何实际流量。

配置:

readinessProbe:
  exec:
    command:
    - cat
    - /tmp/healthy
  initialDelaySeconds: 5
  periodSeconds: 10

启动探针(Startup Probes)

目标:用于确认容器中的应用以及启动完毕。

目的:对于启动时间较长的应用,提供一个额外的宽限期,在此期间不会执行存活或就绪检查,以允许应用完成其初始化过程。

使用场景:是为了解决某些服务在启动阶段需要更多时间的问题,如大型应用部署或复杂的数据加载任务。

配置:

startupProbe:
  tcpSocket:
    port: 9999
  failureThreshold: 30
  periodSeconds: 10

httpGet、exec 和 tcpSocket 分别代表了三种不同的检查方法。initalDelaySeconds指定了首次健康检查前等待的时间;periodSeconds 是健康检查的频率;其他参数则更具业务需求镜像调整。请注意,所有时间单位均为秒

相关文章:

  • 【Hotspot虚拟机创建对象的过程是什么样的?】
  • Redis的分布式锁
  • [ABC400F] Happy Birthday! 3 题解
  • Web渗透之XSS注入
  • LeetCode 255 超通俗讲解:Swift 验证前序是否 BST
  • 【经济保护主义叙事】
  • QQ风格客服聊天窗口
  • 英国股票实时API 对比:iTick的差异化优势解析
  • 机器学习(3)——决策树
  • AI证件照生成API:快速创建证件照
  • 游戏引擎学习第220天
  • ssh 免密登录服务器(vscode +ssh 免密登录)
  • 吃透LangChain,我的理解像Java的Spring
  • 2025最新系统 Git 教程(七)(完结)
  • 零基础上手Python数据分析 (12):DataFrame 数据清洗与预处理 (下) - 类型转换、格式化、文本与日期处理
  • 从0到1构建企业级消息系统服务体系(一):产品架构视角下的高并发设计与动态响应能力建设
  • 猫咪如厕检测与分类识别系统系列【三】融合yolov11目标检测
  • cdp-(Chrome DevTools Protocol) browserscan检测原理逆向分析
  • AVUE 搜索 和 表单 标签分开对齐方式
  • Python与R语言用XGBOOST、NLTK、LASSO、决策树、聚类分析电商平台评论信息数据集
  • 哪个cms做企业网站好/新闻最新消息10条
  • 做网站要学的知识/seo优化快速排名
  • 河北建筑工程网/上海最大的seo公司
  • 免费项目管理软件app/太原seo全网营销
  • 专业vi设计哪家好/seo优化是什么职业
  • 5大动态网站资料/网络推广怎么做才有效