Kubernetes常用命令整理

`kubelet`、`kubectl` 和 `kubeadm` 是 Kubernetes 中的三个不同组件,各自具有不同的作用和功能:

1. `kubelet`:

  • `kubelet` 是运行在每个节点上的主要组件之一。它负责管理节点上的容器和 Pod。具体作用包括:
  • - 与控制平面通信,接收来自 API Server 的指令,以及将节点上的状态报告给控制平面。
  • - 监控分配给节点的 Pod,并确保它们按照所定义的规范运行。
  • - 拉取容器镜像并启动容器。
  • - 挂载和管理容器的卷和数据卷。
  • - 处理节点上的资源限制和容器的健康检查。

2. `kubectl`:

  • `kubectl` 是 Kubernetes 的命令行工具,用于与 Kubernetes 集群进行交互和管理。它允许用户执行各种操作,包括:
  • - 创建、管理和删除各种 Kubernetes 资源,如 Pod、Deployment、Service 等。
  • - 查看集群状态和资源信息。
  • - 执行命令和操作,如在 Pod 中执行命令、查看日志等。
  • - 调试和故障排除,如描述资源、查看事件等。

3. `kubeadm`:

  • `kubeadm` 是 Kubernetes 的引导工具,用于在新的集群中初始化和设置主控节点(Master Node)。它的主要功能包括:
  • - 初始化主控节点,并生成所需的证书和密钥。
  • - 加入其他节点到集群中。
  • - 设置所需的网络插件和容器运行时(如CRI-O、Docker)。
  • - 提供了一组命令行工具,以便用户管理和维护集群的各个方面。

以下是一些使用 kubectl的具体案例和示例命令:

  创建和管理资源

    1、创建一个pod

      kubectl create pod mypod --image=nginx

    2、使用配置文件创建或更新一个Deployment

      kubectl apply -f deployment.yaml

    3、获取所有Pod的列表

      kubectl get pods

    4、删除一个Service:

      kubectl delete service myservice

  资源管理

    1、调整Deployment的副本数为3:

      kubectl scale deployment mydeployment --replicas=3

    2、暴露一个Deployment的服务给外部访问:

      kubectl expose deployment mydeployment --port=80 --target-port=8080

    3、为一个Pod添加标签

      kubectl label pod mypod app=backend

    4、为一个Deployment添加注释:

      kubectl annotate deployment mydeployment description="Production deployment

  集群信息

    1、查看集群的信息:

      kubectl cluster-info

    2、获取所有节点的列表

      kubectl get nodes

    3、获取特定命名空间的Pod列表

      kubectl get pods -n mynamespace

    4、获取是有命名空间的Pod列表

      kubectl get pods --all-namespaces

  调试和故障排

    1、查看Pod的 

      kubectl logs mypod

    2、在Pod中执行一个命令

      kubectl exec mypod -- ls /app

    3、查看Pod的详细信息:

      kubectl describe pod mypod

    4、查看Service的详细信

      kubectl describe service myservice

    5、查看节点的详细信

      kubectl describe node mynode

 
 
 

 

posted @ 2023-06-24 10:49  美好生活我心往之  阅读(163)  评论(0编辑  收藏  举报