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

相关推荐
无言听风雨丶11 小时前
Linux 容器本质探秘:Cgroup 与 Namespace 深度解析与实战
linux·运维·服务器·kubernetes
无言听风雨丶14 小时前
Kubernetes GitOps 持续交付实战:用 Argo CD 让 Git 成为集群事实源
git·elasticsearch·kubernetes
无言听风雨丶1 天前
Kubernetes 控制平面深度剖析:从 kubectl apply 到 etcd 写入的全链路
平面·kubernetes·etcd
openFuyao1 天前
openFuyao x 复旦大学软件工程实验室 Panel 回顾:Agentic时代,集群调度技术体系将如何演进?
kubernetes·openfuyao
螺蛳粉 螺蛳粉1 天前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
相思难忘成疾1 天前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
weirong1 天前
给 K8s 加一个自动值班员:分级故障自愈引擎
kubernetes
云和数据.ChenGuang1 天前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
weirong1 天前
为什么 HPA 会震荡?手写一个带冷却窗口的伸缩决策引擎
kubernetes
-星空下无敌1 天前
Windows Docker K8s 安装部署Naocs ,SpringBoot 3.x 4.x 整合Naocs 版本兼容 配置中心、服务注册与发现
windows·docker·nacos·kubernetes·springboot·alibaba