根据文档:

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#run
kubectl run NAME --image=image
将运行图像。

一些问题:

  • 我认为这是一个容器而不是容器?
  • 我假设NAME与广告连播相关联?
  • 最佳答案

    雪灾,您是对的。这基本上与docker run命令相同。因此,使用kubectl run NAME --image=image可以从名为NAME的docker镜像中准确运行一个名为imagepod
    您可以使用kubectl describe pod NAME检查确切发生了什么
    这是kubectl run nginx --image=nginx的示例

    Events:
      Type     Reason            Age                From                    Message
      ----     ------            ----               ----                    -------
      Warning  FailedScheduling  89s (x2 over 89s)  default-scheduler       0/2 nodes are available: 2 node(s) had taints that the pod didn't tolerate.
      Normal   Scheduled         19s                default-scheduler       Successfully assigned default/nginx-7cdbd8cdc9-glkxq to centos-master
      Normal   Pulling           18s                kubelet, centos-master  pulling image "nginx"
      Normal   Pulled            14s                kubelet, centos-master  Successfully pulled image "nginx"
      Normal   Created           14s                kubelet, centos-master  Created container
      Normal   Started           14s                kubelet, centos-master  Started container
    

    因此,在kubectl run之后发生了什么:
  • Scheduler试图选择一个节点来启动容器(最初是
    由于污点而失败,因为我的节点处于NotReady状态(不是
    目前很重要,但您可以阅读更多有关它的信息。here)
  • Scheduler已成功将容器分配给节点(centos-master)。
  • kubelet检查docker镜像是否可用,如果存在,则将其拉出
    必要。
  • 然后创建并启动容器。

  • * here,您可以找到一篇有趣的文章,以更详细的方式对此进行解释。

    该名称与pod关联,因为Pod是Kubernetes中最小的工作单元。每个 pods 可以包含一个或多个容器。 Pod中的所有容器都具有相同的IP地址和端口空间,可以访问托管该Pod的Node上的共享存储。

    基本上kubectl命令行工具支持几种不同的create and manage Kubernetes对象的方式:
  • 命令式命令
  • 命令性对象配置
  • 声明性对象配置

  • *您可以在StackOverflow answer或Medium article中找到有关它们的更多信息。
    run命令是命令式方法的一个示例。是最简单的开始

    关于kubernetes - kubectl运行名称-澄清,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54109560/

    10-16 11:40