kubenets基础-kubectl常用命令行

kubectl 是 Kubernetes 的官方命令行工具,用于与 Kubernetes 集群进行交互。kubectl 提供了大量的命令来帮助你管理 Kubernetes 集群中的各种资源。以下是对 kubectl 常见命令及其使用的详细介绍:

常见的 kubectl 命令

1. kubectl get

用于获取集群中的资源列表。

  • 基本用法

    sh 复制代码
    kubectl get <RESOURCE>
  • 示例

    sh 复制代码
    kubectl get pods  # 获取所有的 Pod
    kubectl get svc   # 获取所有的 Service
2. kubectl describe

用于显示指定资源的详细信息。

  • 基本用法

    sh 复制代码
    kubectl describe <RESOURCE> <NAME>
  • 示例

    sh 复制代码
    kubectl describe pod my-pod
    kubectl describe svc my-service
3. kubectl apply

用于创建或更新资源。

  • 基本用法

    sh 复制代码
    kubectl apply -f <FILENAME>
  • 示例

    sh 复制代码
    kubectl apply -f deployment.yaml
4. kubectl create

用于创建新资源。

  • 基本用法

    sh 复制代码
    kubectl create <RESOURCE> <NAME>
  • 示例

    sh 复制代码
    kubectl create deployment nginx-deployment --image=nginx
5. kubectl delete

用于删除资源。

  • 基本用法

    sh 复制代码
    kubectl delete <RESOURCE> <NAME>
  • 示例

    sh 复制代码
    kubectl delete deployment nginx-deployment
6. kubectl edit

用于编辑集群中的资源。

  • 基本用法

    sh 复制代码
    kubectl edit <RESOURCE> <NAME>
  • 示例

    sh 复制代码
    kubectl edit deployment nginx-deployment
7. kubectl logs

用于获取 Pod 的日志。

  • 基本用法

    sh 复制代码
    kubectl logs <POD_NAME> [-c <CONTAINER_NAME>] [--follow]
  • 示例

    sh 复制代码
    kubectl logs my-pod
    kubectl logs my-pod -c my-container --follow
8. kubectl exec

用于执行 Pod 中的命令。

  • 基本用法

    sh 复制代码
    kubectl exec <POD_NAME> -- <COMMAND>
  • 示例

    sh 复制代码
    kubectl exec my-pod -- echo "Hello World"
9. kubectl port-forward

用于将本地端口转发到 Pod 中的服务端口。

  • 基本用法

    sh 复制代码
    kubectl port-forward <POD_NAME> <LOCAL_PORT>:<CONTAINER_PORT>
  • 示例

    sh 复制代码
    kubectl port-forward my-pod 8080:80
10. kubectl top

用于显示集群或 Pod 的资源使用情况。

  • 基本用法

    sh 复制代码
    kubectl top <RESOURCE>
  • 示例

    sh 复制代码
    kubectl top node
    kubectl top pod
11. kubectl config

用于管理和切换集群配置。

  • 基本用法

    sh 复制代码
    kubectl config <COMMAND>
  • 示例

    sh 复制代码
    kubectl config view
    kubectl config use-context my-context
12. kubectl rollout

用于管理滚动更新。

  • 基本用法

    sh 复制代码
    kubectl rollout <ACTION> <RESOURCE> <NAME>
  • 示例

    sh 复制代码
    kubectl rollout status deployment nginx-deployment
    kubectl rollout undo deployment nginx-deployment

其他常用命令

  • kubectl api-resources:列出集群中可用的 API 资源。
  • kubectl api-versions:列出集群支持的 API 版本。
  • kubectl cluster-info:显示集群的基本信息。
  • kubectl plugin:管理插件。
  • kubectl auth can-i:检查用户是否有权限执行特定操作。
  • kubectl plugin :管理 kubectl 插件。
  • kubectl version :显示 kubectl 的版本信息。

示例 YAML 文件

假设你有一个 YAML 文件 deployment.yaml,内容如下:

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

你可以使用 kubectl apply 来应用这个配置:

sh 复制代码
kubectl apply -f deployment.yaml

总结

kubectl 是 Kubernetes 的强大工具,可以帮助你管理集群中的资源。掌握 kubectl 的基本命令对于有效地管理和监控 Kubernetes 集群至关重要。通过实践和探索 kubectl 的各种功能,你可以更好地理解和控制你的 Kubernetes 集群。

相关推荐
猫吃了源码10 小时前
CentOS7使用Kubeadm安装部署K8s(Kubernetes)最新稳定版本1.26.x
云原生·容器·kubernetes
张忠琳11 小时前
【k3s】AutoK3s v0.9.3 —— Part 7 辅助模块超深度逐行分析
云原生·容器·kubernetes·k3s·autok3s
张忠琳20 小时前
【k3s】AutoK3s v0.9.3 Part 1 入口与 CLI 命令模块 — 超深度逐行分析之三
云原生·容器·kubernetes·k3s·autok3s
RobinDevNotes1 天前
K8s+Ray+vLLM打穿大模型全生命周期(有实践步骤)
人工智能·云原生·容器·kubernetes·生活·vllm
AR_xsy1 天前
k8s随笔-cordon排水
云原生·容器·kubernetes
风曦Kisaki1 天前
# Kubernetes(K8s)笔记Day17:使用 EFK 收集和过滤 K8s 日志信息
linux·云原生·容器·kubernetes
要开心吖ZSH1 天前
测试环境 K8s 502 故障复盘:被 ClusterIP 表象误导,最终定位 kube-proxy 规则缺失
云原生·容器·kubernetes·k8s·502 bad gateway·kube-proxy
AAA@峥2 天前
K8s 流量入口管理|Ingress 核心原理 + ingress-nginx 部署 + 生产实战案例合集
nginx·容器·kubernetes
GlueNa2SiO32 天前
10-Docker生产环境部署与K8s入门
笔记·学习·docker·容器·kubernetes
Kismet_nvi2 天前
《Kubernetes 网络进阶、调度策略与自动扩缩容实战精要》
网络·容器·kubernetes