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

相关推荐
2201_7611990412 小时前
k8s4部署
云原生·容器·kubernetes
小柏ぁ12 小时前
calico/node is not ready: BIRD is not ready: BGP not established with xxx
运维·docker·kubernetes
三劫散仙13 小时前
kubernetes jenkins pipeline优化拉取大仓库性能指定分支+深度
容器·kubernetes·jenkins
西京刀客13 小时前
k8s热更新-subPath 不支持热更新
云原生·容器·kubernetes·configmap·subpath
weixin_4349362814 小时前
k8S 命令
linux·容器·kubernetes
nuczzz16 小时前
GPU虚拟化
docker·kubernetes·k8s·gpu·nvidia
Johny_Zhao17 小时前
2025年6月Docker镜像加速失效终极解决方案
linux·网络·网络安全·docker·信息安全·kubernetes·云计算·containerd·yum源·系统运维
藥瓿亭18 小时前
K8S认证|CKS题库+答案| 7. Dockerfile 检测
运维·ubuntu·docker·云原生·容器·kubernetes·cks
有个傻瓜1 天前
PHP语言核心技术全景解析
开发语言·kubernetes·php
幻灭行度1 天前
CKA考试知识点分享(2)---ingress
kubernetes