type
status
date
slug
summary
tags
category
icon
password
💡
kubectl 会默认使用 ~/.kube/config 文件访问集群。

1、命名格式

kubectl 是 Kubernetes 的命令行工具,其基本命令格式如下:
  • command:操作类型,如 getcreateapplydeletedescribe 等。
  • type:Kubernetes 资源类型(可单数/复数/缩写),如 podpodspodeploymentdeploy 等。
  • name:资源名称,如 my-podnginx-deployment 等。
  • flags:可选参数,常用的参数有:
    • 参数
      说明
      示例
      -n--namespace
      指定命名空间
      kubectl get pods -n kube-system
      -o--output
      输出格式(json/yaml/wide)
      kubectl get pod -o yaml
      -l--selector
      按标签筛选
      kubectl get pods -l app=nginx
      -A--all-namespaces
      所有命名空间
      kubectl get pods -A
      --watch
      实时监控
      kubectl get pods --watch
      --dry-run=client
      模拟执行(不实际创建)
      kubectl create deploy nginx --dry-run=client -o yaml
另外使用 kubectl 命令的时候,资源类型(如 Pod、Service、Deployment 等)可以使用它们的缩写名称,例如
可以使用以下命令查看 Kubernetes 支持的所有资源类型及其缩写:
常用资源缩写如下:
资源类型(全称)
缩写
pods
po
services
svc
deployments
deploy
replicasets
rs
daemonsets
ds
statefulsets
sts
configmaps
cm
secrets
secret(无标准缩写,通常直接使用全称)
persistentvolumes
pv
persistentvolumeclaims
pvc
namespaces
ns
nodes
no
ingresses
ing
horizontalpodautoscalers
hpa
cronjobs
cj
jobs
job(无标准缩写,通常直接使用全称)
customresourcedefinitions
crd
serviceaccounts
sa
roles
role(无标准缩写)
clusterroles
clusterrole(无标准缩写)
networkpolicies
netpol

2、基础命令

集群信息

资源查看

3、资源管理

创建资源

删除资源

编辑资源

查看资源描述

查看日志

运行时交互

扩缩容

4、高级命令

暴露服务

kubectl expose 可以用于将资源(如 Deployment、Pod、ReplicaSet 或 Service)暴露为新的 Service。创建的 Service 会自动使用与被暴露资源相同的标签选择器,默认服务类型是 ClusterIP。
基本语法:
选项
说明
--port
服务暴露的端口
--target-port
后端容器的端口(默认为 --port 值)
--protocol
协议类型(TCP、UDP 或 SCTP,默认为 TCP)
--name
服务名称
--type
服务类型(ClusterIP、NodePort、LoadBalancer 或 ExternalName)
--external-ip
外部IP地址
--selector
标签选择器(默等于被暴露资源的标签)
--session-affinity
会话亲和性(None 或 ClientIP)
--load-balancer-ip
LoadBalancer 类型的 IP 地址
--overrides
覆盖生成的对象的 API 字段的 JSON 字符串
使用示例

配置管理

故障排查

上下文和命名空间

YAML操作

Kubernetes系列:YAML配置文件解析和使用JFR和JMC使用教程—应用性能分析神器
Loading...