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

相关推荐
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
阿里云云原生4 天前
Kubernetes 官方再出公告,强调立即迁移 Ingress NGINX
kubernetes
至此流年莫相忘4 天前
Kubernetes实战篇之配置与存储
云原生·容器·kubernetes
至此流年莫相忘4 天前
Kubernetes实战篇之服务发现
容器·kubernetes·服务发现
only_Klein4 天前
Kubernetes 版本升级
容器·kubernetes·upgrade
sanyii3131314 天前
k8s核心资源Pod-主容器之存活性探测
云原生·容器·kubernetes
EverydayJoy^v^5 天前
Kubernetes 知识点(1)——基础依赖
云原生·容器·kubernetes
Tummer83635 天前
从 Docker 到 Kubernetes:容器编排的工程化实践指南
docker·容器·kubernetes
认真的薛薛5 天前
13.k8s中Prometheus监控集群及其服务,endpoint暴露服务,es采集k8s日志
elasticsearch·kubernetes·prometheus
肖祥5 天前
安装Sealos(新版k8s v1.33.6)
kubernetes