Kubernetes kubectl运行名称-澄清

Kubernetes kubectl运行名称-澄清,kubernetes,kubectl,Kubernetes,Kubectl,根据文件: kubectl运行名称--image=image 将运行一个映像 一些问题: 我想这是一个吊舱而不是一个容器 我猜这个名字和吊舱有关 kubectl run NAME--image=image命令将使用名为image的映像为给定映像创建一个名为NAME的pod(通过为给定映像创建相应的部署和复制集)。在Docker中将此处的name视为标记名 然后,当您运行kubectl get pods时,您将在列表中看到一个名为name的pod 使用kubectl get all将获取默认名

根据文件:

kubectl运行名称--image=image

将运行一个映像

一些问题:

  • 我想这是一个吊舱而不是一个容器

  • 我猜这个名字和吊舱有关


kubectl run NAME--image=image命令将使用名为image的映像为给定映像创建一个名为NAME的pod(通过为给定映像创建相应的部署和复制集)。在Docker中将此处的name视为标记名

然后,当您运行
kubectl get pods
时,您将在列表中看到一个名为name的pod

使用
kubectl get all
将获取默认名称空间中的所有资源(还将列出部署和复制集对象)

例如:


$ kubectl run nginx --image=nginx

$ kubectl get all
NAME                         READY   STATUS              RESTARTS   AGE
pod/nginx-6db489d4b7-cs748   0/1     ContainerCreating   0          6s

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   31d

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   0/1     1            0           6s

NAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-6db489d4b7   1         1         0       6s

kubectl run NAME--image=image
命令将使用名为image的映像为给定映像创建一个名为NAME的pod(通过为给定映像创建相应的部署和复制集)。在Docker中将此处的name视为标记名

然后,当您运行
kubectl get pods
时,您将在列表中看到一个名为name的pod

使用
kubectl get all
将获取默认名称空间中的所有资源(还将列出部署和复制集对象)

例如:


$ kubectl run nginx --image=nginx

$ kubectl get all
NAME                         READY   STATUS              RESTARTS   AGE
pod/nginx-6db489d4b7-cs748   0/1     ContainerCreating   0          6s

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   31d

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   0/1     1            0           6s

NAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-6db489d4b7   1         1         0       6s

雪崩,你说得对。这与docker运行命令基本相同。因此,使用
kubectl run NAME--image=image
将从docker image运行名为
image
的名为
NAME
的文件。 您可以使用
kubectl descripe pod NAME
下面是一个
kubectl运行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运行后发生的情况是:

  • 调度程序正在尝试选择一个节点来启动容器(首先 它由于污染而失败,因为我的节点处于NotReady(未就绪)状态 目前很重要,但您可以阅读更多)

  • 调度程序已成功将pod分配给节点(centos主节点)

  • kubelet检查docker映像是否可用,如果可用,则将其拉入 必要的

  • 然后创建并启动容器

*你可以找到一篇有趣的文章,用更详细的方式解释这一点

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

基本上,
kubectl
命令行工具支持几种不同的方式来创建Kubernetes对象:

  • 命令命令
  • 命令式对象配置
  • 声明性对象配置
*你可以在这种或这种媒介中找到更多关于它们的信息

run
命令是命令式方法的一个例子。是最简单的启动方式

[…]因为这种技术直接作用于活动对象,所以 不提供以前配置的历史记录


Snowcrash,您是对的。这与docker run命令基本相同。因此,使用
kubectl run NAME--image=image
将从docker image运行名为
image
的命名
NAME
。 您可以使用
kubectl descripe pod NAME
下面是一个
kubectl运行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运行后发生的情况是:

  • 调度程序正在尝试选择一个节点来启动容器(首先 它由于污染而失败,因为我的节点处于NotReady(未就绪)状态 目前很重要,但您可以阅读更多)

  • 调度程序已成功将pod分配给节点(centos主节点)

  • kubelet检查docker映像是否可用,如果可用,则将其拉入 必要的

  • 然后创建并启动容器

*你可以找到一篇有趣的文章,用更详细的方式解释这一点

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

基本上,
kubectl
命令行工具支持几种不同的方式来创建Kubernetes对象:

  • 命令命令
  • 命令式对象配置
  • 声明性对象配置
*你可以在这种或这种媒介中找到更多关于它们的信息

run
命令是命令式方法的一个例子。是最简单的启动方式

[…]因为这种技术直接作用于活动对象,所以 不提供以前配置的历史记录