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 集群。

相关推荐
名字还没想好☜14 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes
spider_xcxc17 小时前
Helm 部署 K8s 集群完整笔记
java·开发语言·kubernetes
spider_xcxc1 天前
基于项目实际 k8s/ 目录 YAML 文件的完整学习指南。
云原生·容器·kubernetes
张忠琳1 天前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Elastic 中国社区官方博客1 天前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
前端Baymax2 天前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc2 天前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
阿标在干嘛2 天前
从物理机到K8s:政策快报平台的容器化部署实践
云原生·容器·kubernetes
张青贤2 天前
Centos7离线部署K8s集群V1.28.8
云原生·容器·kubernetes·containerd·kubekey·离线部署
上海安当技术2 天前
K8S 里的密码去哪了?凭据管理系统在容器环境的四种集成实践
云原生·容器·kubernetes